This commit is contained in:
parent
4f0b0f8ba0
commit
b9fd59a840
|
|
@ -1755,7 +1755,18 @@ namespace PascalABCCompiler.NETGenerator
|
||||||
private void AddTypeWithoutConvert(ICommonTypeNode t)
|
private void AddTypeWithoutConvert(ICommonTypeNode t)
|
||||||
{
|
{
|
||||||
if (helper.GetTypeReference(t) != null) return;
|
if (helper.GetTypeReference(t) != null) return;
|
||||||
TypeBuilder tb = mb.DefineType(BuildTypeName(t.name), ConvertAttributes(t), t.is_value_type?TypeFactory.ValueType:null, new Type[0]);
|
TypeBuilder tb = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
tb = mb.DefineType(BuildTypeName(t.name), ConvertAttributes(t), t.is_value_type ? TypeFactory.ValueType : null, new Type[0]);
|
||||||
|
}
|
||||||
|
catch (ArgumentException ex)
|
||||||
|
{
|
||||||
|
if (ex.Message.IndexOf("fullname") != -1)
|
||||||
|
throw new PascalABCCompiler.Errors.CommonCompilerError(ex.Message.Replace("System.ArgumentException: ", ""), t.Location.document.file_name, t.Location.begin_line_num, t.Location.begin_column_num);
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
|
||||||
helper.AddType(t, tb);
|
helper.AddType(t, tb);
|
||||||
//(ssyy) обрабатываем generics
|
//(ssyy) обрабатываем generics
|
||||||
if (t.is_generic_type_definition)
|
if (t.is_generic_type_definition)
|
||||||
|
|
|
||||||
6
TestSuite/errors/err0542.pas
Normal file
6
TestSuite/errors/err0542.pas
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
type
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = class end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
System.Reflection.Assembly.GetEntryAssembly.GetTypes.Single(t->t.Name.StartsWith('a'*50)).FullName.Println.Length.Print;
|
||||||
|
end.
|
||||||
Loading…
Reference in a new issue