@@ -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