From bcad25bd01b8243ba7b5a4e3b6211679aa7abdaf Mon Sep 17 00:00:00 2001 From: Kotov <44296606+AIexandrKotov@users.noreply.github.com> Date: Sun, 15 Sep 2019 14:58:11 +0500 Subject: [PATCH] Update DefaultLanguageInformation.cs --- .../ParserTools/DefaultLanguageInformation.cs | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/ParserTools/ParserTools/DefaultLanguageInformation.cs b/ParserTools/ParserTools/DefaultLanguageInformation.cs index 35334467f..3f9da11be 100644 --- a/ParserTools/ParserTools/DefaultLanguageInformation.cs +++ b/ParserTools/ParserTools/DefaultLanguageInformation.cs @@ -483,7 +483,12 @@ namespace PascalABCCompiler.Parsers sb.Append('>'); return sb.ToString(); } - if (ctn.IsArray) return "array of " + GetFullTypeName(ctn.GetElementType()); + if (ctn.IsArray) + { + var rank = ctn.GetArrayRank(); + var strrank = rank > 1 ? "[" + new string(',', rank - 1) + "]" : ""; + return $"array{strrank}" + " of " + GetFullTypeName(ctn.GetElementType()); + } if (ctn == Type.GetType("System.Void*")) return "pointer"; if (ctn.IsNested) return ctn.Name; @@ -969,10 +974,15 @@ namespace PascalABCCompiler.Parsers } sb.Append('>');*/ return sb.ToString(); - } - if (ctn.IsArray) return "array of "+GetShortTypeName(ctn.GetElementType()); - //if (ctn == Type.GetType("System.Void*")) return PascalABCCompiler.TreeConverter.compiler_string_consts.pointer_type_name; - return ctn.Name; + } + if (ctn.IsArray) + { + var rank = ctn.GetArrayRank(); + var strrank = rank > 1 ? "[" + new string(',', rank - 1) + "]" : ""; + return $"array{strrank}" + " of " + GetFullTypeName(ctn.GetElementType()); + } + //if (ctn == Type.GetType("System.Void*")) return PascalABCCompiler.TreeConverter.compiler_string_consts.pointer_type_name; + return ctn.Name; } protected virtual string GetTopScopeName(IBaseScope sc)