- fixed a conversion warning with the pointer-type AActor fields.

- added master and tracer to the list of exported variables.
- fixed: 'none' as class type must map to the real null pointer so that it won't get rejected by the stricter type checks.
- added handling for member function calls to zcc_compile.cpp.
- fixed: FxMemberFunctionCall may not delete the self expression if it gets passed on to the actual function call.
This commit is contained in:
Christoph Oelckers 2016-10-22 19:43:53 +02:00
commit c2b37aeeea
5 changed files with 17 additions and 3 deletions

View file

@ -2381,7 +2381,11 @@ FxExpression *ZCCCompiler::ConvertNode(ZCC_TreeNode *ast)
return new FxFunctionCall(static_cast<ZCC_ExprID *>(fcall->Function)->Identifier, NAME_None, ConvertNodeList(fcall->Parameters), *ast);
case AST_ExprMemberAccess:
break;
{
auto ema = static_cast<ZCC_ExprMemberAccess *>(fcall->Function);
Printf("Member call to %s\n", FName(ema->Right).GetChars());
return new FxMemberFunctionCall(ConvertNode(ema->Left), ema->Right, ConvertNodeList(fcall->Parameters), *ast);
}
case AST_ExprBinary:
// Array syntax for randoms. They are internally stored as ExprBinary with both an identifier on the left and right side.