changeset 34008:9fc35ba5feb7

runtime(doc): add some error codes to `:help vim9class` (#13747) Commit: https://github.com/vim/vim/commit/1d4fcfe5515dbef15919dff6f2032a2ffaa9220f Author: errael <errael@raelity.com> Date: Thu Dec 21 08:34:15 2023 -0800 runtime(doc): add some error codes to `:help vim9class` (https://github.com/vim/vim/issues/13747) Signed-off-by: Ernie Rael <errael@raelity.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 21 Dec 2023 17:45:03 +0100
parents bcc7d4e2de7c
children 9fa32969cf0e
files runtime/doc/tags runtime/doc/vim9class.txt
diffstat 2 files changed, 20 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4504,11 +4504,14 @@ E1400	vim9class.txt	/*E1400*
 E1401	vim9class.txt	/*E1401*
 E1402	vim9class.txt	/*E1402*
 E1403	vim9class.txt	/*E1403*
+E1405	vim9class.txt	/*E1405*
+E1406	vim9class.txt	/*E1406*
 E1407	vim9class.txt	/*E1407*
 E1408	vim9class.txt	/*E1408*
 E1409	vim9class.txt	/*E1409*
 E141	message.txt	/*E141*
 E1410	vim9class.txt	/*E1410*
+E1411	vim9class.txt	/*E1411*
 E142	message.txt	/*E142*
 E143	autocmd.txt	/*E143*
 E144	various.txt	/*E144*
--- a/runtime/doc/vim9class.txt
+++ b/runtime/doc/vim9class.txt
@@ -103,17 +103,27 @@ below for how to do this more efficientl
 You can create an object from this class with the new() method: >
 
 	var pos = TextPosition.new(1, 1)
-
+<
 The object variables "lnum" and "col" can be accessed directly: >
 
 	echo $'The text position is ({pos.lnum}, {pos.col})'
 <							*E1317* *E1327*
-If you have been using other object-oriented languages you will notice that
-in Vim the object members are consistently referred to with the "this."
-prefix.  This is different from languages like Java and TypeScript.  The
-naming convention makes the object members easy to spot.  Also, when a
-variable does not have the "this." prefix you know it is not an object
-variable.
+If you have been using other object-oriented languages you will notice that in
+Vim, within a class definition, the object members are consistently referred
+to with the "this." prefix.  This is different from languages like Java and
+TypeScript.  The naming convention makes the object members easy to spot.
+Also, when a variable does not have the "this." prefix you know it is not an
+object variable.
+								*E1411*
+From outside the class definition, access an object's methods and variables by
+using the object name followed by a dot following by the member: >
+
+	pos.lnum
+	pos.setCol(10)
+<
+							*E1405* *E1406*
+A class name cannot be used as an expression.  A class name cannot be used in
+the left-hand-side of an assignment.
 
 
 Object variable write access ~