Skip to content

Commit 5bb2b97

Browse files
committed
Simple fix for getting field offsets for unstripped constants
1 parent 11e28d3 commit 5bb2b97

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

Il2CppInterop.Generator/InitializationClassProcessingLayer.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,9 @@ public override void Process(ApplicationAnalysisContext appContext, Action<int,
206206
if (field.IsInjected)
207207
continue;
208208

209+
if (field.IsUnstripped && !type.IsUnstripped)
210+
continue;
211+
209212
field.InitializationClassIndex = index;
210213

211214
var infoStore = initializationType.InjectFieldContext(

Il2CppInterop.Generator/UnstripBaseProcessingLayer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ protected static void InjectAssemblies(ApplicationAnalysisContext appContext, IR
190190
if (typeContext.Fields.Any(f => f.Name == field.Name))
191191
continue; // Already present
192192

193-
if (field.Constant is null)
193+
if (field.Constant?.InterpretData() is null)
194194
continue; // Skip fields without a constant value
195195

196196
TryInjectField(field, typeContext, runtimeContext);

0 commit comments

Comments
 (0)