diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index dbd76d80..16964047 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -15732,6 +15732,21 @@ void BfExprEvaluator::InjectMixin(BfAstNode* targetSrc, BfTypedValue target, boo if (scopedInvocationTarget != NULL) targetNameNode = scopedInvocationTarget->mTarget; + while (true) + { + if (auto qualifiedNameNode = BfNodeDynCast(targetNameNode)) + { + targetNameNode = qualifiedNameNode->mRight; + continue; + } + if (auto memberRefExpr = BfNodeDynCast(targetNameNode)) + { + targetNameNode = memberRefExpr->mMemberName; + continue; + } + break; + } + BfTypeInstance* mixinClass = NULL; if (target.mType != NULL) mixinClass = target.mType->ToTypeInstance();