mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-12 13:24:09 +02:00
Failed on attempted deferring of a mixin
This commit is contained in:
parent
c28ed988b3
commit
64af84f0de
1 changed files with 8 additions and 3 deletions
|
@ -13521,6 +13521,11 @@ void BfExprEvaluator::InjectMixin(BfAstNode* targetSrc, BfTypedValue target, boo
|
||||||
if (mModule->mCurMethodState == NULL)
|
if (mModule->mCurMethodState == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (mDeferCallRef != NULL)
|
||||||
|
{
|
||||||
|
mModule->Fail("Mixins cannot be directly deferred. Consider wrapping in a block.", targetSrc);
|
||||||
|
}
|
||||||
|
|
||||||
BfAstNode* origTargetSrc = targetSrc;
|
BfAstNode* origTargetSrc = targetSrc;
|
||||||
BfScopedInvocationTarget* scopedInvocationTarget = NULL;
|
BfScopedInvocationTarget* scopedInvocationTarget = NULL;
|
||||||
|
|
||||||
|
@ -14239,7 +14244,6 @@ void BfExprEvaluator::InjectMixin(BfAstNode* targetSrc, BfTypedValue target, boo
|
||||||
{
|
{
|
||||||
if (auto exprNode = BfNodeDynCast<BfExpression>(mixinState->mResultExpr))
|
if (auto exprNode = BfNodeDynCast<BfExpression>(mixinState->mResultExpr))
|
||||||
{
|
{
|
||||||
//if ((exprNode->mTrailingSemicolon == NULL) && (!exprNode->IsA<BfBlock>()))
|
|
||||||
if (!exprNode->IsA<BfBlock>())
|
if (!exprNode->IsA<BfBlock>())
|
||||||
{
|
{
|
||||||
// Mixin expression result
|
// Mixin expression result
|
||||||
|
@ -14253,6 +14257,7 @@ void BfExprEvaluator::InjectMixin(BfAstNode* targetSrc, BfTypedValue target, boo
|
||||||
}
|
}
|
||||||
|
|
||||||
GetResult();
|
GetResult();
|
||||||
|
|
||||||
if (!mResult)
|
if (!mResult)
|
||||||
{
|
{
|
||||||
// If we didn't have an expression body then just make the result "void"
|
// If we didn't have an expression body then just make the result "void"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue