This commit is contained in:
parent
f2fd5f396b
commit
ec110dca07
|
|
@ -2327,7 +2327,7 @@ namespace CodeCompletion
|
|||
ElementScope inst_param = null;
|
||||
if ((parameter.sc as TypeScope).IsGeneric)
|
||||
inst_param = new ElementScope(new SymInfo(parameter.si.name, parameter.si.kind, parameter.si.description), (parameter.sc as TypeScope).GetInstance(gen_args), parameter.topScope);
|
||||
else if (parameter.param_kind == parametr_kind.params_parametr && (parameter.sc as TypeScope).IsArray && (parameter.sc as TypeScope).GetElementType().IsGenericParameter && gen_args[i - 1].IsArray)
|
||||
else if (parameter.param_kind == parametr_kind.params_parametr && (parameter.sc as TypeScope).IsArray && (parameter.sc as TypeScope).GetElementType().IsGenericParameter && i - 1 < gen_args.Count && gen_args[i - 1].IsArray)
|
||||
{
|
||||
gen_args[i - 1] = gen_args[i - 1].GetElementType();
|
||||
inst_param = new ElementScope(new SymInfo(parameter.si.name, parameter.si.kind, parameter.si.description), (parameter.sc as TypeScope).GetInstance(gen_args), parameter.topScope);
|
||||
|
|
|
|||
17
TestSuite/intellisense_tests/generics26.pas
Normal file
17
TestSuite/intellisense_tests/generics26.pas
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
begin
|
||||
var x0{@var x0: array[,] of string;@} := Matr&<string>(1, 1, 'abc');
|
||||
|
||||
var x1{@var x1: sequence of string;@} := x0.ColSeq(0); // sequence of integer
|
||||
var x2{@var x2: sequence of string;@} := x0.RowSeq(0); // sequence of integer
|
||||
|
||||
var x3{@var x3: array of array of string;@} := x0.Cols(); // sequence of IEnumerable<char>
|
||||
var x4{@var x4: array of array of string;@} := x0.Rows(); // sequence of IEnumerable<char>
|
||||
|
||||
var x5{@var x5: sequence of string;@} := x0.ElementsByCol(); // sequence of string [правильно]
|
||||
var x6{@var x6: sequence of string;@} := x0.ElementsByRow(); // sequence of string [правильно]
|
||||
|
||||
var x8{@var x8: sequence of byte;@} := x0.OfType&<byte>();
|
||||
|
||||
var x9{@var x9: array[,] of string;@} := x0.Println();
|
||||
|
||||
end.
|
||||
Loading…
Reference in a new issue