]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.2055: Vim9: non-consistent error messages v9.0.2055
authorErnie Rael <errael@raelity.com>
Fri, 20 Oct 2023 09:59:00 +0000 (11:59 +0200)
committerChristian Brabandt <cb@256bit.org>
Fri, 20 Oct 2023 09:59:00 +0000 (11:59 +0200)
Problem:  Vim9: non-consistent error messages
Solution: make error messages more consistent with common structure

Adjust vim9class messages to follow common pattern.
[Variable|Method] "var-or-meth-name" ... class "class-name"

closes: #13391

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
src/errors.h
src/testdir/test_vim9_class.vim
src/version.c
src/vim9class.c

index 7b1181ae94feb223b9819cc858e5b1c9b1ea1730..79a785e1e2953c9c9a436970e53e117ed2e8e5cf 100644 (file)
@@ -3396,9 +3396,9 @@ EXTERN char e_using_class_as_string[]
 EXTERN char e_using_object_as_string[]
        INIT(= N_("E1324: Using an object as a String"));
 EXTERN char e_method_not_found_on_class_str_str[]
-       INIT(= N_("E1325: Method not found on class \"%s\": %s"));
+       INIT(= N_("E1325: Method \"%s\" not found in class \"%s\""));
 EXTERN char e_variable_not_found_on_object_str_str[]
-       INIT(= N_("E1326: Variable not found on object \"%s\": %s"));
+       INIT(= N_("E1326: Variable \"%s\" not found in object \"%s\""));
 EXTERN char e_object_required_found_str[]
        INIT(= N_("E1327: Object required, found %s"));
 EXTERN char e_constructor_default_value_must_be_vnone_str[]
index e61349aed958b46617cac77050ccca2beda91a30..59d5c9316db1992e61c9c4b197a3aabc8cae7299 100644 (file)
@@ -132,7 +132,7 @@ def Test_class_basic()
     endclass
     var obj = Something.new()
   END
-  v9.CheckSourceFailure(lines, 'E1326: Variable not found on object "Something": state', 1)
+  v9.CheckSourceFailure(lines, 'E1326: Variable "state" not found in object "Something"', 1)
 
   # Space before ":" in a member variable declaration
   lines =<< trim END
@@ -648,7 +648,7 @@ def Test_member_any_used_as_object()
     var outer_obj = Outer.new(inner_obj)
     F(outer_obj)
   END
-  v9.CheckSourceFailure(lines, 'E1326: Variable not found on object "Inner": someval', 1)
+  v9.CheckSourceFailure(lines, 'E1326: Variable "someval" not found in object "Inner"', 1)
 enddef
 
 " Nested assignment to a object variable which is of another class type
@@ -1092,7 +1092,7 @@ def Test_instance_variable_access()
     trip.three = 33
     assert_equal(33, trip.three)
 
-    assert_fails('trip.four = 4', 'E1326: Variable not found on object "Triple": four')
+    assert_fails('trip.four = 4', 'E1326: Variable "four" not found in object "Triple"')
   END
   v9.CheckSourceSuccess(lines)
 
@@ -1743,7 +1743,7 @@ def Test_class_member()
     var a = A.new()
     var v = a.bar
   END
-  v9.CheckSourceFailure(lines, 'E1326: Variable not found on object "A": bar', 5)
+  v9.CheckSourceFailure(lines, 'E1326: Variable "bar" not found in object "A"', 5)
 enddef
 
 " These messages should show the defining class of the variable (base class),
@@ -2080,7 +2080,7 @@ def Test_class_defcompile()
     var a = A.new()
     defcompile a.Foo()
   END
-  v9.CheckSourceFailureList(lines, ['E1326: Variable not found on object "A": Foo', 'E475: Invalid argument: a.Foo()'])
+  v9.CheckSourceFailureList(lines, ['E1326: Variable "Foo" not found in object "A"', 'E475: Invalid argument: a.Foo()'])
 enddef
 
 def Test_class_object_to_string()
@@ -3055,7 +3055,7 @@ def Test_abstract_class()
     endclass
     var p = Base.new('Peter')
   END
-  v9.CheckSourceFailure(lines, 'E1325: Method not found on class "Base": new', 8)
+  v9.CheckSourceFailure(lines, 'E1325: Method "new" not found in class "Base"', 8)
 
   lines =<< trim END
     abstract class Base
@@ -4478,7 +4478,7 @@ def Test_lockvar_islocked_notfound()
     var obj = C.new()
     obj.Islocked("this.notobjmember")
   END
-  v9.CheckSourceFailure(lines, 'E1326: Variable not found on object "C": notobjmember')
+  v9.CheckSourceFailure(lines, 'E1326: Variable "notobjmember" not found in object "C"')
 
   # access a script variable through methods
   lines =<< trim END
@@ -4938,7 +4938,7 @@ def Test_private_class_method()
     var c = C.new()
     assert_equal(1234, C._Foo())
   END
-  v9.CheckSourceFailure(lines, 'E1325: Method not found on class "C": _Foo', 16)
+  v9.CheckSourceFailure(lines, 'E1325: Method "_Foo" not found in class "C"', 16)
 enddef
 
 " Test for using the return value of a class/object method as a function
@@ -5227,7 +5227,7 @@ def Test_private_member_access_outside_class()
     enddef
     T()
   END
-  v9.CheckSourceFailure(lines, 'E1326: Variable not found on object "A": _a', 2)
+  v9.CheckSourceFailure(lines, 'E1326: Variable "_a" not found in object "A"', 2)
 
   # private static member variable
   lines =<< trim END
index 6616d077169894679aeb447eabcb68916cf13f9a..4bdf57024864b804279769776f726627810ee650 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2055,
 /**/
     2054,
 /**/
index a93cb29a0caaa0a1f590caf70761c8f67041849f..b3930b1d6a1e60f8142304d7446b4f428479dcaa 100644 (file)
@@ -2974,8 +2974,8 @@ method_not_found_msg(class_T *cl, vartype_T v_type, char_u *name, size_t len)
                    method_name, cl->class_name);
     }
     else
-       semsg(_(e_method_not_found_on_class_str_str), cl->class_name,
-               method_name);
+       semsg(_(e_method_not_found_on_class_str_str), method_name,
+               cl->class_name);
     vim_free(method_name);
 }
 
@@ -2993,8 +2993,8 @@ member_not_found_msg(class_T *cl, vartype_T v_type, char_u *name, size_t len)
            semsg(_(e_class_variable_str_accessible_only_using_class_str),
                    varname, cl->class_name);
        else
-           semsg(_(e_variable_not_found_on_object_str_str), cl->class_name,
-                   varname);
+           semsg(_(e_variable_not_found_on_object_str_str), varname,
+                   cl->class_name);
     }
     else
     {