diff --git a/TestSuite/errors/err0210.pas b/TestSuite/errors/err0210.pas new file mode 100644 index 000000000..fe6b448da --- /dev/null +++ b/TestSuite/errors/err0210.pas @@ -0,0 +1,4 @@ +begin + var s: string; + var rs := s.Copy; +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/CompilationErrors.cs b/TreeConverter/TreeConversion/CompilationErrors.cs index 0d61bb475..08c0881c6 100644 --- a/TreeConverter/TreeConversion/CompilationErrors.cs +++ b/TreeConverter/TreeConversion/CompilationErrors.cs @@ -142,7 +142,10 @@ namespace PascalABCCompiler.TreeConverter } public override string ToString() { - return string.Format(StringResources.Get(ErrResourceString), values); + if (values != null) + return string.Format(StringResources.Get(ErrResourceString), values); + else + return string.Format(StringResources.Get(ErrResourceString), ""); } } diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 9b57237e7..ab290c07b 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -1542,7 +1542,8 @@ namespace PascalABCCompiler.TreeConverter } if (convertion_data_and_alghoritms.find_eq_method_in_list(fn, fnl) == null) { - fnl.AddElement(fn); + if (!(obj != null && fn.polymorphic_state == SemanticTree.polymorphic_state.ps_static && !fn.is_extension_method)) + fnl.AddElement(fn); } si = si.Next; }