Package jminusminus
Class JLogicalNotOp
java.lang.Object
jminusminus.JAST
jminusminus.JStatement
jminusminus.JExpression
jminusminus.JUnaryExpression
jminusminus.JLogicalNotOp
The AST node for a logical NOT (!) expression.
-
Field Summary
Fields inherited from class jminusminus.JUnaryExpression
operand, operatorFields inherited from class jminusminus.JExpression
isStatementExpression, typeFields inherited from class jminusminus.JAST
compilationUnit, line -
Constructor Summary
ConstructorsConstructorDescriptionJLogicalNotOp(int line, JExpression arg) Constructs an AST for a logical NOT expression. -
Method Summary
Modifier and TypeMethodDescriptionAnalyzes and returns a JExpression.voidPerforms code generation for this AST.voidPerforms 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.JUnaryExpression
toJSONMethods inherited from class jminusminus.JExpression
isStatementExpression, typeMethods inherited from class jminusminus.JAST
line, partialCodegen, unescape
-
Constructor Details
-
JLogicalNotOp
Constructs an AST for a logical NOT expression.- Parameters:
line- line in which the logical NOT expression occurs in the source file.arg- the operand.
-
-
Method Details
-
analyze
Analyzes and returns a JExpression.- Specified by:
analyzein classJExpression- 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:
codegenin classJExpression- Parameters:
output- the code emitter.targetLabel- the label to which we should branch.onTrue- do we branch on true?
-