summaryrefslogtreecommitdiff
path: root/src/vm/methodtable.cpp
diff options
context:
space:
mode:
authorYi Zhang (CLR) <yizhang82@users.noreply.github.com>2017-05-22 17:52:59 -0700
committerYi Zhang (CLR) <yzha@microsoft.com>2017-07-19 11:16:56 -0700
commita5f9bde9086a0a69ae290cf40bb89403d640e85f (patch)
tree09665551068c65b1dc2660322da8b7bef0ea923c /src/vm/methodtable.cpp
parent9b8471b34c8fad1694ea0e9562e4699ac4eeda6e (diff)
downloadcoreclr-a5f9bde9086a0a69ae290cf40bb89403d640e85f.tar.gz
coreclr-a5f9bde9086a0a69ae290cf40bb89403d640e85f.tar.bz2
coreclr-a5f9bde9086a0a69ae290cf40bb89403d640e85f.zip
More update in /dev/defaultintf (#11693)
* Support non-virtual calls on interface private members correctly * Support protected methods * Properly handle precode * Throw (tentative) exception when seeing conflict overrides and add a test case (This updates CoreCLR dev/defaultintf the same with the build we are showing at //build)
Diffstat (limited to 'src/vm/methodtable.cpp')
-rw-r--r--src/vm/methodtable.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/vm/methodtable.cpp b/src/vm/methodtable.cpp
index 7247dd06eb..42cb886b1c 100644
--- a/src/vm/methodtable.cpp
+++ b/src/vm/methodtable.cpp
@@ -7069,8 +7069,11 @@ BOOL MethodTable::FindDefaultMethod(
}
else
{
- // not good. we have a conflict
- COMPlusThrow(kNotSupportedException);
+ if (!pBestCandidateMT->CanCastToInterface(pCurMT))
+ {
+ // not good. we have a conflict
+ COMPlusThrow(kNotSupportedException);
+ }
}
}
}