Package jminusminus
Class JLogicalAndOp
The AST node for a logical-and (&&) expression.
-
Field Summary
Fields inherited from class jminusminus.JBinaryExpression
lhs, operator, rhs
Fields inherited from class jminusminus.JExpression
isStatementExpression, type
Fields inherited from class jminusminus.JAST
compilationUnit, line
-
Constructor Summary
ConstructorDescriptionJLogicalAndOp
(int line, JExpression lhs, JExpression rhs) Constructs an AST node for a logical-and expression. -
Method Summary
Modifier and TypeMethodDescriptionAnalyzes and returns a JExpression.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.Methods inherited from class jminusminus.JBooleanBinaryExpression
codegen
Methods inherited from class jminusminus.JBinaryExpression
toJSON
Methods inherited from class jminusminus.JExpression
isStatementExpression, type
Methods inherited from class jminusminus.JAST
line, partialCodegen, unescape
-
Constructor Details
-
JLogicalAndOp
Constructs an AST node for a logical-and expression.- Parameters:
line
- line in which the logical-and expression occurs in the source file.lhs
- lhs operand.rhs
- rhs operand.
-
-
Method Details
-
analyze
Analyzes and returns a JExpression.- Specified by:
analyze
in classJExpression
- Parameters:
context
- context in which names are resolved.- Returns:
- the analyzed (and possibly rewritten) AST subtree.
-
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 classJExpression
- Parameters:
output
- the code emitter.targetLabel
- the label to which we should branch.onTrue
- do we branch on true?
-