dotnet/runtime
Auf GitHub ansehenAdd test coverage for ECMA-335 corner around non-optional Lists
Open
#26.096 geöffnet am 7. Mai 2018
area-System.Reflection.Metadatahelp wantedtest-enhancement
Repository-Metriken
- Stars
- (17.886 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 12T 11h) (661 gemergte PRs in 30 T)
Beschreibung
Use System.Reflection.Metadata to emit the following:
- A module with exactly 0xFFFF methods
- The last type in the module has no methods
This will hit a corner case in the ECMA-335 spec where the TypeDef record for the last type should end up with a MethodList value of 0x10000, but per the spec, the MethodList column is only 2 bytes wide (because the method count fits in 2 bytes), making the value fall out of range.
This also affects other similar columns, such as TypeDef.FieldList, and MethodDef.ParamList.
Per the spec, null might be a legal value to put there in that case.