bug fix #1891
This commit is contained in:
parent
8438ed5fc0
commit
ead24aa00c
|
|
@ -2180,7 +2180,11 @@ namespace PascalABCCompiler.PCU
|
||||||
{
|
{
|
||||||
bw.Write(cur_cnn.non_template_types.Count);
|
bw.Write(cur_cnn.non_template_types.Count);
|
||||||
for (int i=0; i<cur_cnn.non_template_types.Count; i++)
|
for (int i=0; i<cur_cnn.non_template_types.Count; i++)
|
||||||
|
if (cur_cnn.non_template_types[i].type_special_kind != SemanticTree.type_special_kind.array_wrapper)
|
||||||
VisitTypeDefinition(cur_cnn.non_template_types[i]);
|
VisitTypeDefinition(cur_cnn.non_template_types[i]);
|
||||||
|
for (int i = 0; i < cur_cnn.non_template_types.Count; i++)
|
||||||
|
if (cur_cnn.non_template_types[i].type_special_kind == SemanticTree.type_special_kind.array_wrapper)
|
||||||
|
VisitTypeDefinition(cur_cnn.non_template_types[i]);
|
||||||
bw.Write(cur_cnn.runtime_types.Count);
|
bw.Write(cur_cnn.runtime_types.Count);
|
||||||
for (int i=0; i<cur_cnn.runtime_types.Count; i++)
|
for (int i=0; i<cur_cnn.runtime_types.Count; i++)
|
||||||
VisitCompiledTypeDefinition(cur_cnn.runtime_types[i]);
|
VisitCompiledTypeDefinition(cur_cnn.runtime_types[i]);
|
||||||
|
|
|
||||||
25
TestSuite/CompilationSamples/u.pas
Normal file
25
TestSuite/CompilationSamples/u.pas
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
unit u;
|
||||||
|
|
||||||
|
type
|
||||||
|
e1 = (
|
||||||
|
|
||||||
|
ef1,
|
||||||
|
ef2
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
t2 = class;
|
||||||
|
tarr = array[e1] of t2;
|
||||||
|
t2 = class
|
||||||
|
end;
|
||||||
|
|
||||||
|
t1 = class
|
||||||
|
|
||||||
|
a: array[e1] of t1;//обязательно тип элементов t1
|
||||||
|
procedure test(t: tarr);
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
Loading…
Reference in a new issue