From 50338b6f4cd12c91ebc2615d4bea1e071a19298c 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, 2 Oct 2018 20:19:12 +0200 Subject: [PATCH] fix #1247 --- TreeConverter/TreeConversion/syntax_tree_visitor.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index c2f741730..5c4a45dd7 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -10701,7 +10701,11 @@ namespace PascalABCCompiler.TreeConverter class_definition cl_def = td.type_def as class_definition; if (cl_def.body == null) AddError(get_location(cl_def), "TYPE_PREDEFINITION_NOT_ALLOWED"); - common_type_node ctn = context.advanced_create_type(td.type_name.name, get_location(td.type_name), (td.type_def as class_definition).keyword == class_keyword.Interface, false); + common_type_node ctn = null; + if (td.type_name is template_type_name) + ctn = context.advanced_create_type(td.type_name.name+"`"+(td.type_name as template_type_name).template_args.Count, get_location(td.type_name), (td.type_def as class_definition).keyword == class_keyword.Interface, false); + else + ctn = context.advanced_create_type(td.type_name.name, get_location(td.type_name), (td.type_def as class_definition).keyword == class_keyword.Interface, false); ctn.ForwardDeclarationOnly = true; if ((td.type_def as class_definition).keyword == class_keyword.Interface) ctn.IsInterface = true;