@@ -261,50 +261,53 @@ public void WriteScript(string outputDir)
261
261
if (metadataValue == ((usage << 29) | (decodedIndex << 1)) + 1)
262
262
{
263
263
var va = il2Cpp.MapRTVA(addr);
264
- switch ((Il2CppMetadataUsage)usage )
264
+ if (va > 0 )
265
265
{
266
- case Il2CppMetadataUsage.kIl2CppMetadataUsageInvalid:
267
- break;
268
- case Il2CppMetadataUsage.kIl2CppMetadataUsageTypeInfo:
269
- if (decodedIndex < il2Cpp.types.Length)
270
- {
271
- AddMetadataUsageTypeInfo(json, decodedIndex, va);
272
- }
273
- break;
274
- case Il2CppMetadataUsage.kIl2CppMetadataUsageIl2CppType:
275
- if (decodedIndex < il2Cpp.types.Length)
276
- {
277
- AddMetadataUsageIl2CppType(json, decodedIndex, va);
278
- }
279
- break;
280
- case Il2CppMetadataUsage.kIl2CppMetadataUsageMethodDef:
281
- if (decodedIndex < metadata.methodDefs.Length)
282
- {
283
- AddMetadataUsageMethodDef(json, decodedIndex, va);
284
- }
285
- break;
286
- case Il2CppMetadataUsage.kIl2CppMetadataUsageFieldInfo:
287
- if (decodedIndex < metadata.fieldRefs.Length)
288
- {
289
- AddMetadataUsageFieldInfo(json, decodedIndex, va);
290
- }
291
- break;
292
- case Il2CppMetadataUsage.kIl2CppMetadataUsageStringLiteral:
293
- if (decodedIndex < metadata.stringLiterals.Length)
294
- {
295
- AddMetadataUsageStringLiteral(json, decodedIndex, va);
296
- }
297
- break;
298
- case Il2CppMetadataUsage.kIl2CppMetadataUsageMethodRef:
299
- if (decodedIndex < il2Cpp.methodSpecs.Length)
300
- {
301
- AddMetadataUsageMethodRef(json, decodedIndex, va);
302
- }
303
- break;
304
- }
305
- if (il2Cpp.Position != position)
306
- {
307
- il2Cpp.Position = position;
266
+ switch ((Il2CppMetadataUsage)usage)
267
+ {
268
+ case Il2CppMetadataUsage.kIl2CppMetadataUsageInvalid:
269
+ break;
270
+ case Il2CppMetadataUsage.kIl2CppMetadataUsageTypeInfo:
271
+ if (decodedIndex < il2Cpp.types.Length)
272
+ {
273
+ AddMetadataUsageTypeInfo(json, decodedIndex, va);
274
+ }
275
+ break;
276
+ case Il2CppMetadataUsage.kIl2CppMetadataUsageIl2CppType:
277
+ if (decodedIndex < il2Cpp.types.Length)
278
+ {
279
+ AddMetadataUsageIl2CppType(json, decodedIndex, va);
280
+ }
281
+ break;
282
+ case Il2CppMetadataUsage.kIl2CppMetadataUsageMethodDef:
283
+ if (decodedIndex < metadata.methodDefs.Length)
284
+ {
285
+ AddMetadataUsageMethodDef(json, decodedIndex, va);
286
+ }
287
+ break;
288
+ case Il2CppMetadataUsage.kIl2CppMetadataUsageFieldInfo:
289
+ if (decodedIndex < metadata.fieldRefs.Length)
290
+ {
291
+ AddMetadataUsageFieldInfo(json, decodedIndex, va);
292
+ }
293
+ break;
294
+ case Il2CppMetadataUsage.kIl2CppMetadataUsageStringLiteral:
295
+ if (decodedIndex < metadata.stringLiterals.Length)
296
+ {
297
+ AddMetadataUsageStringLiteral(json, decodedIndex, va);
298
+ }
299
+ break;
300
+ case Il2CppMetadataUsage.kIl2CppMetadataUsageMethodRef:
301
+ if (decodedIndex < il2Cpp.methodSpecs.Length)
302
+ {
303
+ AddMetadataUsageMethodRef(json, decodedIndex, va);
304
+ }
305
+ break;
306
+ }
307
+ if (il2Cpp.Position != position)
308
+ {
309
+ il2Cpp.Position = position;
310
+ }
308
311
}
309
312
}
310
313
}
0 commit comments