From 41cbd93dd65bc6f4b371199a7b4c1dbe0d1e9114 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: Tue, 17 Oct 2017 20:54:20 +0200 Subject: [PATCH] intellisense: display default parameters in assembly methods --- CodeCompletion/SymTable.cs | 2 ++ ParserTools/ParserTools/DefaultLanguageInformation.cs | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/CodeCompletion/SymTable.cs b/CodeCompletion/SymTable.cs index 4afcfe7c7..a0b63badf 100644 --- a/CodeCompletion/SymTable.cs +++ b/CodeCompletion/SymTable.cs @@ -6585,6 +6585,8 @@ namespace CodeCompletion this.param_kind = parametr_kind.var_parametr; else if (is_params(pi)) this.param_kind = parametr_kind.params_parametr; + if (pi.IsOptional) + this.cnst_val = pi.DefaultValue; //MakeDescription(); } diff --git a/ParserTools/ParserTools/DefaultLanguageInformation.cs b/ParserTools/ParserTools/DefaultLanguageInformation.cs index 75d88ed90..7d4bdcea7 100644 --- a/ParserTools/ParserTools/DefaultLanguageInformation.cs +++ b/ParserTools/ParserTools/DefaultLanguageInformation.cs @@ -1658,12 +1658,15 @@ namespace PascalABCCompiler.Parsers if (!pis[i].ParameterType.IsByRef) { sb.Append(GetFullTypeName(pis[i].ParameterType)); + if (pis[i].IsOptional) + sb.Append(":=" + (pis[i].DefaultValue != null ? pis[i].DefaultValue.ToString() : "nil")); } else { Type t = pis[i].ParameterType.GetElementType(); sb.Append(GetFullTypeName(t)); } + if (i < pis.Length - 1) sb.Append("; "); } @@ -1806,6 +1809,8 @@ namespace PascalABCCompiler.Parsers sb.Append(GetShortTypeName(pis[i].ParameterType, false)); else sb.Append(inst_type); + if (pis[i].IsOptional) + sb.Append(":=" + (pis[i].DefaultValue != null ? pis[i].DefaultValue.ToString() : "nil")); } else {