This commit is contained in:
Ivan Bondarev 2022-10-30 12:22:57 +01:00
parent 930c1a6074
commit f4689e58d0

View file

@ -474,12 +474,16 @@ namespace PascalABCCompiler.Parsers
else if (ctn.Name.Contains("Tuple`"))
return get_tuple_string(ctn);
}
if (ctn.Name.Contains("`"))
int gen_pos = ctn.Name.IndexOf("`");
if (gen_pos != -1 || ctn.IsGenericType)
{
int len = ctn.GetGenericArguments().Length;
Type[] gen_ps = ctn.GetGenericArguments();
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(ctn.Namespace + "." + ctn.Name.Substring(0, ctn.Name.IndexOf('`')));
if (gen_pos != -1)
sb.Append(ctn.Namespace + "." + ctn.Name.Substring(0, gen_pos));
else
sb.Append(ctn.Namespace + "." + ctn.Name);
sb.Append('<');
for (int i = 0; i < len; i++)
{
@ -619,10 +623,14 @@ namespace PascalABCCompiler.Parsers
line = get_line_nr(sb);
col = 1;
}
sb.Append(" ");
int ind = t.Name.IndexOf('`');
if (ind != -1)
if (ind != -1 || t.IsGenericType)
{
if (ind != -1)
sb.Append(prepare_member_name(t.Name.Substring(0, ind)));
else
sb.Append(t.Name);
sb.Append('<');
Type[] gen_args = t.GetGenericArguments();
for (int i = 0; i < gen_args.Length; i++)
@ -764,7 +772,7 @@ namespace PascalABCCompiler.Parsers
col = 3;
}
sb.Append(" ");
sb.Append(GetDescriptionForCompiledProperty(props[i]));
sb.Append(GetDescriptionForCompiledProperty(props[i]).Replace("; readonly"," read"));
sb.AppendLine(); ln++;
sb.AppendLine(); ln++;
}