bug fix #2200
This commit is contained in:
parent
47808b5197
commit
e799fd0d74
|
|
@ -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
16
TestSuite/generics32.pas
Normal 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.
|
||||
Loading…
Reference in a new issue