Package iota
Class IMessageExpression
java.lang.Object
iota.IAST
iota.IStatement
iota.IExpression
iota.IMessageExpression
The AST node for a message expression that has a target (the type corresponding to the compilation unit in which
the message is invoked), a message name, and zero or more actual arguments.
-
Field Summary
Fields inherited from class iota.IExpression
isStatementExpression, type
Fields inherited from class iota.IAST
compilationUnit, line
-
Constructor Summary
ConstructorsConstructorDescriptionIMessageExpression
(int line, String messageName, ArrayList<IExpression> arguments) Constructs an AST node for a message expression. -
Method Summary
Modifier and TypeMethodDescriptionAnalyzes and returns an IExpression.void
Performs code generation for this AST.void
Performs short-circuit code generation for a boolean expression, given the code emitter, a target label, and whether we branch to that label on true or on false.void
toJSON
(JSONElement json) Stores information about this AST in JSON format.Methods inherited from class iota.IExpression
type
Methods inherited from class iota.IAST
line, preAnalyze
-
Constructor Details
-
IMessageExpression
Constructs an AST node for a message expression.- Parameters:
line
- line in which the expression occurs in the source file.messageName
- the message name.arguments
- the arguments.
-
-
Method Details
-
analyze
Analyzes and returns an IExpression.- Specified by:
analyze
in classIExpression
- Parameters:
context
- context in which names are resolved.- Returns:
- the analyzed (and possibly rewritten) AST subtree.
-
codegen
Performs code generation for this AST. -
codegen
Performs short-circuit code generation for a boolean expression, given the code emitter, a target label, and whether we branch to that label on true or on false.- Overrides:
codegen
in classIExpression
- Parameters:
output
- the code emitter.targetLabel
- the label to which we should branch.onTrue
- do we branch on true?
-
toJSON
Stores information about this AST in JSON format.
-