Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2018-01-12 16:34:18 +0300
committerGitHub <noreply@github.com>2018-01-12 16:34:18 +0300
commitfaecfce5d0c29dec56a18f10473a81e52d6acad5 (patch)
tree299836354949a792fa639466fe102a3cfdc41839 /mcs/class/PEAPI/Metadata.cs
parent9484143e9389dba5feba3aec6f4df25c6f1a00fb (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/Metadata.cs')
-rw-r--r--mcs/class/PEAPI/Metadata.cs5
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]);