- fixed identifier resolution in FxIdentifier for action functions with a different invoker than self.

- fixed creation of direct function invocations on a state line. In order to receive the implicit arguments this needs to be wrapped into a compound statement so that the local variable getter works.
This commit is contained in:
Christoph Oelckers 2016-11-12 15:21:59 +01:00
commit a603af805c
3 changed files with 27 additions and 11 deletions

View file

@ -2577,7 +2577,9 @@ FxExpression *ZCCCompiler::ConvertAST(PClass *cls, ZCC_TreeNode *ast)
// there are two possibilities here: either a single function call or a compound statement. For a compound statement we also need to check if the last thing added was a return.
if (ast->NodeType == AST_ExprFuncCall)
{
return new FxReturnStatement(ConvertNode(ast), *ast);
auto cp = new FxCompoundStatement(*ast);
cp->Add(new FxReturnStatement(ConvertNode(ast), *ast));
return cp;
}
else
{