[fix] 修复当出现非常规字段名时生成的桥接函数代码文件有编译错误的bug
parent
3cea936aa4
commit
63d9e7f4c3
|
@ -357,11 +357,12 @@ namespace HybridCLR.Editor.MethodBridge
|
||||||
foreach (var field in ci.fields)
|
foreach (var field in ci.fields)
|
||||||
{
|
{
|
||||||
uint offset = field.field.FieldOffset.Value;
|
uint offset = field.field.FieldOffset.Value;
|
||||||
string fieldName = $"__{field.field.Name.Replace('<', '_').Replace('>', '_')}_{index}";
|
string fieldName = $"__{index}";
|
||||||
|
string commentFieldName = $"{field.field.Name}";
|
||||||
lines.Add("\t#pragma pack(push, 1)");
|
lines.Add("\t#pragma pack(push, 1)");
|
||||||
lines.Add($"\tstruct {{ {(offset > 0 ? $"char {fieldName}_offsetPadding[{offset}];" : "")} {field.type.GetTypeName()} {fieldName};}};");
|
lines.Add($"\tstruct {{ {(offset > 0 ? $"char {fieldName}_offsetPadding[{offset}];" : "")} {field.type.GetTypeName()} {fieldName};}}; // {commentFieldName}");
|
||||||
lines.Add($"\t#pragma pack(pop)");
|
lines.Add($"\t#pragma pack(pop)");
|
||||||
lines.Add($"\tstruct {{ {field.type.GetTypeName()} {fieldName}_forAlignmentOnly;}};");
|
lines.Add($"\tstruct {{ {field.type.GetTypeName()} {fieldName}_forAlignmentOnly;}}; // {commentFieldName}");
|
||||||
++index;
|
++index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -376,8 +377,9 @@ namespace HybridCLR.Editor.MethodBridge
|
||||||
int index = 0;
|
int index = 0;
|
||||||
foreach (var field in ci.fields)
|
foreach (var field in ci.fields)
|
||||||
{
|
{
|
||||||
string fieldName = $"__{field.field.Name.Replace('<', '_').Replace('>', '_')}_{index}";
|
string fieldName = $"__{index}";
|
||||||
lines.Add($"\t{field.type.GetTypeName()} {fieldName};");
|
string commentFieldName = $"{field.field.Name}";
|
||||||
|
lines.Add($"\t{field.type.GetTypeName()} {fieldName}; // {commentFieldName}");
|
||||||
++index;
|
++index;
|
||||||
}
|
}
|
||||||
if (classSize > 0)
|
if (classSize > 0)
|
||||||
|
|
Loading…
Reference in New Issue