patch 9.0.1822: Vim9: no check for duplicate members in extended classes

Problem:  Vim9: no check for duplicate members in extended classes
Solution: Check for duplicate members in extended classes.
          Fix memory leak.

closes: #12948

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
diff --git a/src/vim9expr.c b/src/vim9expr.c
index 1b23b7f..bfbb369 100644
--- a/src/vim9expr.c
+++ b/src/vim9expr.c
@@ -372,7 +372,7 @@
 	    return FAIL;
 	}
 
-	if (ufunc->uf_private && !inside_class_hierarchy(cctx, cl))
+	if (*ufunc->uf_name == '_' && !inside_class_hierarchy(cctx, cl))
 	{
 	    semsg(_(e_cannot_access_private_method_str), name);
 	    return FAIL;