From 244407c7feb0509e5bc5e48760898ff0b10284b6 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 27 Nov 2021 11:22:10 -0800 Subject: [PATCH] Fixed delegate binding with var argument --- IDEHelper/Compiler/BfExprEvaluator.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index b559e47d..0ad45a6f 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -8940,13 +8940,14 @@ BfTypedValue BfExprEvaluator::MatchMethod(BfAstNode* targetSrc, BfMethodBoundExp { BfType* retType = mModule->GetPrimitiveType(BfTypeCode_Var); - if ((!methodMatcher.mHadVarConflictingReturnType) && (methodMatcher.mBestRawMethodInstance != NULL) && (!methodMatcher.mBestRawMethodInstance->mReturnType->IsUnspecializedTypeVariation())) + if ((!methodMatcher.mHadVarConflictingReturnType) && (methodMatcher.mBestRawMethodInstance != NULL) && (!methodMatcher.mBestRawMethodInstance->mReturnType->IsUnspecializedTypeVariation()) && + (prevBindResult.mPrevVal == NULL)) { if ((!methodMatcher.mBestRawMethodInstance->mReturnType->IsGenericParam()) || (((BfGenericParamType*)methodMatcher.mBestRawMethodInstance->mReturnType)->mGenericParamKind != BfGenericParamKind_Method)) retType = methodMatcher.mBestRawMethodInstance->mReturnType; } - + return mModule->GetDefaultTypedValue(retType, true, BfDefaultValueKind_Addr); } }