# HG changeset patch # User Christian Brabandt # Date 1696613409 -7200 # Node ID 33593174288bb09e941d4c352d85bef0aed062d9 # Parent f7ca0c593f044a7f36cf1d67c395d228c4d70501 runtime(doc): Update vim9class help (#13292) Commit: https://github.com/vim/vim/commit/26e8f7b0ab451e76319d113038c86c79488bbbc4 Author: Yegappan Lakshmanan <4298407+yegappan@users.noreply.github.com> Date: Fri Oct 6 10:24:10 2023 -0700 runtime(doc): Update vim9class help (https://github.com/vim/vim/issues/13292) Signed-off-by: Christian Brabandt diff --git a/runtime/doc/vim9class.txt b/runtime/doc/vim9class.txt --- a/runtime/doc/vim9class.txt +++ b/runtime/doc/vim9class.txt @@ -413,7 +413,9 @@ prefix when defining the method: > *E1373* A class extending the abstract class must implement all the abstract methods. The signature (arguments, argument types and return type) must be exactly the -same. Class methods in an abstract class can also be abstract methods. +same. If the return type of a method is a class, then that class or one of +its subclasses can be used in the extended method. Class methods in an +abstract class can also be abstract methods. ============================================================================== @@ -548,8 +550,10 @@ is not possible to override them (unlike *E1356* *E1357* *E1358* Object methods of the base class can be overruled. The signature (arguments, -argument types and return type) must be exactly the same. The method of the -base class can be called by prefixing "super.". +argument types and return type) must be exactly the same. If the return type +of a method is a class, then that class or one of its subclasses can be used +in the extended method. The method of the base class can be called by +prefixing "super.". *E1377* The access level of a method (public or private) in a child class should be @@ -738,17 +742,19 @@ constructor methods. 7. Type definition *Vim9-type* *:type* +{not implemented yet} + A type definition is giving a name to a type specification. For Example: > :type ListOfStrings list -TODO: more explanation - ============================================================================== 8. Enum *Vim9-enum* *:enum* *:endenum* +{not implemented yet} + An enum is a type that can have one of a list of values. Example: > :enum Color @@ -759,8 +765,6 @@ An enum is a type that can have one of a Black :endenum -TODO: more explanation - ==============================================================================