summaryrefslogtreecommitdiff
path: root/src/vm/comdelegate.cpp
diff options
context:
space:
mode:
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>2018-11-15 14:08:27 +0100
committerGitHub <noreply@github.com>2018-11-15 14:08:27 +0100
commit4b01ac0d72d2b271a3f664d1fe3761287f5efc6a (patch)
treece702363d5b1a61f3783f8fc1e27dc182f71f8d6 /src/vm/comdelegate.cpp
parentbf1a55fab3f07771632a76d52c6d9287a339bb79 (diff)
downloadcoreclr-4b01ac0d72d2b271a3f664d1fe3761287f5efc6a.tar.gz
coreclr-4b01ac0d72d2b271a3f664d1fe3761287f5efc6a.tar.bz2
coreclr-4b01ac0d72d2b271a3f664d1fe3761287f5efc6a.zip
Allow supressing exceptions in diamond inheritance cases (#20458)
Diffstat (limited to 'src/vm/comdelegate.cpp')
-rw-r--r--src/vm/comdelegate.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm/comdelegate.cpp b/src/vm/comdelegate.cpp
index 124ebc4c6d..6ffa26709c 100644
--- a/src/vm/comdelegate.cpp
+++ b/src/vm/comdelegate.cpp
@@ -1663,7 +1663,7 @@ FCIMPL3(PCODE, COMDelegate::AdjustTarget, Object* refThisUNSAFE, Object* targetU
// <TODO>it looks like we need to pass an ownerType in here.
// Why can we take a delegate to an interface method anyway? </TODO>
//
- pCorrectedMethod = pMTTarg->FindDispatchSlotForInterfaceMD(pCorrectedMethod).GetMethodDesc();
+ pCorrectedMethod = pMTTarg->FindDispatchSlotForInterfaceMD(pCorrectedMethod, TRUE /* throwOnConflict */).GetMethodDesc();
_ASSERTE(pCorrectedMethod != NULL);
}
}
@@ -1836,7 +1836,7 @@ FCIMPL3(void, COMDelegate::DelegateConstruct, Object* refThisUNSAFE, Object* tar
// <TODO>it looks like we need to pass an ownerType in here.
// Why can we take a delegate to an interface method anyway? </TODO>
//
- MethodDesc * pDispatchSlotMD = pMTTarg->FindDispatchSlotForInterfaceMD(pMeth).GetMethodDesc();
+ MethodDesc * pDispatchSlotMD = pMTTarg->FindDispatchSlotForInterfaceMD(pMeth, TRUE /* throwOnConflict */).GetMethodDesc();
if (pDispatchSlotMD == NULL)
{
COMPlusThrow(kArgumentException, W("Arg_DlgtTargMeth"));