This commit is contained in:
Бондарев Иван 2019-03-27 21:08:37 +01:00
parent 8438ed5fc0
commit ead24aa00c
2 changed files with 29 additions and 0 deletions

View file

@ -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]);

View 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.