summaryrefslogtreecommitdiff
path: root/src/vm/methodtable.h
diff options
context:
space:
mode:
authorYi Zhang (CLR) <yizhang82@users.noreply.github.com>2017-04-05 21:04:25 -0700
committerYi Zhang (CLR) <yzha@microsoft.com>2017-07-19 11:16:55 -0700
commitdcf60f83a0557b3c2fbb705a4fdb3bade0e14854 (patch)
treeab25f5065a1777493e6da4d6330aa873bb8908e0 /src/vm/methodtable.h
parent8a163ca04ae8734f4a9ee51e470beda933c96333 (diff)
downloadcoreclr-dcf60f83a0557b3c2fbb705a4fdb3bade0e14854.tar.gz
coreclr-dcf60f83a0557b3c2fbb705a4fdb3bade0e14854.tar.bz2
coreclr-dcf60f83a0557b3c2fbb705a4fdb3bade0e14854.zip
Default Interface Method Prototype (#10505)
* allow non-zero RVA on abstract interface method in ilasm * Revert "allow non-zero RVA on abstract interface method in ilasm" This reverts commit eecb8024e58f14a20e5e49359f38019f5768ac41. * add a test case and allow virtual non-abstract method in ilasm * allow non-abstract methods in the loader * fixup dispatch map * support for simple default interface method scenario * fix a bug with incorrect usage of MethodIterator skpping the first method. add a test case for overriding but it may not be what we want * add another simple test case for base class * allow private/internal methods in ilasm and add a explict impl test * update reference to mscorlib in il test * add shared generics and variance case * allow interface dispatch to return instantiating stubs with the right PARAM_TYPE calling conv * simple factoring and add a valuetype test case * add a test case for generic virtual methods * a bit more refactoring by moving the CALLCONV_PARAMTYPE logic inside getMethodSigInternal * support explicit methodimpl and remove implicit methodimpl test case * update test cases to give more clear output * Fix a bug where GetMethodDescForSlot chokes on interface MethodDesc without precode. This is accdentally discovered by methodimpl test case when iterating methods on a default interface method that has already been JITted * cleanup code after review and add a bit more comments * update comments * only use custom ILAsm for default interface methods tests - some tests are choking on CoreCLR ilasm for security related stuff * address comments and allow instance methods, and add a constraint value type call test scenario * disable the failing protected method scenario
Diffstat (limited to 'src/vm/methodtable.h')
-rw-r--r--src/vm/methodtable.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vm/methodtable.h b/src/vm/methodtable.h
index d3eb0ce9b5..11296b09d6 100644
--- a/src/vm/methodtable.h
+++ b/src/vm/methodtable.h
@@ -2485,6 +2485,14 @@ public:
UINT32 slotNumber,
DispatchSlot * pImplSlot);
+
+#ifndef DACCESS_COMPILE
+ BOOL FindDefaultMethod(
+ MethodDesc *pInterfaceMD,
+ MethodTable *pObjectMT,
+ MethodDesc **ppDefaultMethod);
+#endif // DACCESS_COMPILE
+
DispatchSlot FindDispatchSlot(UINT32 typeID, UINT32 slotNumber);
DispatchSlot FindDispatchSlot(DispatchToken tok);