[fix] 修复计算struct等价性时,将struct平铺展开计算等价,在某些平台并不适用的bug。例如 struct A { uint8_t x; A2 y; } struct A2 { uint8_t x; int32_t y;}; 跟 struct B {uint8_t x; uint8_t y; int32_t z;} 在x86_64 abi下并不等价
parent
6d0ceaa4f5
commit
ec5f2ef05e
|
@ -288,7 +288,7 @@ namespace HybridCLR.Editor.MethodBridge
|
|||
var sigBuf = new StringBuilder();
|
||||
foreach (var field in ati.fields)
|
||||
{
|
||||
sigBuf.Append(GetOrCalculateTypeInfoSignature(ToIsomorphicType(field)));
|
||||
sigBuf.Append("{" + GetOrCalculateTypeInfoSignature(ToIsomorphicType(field)) + "}");
|
||||
}
|
||||
return ati.signature = sigBuf.ToString();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue