diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index ea94ec0b..843d6d0e 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -4824,8 +4824,13 @@ BfTypedValue BfExprEvaluator::LookupField(BfAstNode* targetSrc, BfTypedValue tar mPropTarget = BfTypedValue(curCheckType); else if (isBaseLookup) { - mPropTarget = mModule->Cast(targetSrc, target, curCheckType); - BF_ASSERT(mPropTarget); + if (target.mValue.IsFake()) + mPropTarget = BfTypedValue(target.mValue, curCheckType); + else + { + mPropTarget = mModule->Cast(targetSrc, target, curCheckType); + BF_ASSERT(mPropTarget); + } } else mPropTarget = target;