This commit is contained in:
Бондарев Иван 2020-02-04 21:00:07 +01:00
parent 47808b5197
commit e799fd0d74
2 changed files with 18 additions and 2 deletions

View file

@ -7121,7 +7121,7 @@ namespace PascalABCCompiler.NETGenerator
if (!tmp_dot)
is_dot_expr = true;
value.obj.visit(this);
if ((value.obj.type.is_value_type) && !value.method.common_comprehensive_type.is_value_type)
if ((value.obj.type.is_value_type) && !value.method.comperehensive_type.is_value_type)
{
il.Emit(OpCodes.Box, helper.GetTypeReference(value.obj.type).tp);
}
@ -7131,7 +7131,7 @@ namespace PascalABCCompiler.NETGenerator
il.Emit(OpCodes.Stloc, lb);
il.Emit(OpCodes.Ldloca, lb);
}
else if (value.obj.conversion_type != null && value.obj.conversion_type.is_value_type && !value.method.common_comprehensive_type.is_value_type)
else if (value.obj.conversion_type != null && value.obj.conversion_type.is_value_type && !value.method.comperehensive_type.is_value_type)
{
il.Emit(OpCodes.Box, helper.GetTypeReference(value.obj.conversion_type).tp);
}

16
TestSuite/generics32.pas Normal file
View file

@ -0,0 +1,16 @@
var i: integer;
type
r1 = record
procedure p1<T>;
begin
i := 1;
end;
end;
begin
var r: r1;
r.p1&<byte>;
assert(i = 1);
end.