diff options
author | Yi Zhang (CLR) <yizhang82@users.noreply.github.com> | 2017-04-05 21:04:25 -0700 |
---|---|---|
committer | Yi Zhang (CLR) <yzha@microsoft.com> | 2017-07-19 11:16:55 -0700 |
commit | dcf60f83a0557b3c2fbb705a4fdb3bade0e14854 (patch) | |
tree | ab25f5065a1777493e6da4d6330aa873bb8908e0 /src/vm/methodtable.h | |
parent | 8a163ca04ae8734f4a9ee51e470beda933c96333 (diff) | |
download | coreclr-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.h | 8 |
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); |