From 9ec5782f4ce4f4f3d603b9ffabbde751f4443176 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: Thu, 12 Apr 2018 20:41:19 +0200 Subject: [PATCH] bug fix #765 --- CodeCompletion/SymTable.cs | 2 +- TestSuite/intellisense_tests/generics5.pas | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 TestSuite/intellisense_tests/generics5.pas diff --git a/CodeCompletion/SymTable.cs b/CodeCompletion/SymTable.cs index 3571cdb09..b8505773b 100644 --- a/CodeCompletion/SymTable.cs +++ b/CodeCompletion/SymTable.cs @@ -5080,7 +5080,7 @@ namespace CodeCompletion } else { - if (this.instances[i].instances != null && this.instances[i].instances.Count > 0 && gen_args[i].elementType != null) + if (this.instances[i].instances != null && this.instances[i].instances.Count > 0 && i < gen_args.Count && gen_args[i].elementType != null) { List lst = new List(); lst.Add(gen_args[i].elementType); diff --git a/TestSuite/intellisense_tests/generics5.pas b/TestSuite/intellisense_tests/generics5.pas new file mode 100644 index 000000000..5a249e16b --- /dev/null +++ b/TestSuite/intellisense_tests/generics5.pas @@ -0,0 +1,11 @@ +function f1(self: sequence of T): (sequence of byte, sequence of word); +begin + Result := ( + Seq(byte(0)), + Seq(word(0)) + ); +end; + +begin + var a{@var a: (IEnumerable,IEnumerable);@} := f1(Seq(0)); +end. \ No newline at end of file