From 93bffd1bf9d82d4185fa779dbfeaf460519d0807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D0=BD=D0=B4=D0=B0=D1=80=D0=B5=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD?= Date: Sun, 6 Sep 2015 12:42:34 +0200 Subject: [PATCH] =?UTF-8?q?Bug=20fix:=20=20var=20rs=20:=3D=20s.Copy;=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=B2=D1=8B=D0=B4=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=BF=D0=B8=D0=BB=D1=8F=D1=86=D0=B8=D0=B8=20Bug=20?= =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B0=20var?= =?UTF-8?q?=20rs=20:=3D=20s.Join;=20=D0=9E=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=B8=D0=BB=D1=8F=D1=86=D0=B8=D0=B8?= =?UTF-8?q?=20=D0=B2=D1=8B=D0=B4=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=BA?= =?UTF-8?q?=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TestSuite/errors/err0210.pas | 4 ++++ TreeConverter/TreeConversion/CompilationErrors.cs | 5 ++++- TreeConverter/TreeConversion/syntax_tree_visitor.cs | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 TestSuite/errors/err0210.pas 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; }