diff options
author | Zoltan Varga <vargaz@gmail.com> | 2018-01-12 16:34:18 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-12 16:34:18 +0300 |
commit | faecfce5d0c29dec56a18f10473a81e52d6acad5 (patch) | |
tree | 299836354949a792fa639466fe102a3cfdc41839 /mcs/class/PEAPI | |
parent | 9484143e9389dba5feba3aec6f4df25c6f1a00fb (diff) |
[runtime] Fix some default interface method problems. (#6484)
* [runtime] Allow access to protected default interface methods from classes which implement the interface.
* [interp] Add some automatic conversations between virtual and non-virtual calls that .net has. Fixes dim-valuetype.il.
* [bcl] Sort the MethodImpl table in PEAPI.
* [runtime] Enable dim-methodimpl.exe test.
* [runtime] Fix vtable construction tracing.
* [interp] Fix null checks on the receiver when converting virtual calls to non-virtual.
Diffstat (limited to 'mcs/class/PEAPI')
-rw-r--r-- | mcs/class/PEAPI/Metadata.cs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mcs/class/PEAPI/Metadata.cs b/mcs/class/PEAPI/Metadata.cs index eca297380bc..6b92e594bff 100644 --- a/mcs/class/PEAPI/Metadata.cs +++ b/mcs/class/PEAPI/Metadata.cs @@ -1331,6 +1331,10 @@ namespace PEAPI { output.WriteCodedIndex(CIx.MethodDefOrRef,header); } + internal override uint SortKey() + { + return parent.Row; + } } /**************************************************************************/ @@ -5549,6 +5553,7 @@ namespace PEAPI { SortTable(metaDataTables[(int)MDTable.FieldMarshal]); SortTable(metaDataTables[(int)MDTable.DeclSecurity]); SortTable(metaDataTables[(int)MDTable.MethodSemantics]); + SortTable(metaDataTables[(int)MDTable.MethodImpl]); SortTable(metaDataTables[(int)MDTable.ImplMap]); if (metaDataTables[(int)MDTable.GenericParam] != null) { SortTable(metaDataTables[(int)MDTable.GenericParam]); |