Skip to content

Commit da46e71

Browse files
committed
[fix] fix bug of GenericArgumentContext that inflate ByRef and SZArray to Ptr.
1 parent 804418f commit da46e71

1 file changed

Lines changed: 6 additions & 10 deletions

File tree

Editor/Meta/GenericArgumentContext.cs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ public TypeSig Resolve(TypeSig typeSig)
2929
switch (typeSig.ElementType)
3030
{
3131
case ElementType.Ptr: return new PtrSig(Resolve(typeSig.Next));
32-
case ElementType.ByRef: return new PtrSig(Resolve(typeSig.Next));
32+
case ElementType.ByRef: return new ByRefSig(Resolve(typeSig.Next));
3333

34-
case ElementType.SZArray: return new PtrSig(Resolve(typeSig.Next));
34+
case ElementType.SZArray: return new SZArraySig(Resolve(typeSig.Next));
3535
case ElementType.Array:
3636
{
3737
var ara = (ArraySig)typeSig;
@@ -41,7 +41,7 @@ public TypeSig Resolve(TypeSig typeSig)
4141
case ElementType.Var:
4242
{
4343
GenericVar genericVar = (GenericVar)typeSig;
44-
var newSig = Resolve(typeArgsStack, genericVar.Number, true);
44+
var newSig = Resolve(typeArgsStack, genericVar.Number);
4545
if (newSig == null)
4646
{
4747
throw new Exception();
@@ -52,7 +52,7 @@ public TypeSig Resolve(TypeSig typeSig)
5252
case ElementType.MVar:
5353
{
5454
GenericMVar genericVar = (GenericMVar)typeSig;
55-
var newSig = Resolve(methodArgsStack, genericVar.Number, true);
55+
var newSig = Resolve(methodArgsStack, genericVar.Number);
5656
if (newSig == null)
5757
{
5858
throw new Exception();
@@ -101,13 +101,9 @@ public TypeSig Resolve(TypeSig typeSig)
101101
}
102102
}
103103

104-
private TypeSig Resolve(List<TypeSig> args, uint number, bool isTypeVar)
104+
private TypeSig Resolve(List<TypeSig> args, uint number)
105105
{
106-
var typeSig = args[(int)number];
107-
var gvar = typeSig as GenericSig;
108-
if (gvar is null || gvar.IsTypeVar != isTypeVar)
109-
return typeSig;
110-
return gvar;
106+
return args[(int)number];
111107
}
112108
}
113109

0 commit comments

Comments
 (0)