From 2fce3fcd34d84c5d36f6e81d6e55895f424c4d7d Mon Sep 17 00:00:00 2001 From: Ivan Bondarev Date: Thu, 31 Dec 2020 12:34:12 +0100 Subject: [PATCH] fix pascalabcnet/pascalabcnetide#199 --- .../ParserTools/DefaultLanguageInformation.cs | 13 +++++++++++-- TestSuite/intellisense_tests/property6.pas | 12 ++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 TestSuite/intellisense_tests/property6.pas diff --git a/ParserTools/ParserTools/DefaultLanguageInformation.cs b/ParserTools/ParserTools/DefaultLanguageInformation.cs index 78b429f0c..5ebc6ca42 100644 --- a/ParserTools/ParserTools/DefaultLanguageInformation.cs +++ b/ParserTools/ParserTools/DefaultLanguageInformation.cs @@ -1628,8 +1628,17 @@ namespace PascalABCCompiler.Parsers Type t = (scope.Type as ICompiledTypeScope).CompiledType; inst_type = get_type_instance(t,scope.GenericArgs); } - sb.Append("property "+ GetShortTypeName(scope.CompiledProperty.DeclaringType) +"."+ scope.CompiledProperty.Name + get_indexer_for_prop(scope)+ ": "+(inst_type != null?inst_type:GetSimpleDescription(scope.Type))); - if (acc != null) + sb.Append("property "+ GetShortTypeName(scope.CompiledProperty.DeclaringType) +"."+ scope.CompiledProperty.Name + get_indexer_for_prop(scope)); + if (inst_type == null) + { + if (scope.Type is ICompiledTypeScope) + sb.Append(": " + GetFullTypeName((scope.Type as ICompiledTypeScope).CompiledType, false)); + else + sb.Append(": " + GetSimpleDescription(scope.Type)); + } + else + sb.Append(": " + inst_type); + if (acc != null) //if (acc.IsStatic) sb.Append("; static"); if (acc.IsVirtual) sb.Append("; virtual"); else if (acc.IsAbstract) sb.Append("; abstract"); diff --git a/TestSuite/intellisense_tests/property6.pas b/TestSuite/intellisense_tests/property6.pas new file mode 100644 index 000000000..9d54a82ef --- /dev/null +++ b/TestSuite/intellisense_tests/property6.pas @@ -0,0 +1,12 @@ +uses System.Windows.Media.Animation; + +{$reference PresentationFramework.dll} +{$reference PresentationCore.dll} +{$reference WindowsBase.dll} + +{$apptype windows} + +begin + var ac: AnimationClock; + ac.CurrentTime{@property Clock.CurrentTime: System.Nullable; readonly;@}; +end. \ No newline at end of file