Next: Array access
Up: Expressions
Previous: Field access
RULE: Expression ::= MethodName '(' Arguments ')' COMPUTE
ListContext(Expression,,Arguments);
Indication(MethodName.Key);
END;
RULE: Expression ::= 'super' '.' MethodIdUse '(' Arguments ')' COMPUTE
ListContext(Expression,,Arguments);
Indication(MethodIdUse.Key);
END;
RULE: Expression ::= Expression '.' MethodIdUse '(' Arguments ')' COMPUTE
ListContext(Expression[1],,Arguments);
Indication(MethodIdUse.Key);
END;
SYMBOL Arguments INHERITS OpndExprListRoot END;
SYMBOL Argument INHERITS OpndExprListElem END;
RULE: Argument ::= Expression COMPUTE
TransferContext(Argument,Expression);
END;
TREE SYMBOL ExpressionStatement INHERITS ExpressionSymbol END;
RULE: ExpressionStatement ::= 'super' '(' Arguments ')' ';' COMPUTE
ListContext(ExpressionStatement,,Arguments);
Indication(INCLUDING TypeDeclaration.SuperType);
END;
RULE: ExpressionStatement ::= 'this' '(' Arguments ')' ';' COMPUTE
ListContext(ExpressionStatement,,Arguments);
Indication(INCLUDING TypeDeclaration.Type);
IF(AND(NOT(BadIndication),BadOperator),
message(ERROR,"Invalid constructor call",0,COORDREF));
END;
This macro is invoked in definition 45.
2008-09-11