Class InstanceofComparison
java.lang.Object
org.jfuncmachine.compiler.model.SourceElement
org.jfuncmachine.compiler.model.expr.bool.BooleanExpr
org.jfuncmachine.compiler.model.expr.bool.InstanceofComparison
Represents an instanceof comparison (or not instanceof)
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe class name to test againstThe expression to testThe test to execute if this one is falseThe test to useThe test to execute if this one is trueFields inherited from class org.jfuncmachine.compiler.model.expr.bool.BooleanExpr
labelFields inherited from class org.jfuncmachine.compiler.model.SourceElement
filename, lineNumber -
Constructor Summary
ConstructorsConstructorDescriptionInstanceofComparison(Test test, Expression expr, String className) Create an InstanceofComparison for a given test, expression and class nameInstanceofComparison(Test test, Expression expr, String className, String filename, int lineNumber) Create an InstanceofComparison for a given test, expression and class name -
Method Summary
Modifier and TypeMethodDescriptioncomputeSequence(BooleanExpr trueNext, BooleanExpr falseNext, List<BooleanExpr> tests) Compute a sequence of tests to determine if this expression is true or falsevoidfindCaptured(Environment env) Identify any variables captured by the test expressionvoidgenerate(ClassGenerator generator, Environment env, BooleanExpr next) Generate Java bytecode for this comparisoninvert()Invert this expression, which may involve reversing comparisons or changing and to or with inverted tests, etc.Remove any not expressions from a tree of boolean expressions by inverting the expression under the notvoidreset()Resets any values modified during code generationMethods inherited from class org.jfuncmachine.compiler.model.SourceElement
generateException
-
Field Details
-
test
The test to use -
expr
The expression to test -
className
The class name to test against -
truePath
The test to execute if this one is true -
falsePath
The test to execute if this one is false
-
-
Constructor Details
-
InstanceofComparison
Create an InstanceofComparison for a given test, expression and class name- Parameters:
test- The test to performexpr- The expression to testclassName- The class name to test against
-
InstanceofComparison
public InstanceofComparison(Test test, Expression expr, String className, String filename, int lineNumber) Create an InstanceofComparison for a given test, expression and class name- Parameters:
test- The test to performexpr- The expression to testclassName- The class name to test againstfilename- The source filename this expression is associated withlineNumber- The source line number this expression is associated with
-
-
Method Details
-
invert
Description copied from class:BooleanExprInvert this expression, which may involve reversing comparisons or changing and to or with inverted tests, etc.- Specified by:
invertin classBooleanExpr- Returns:
- An inverted boolean expression
-
removeNot
Description copied from class:BooleanExprRemove any not expressions from a tree of boolean expressions by inverting the expression under the not- Specified by:
removeNotin classBooleanExpr- Returns:
- a BooleanExpr with any nested Not constructions removed
-
reset
public void reset()Description copied from class:BooleanExprResets any values modified during code generation- Overrides:
resetin classBooleanExpr
-
computeSequence
public BooleanExpr computeSequence(BooleanExpr trueNext, BooleanExpr falseNext, List<BooleanExpr> tests) Description copied from class:BooleanExprCompute a sequence of tests to determine if this expression is true or false- Specified by:
computeSequencein classBooleanExpr- Parameters:
trueNext- The next expression to evaluate if this expression is truefalseNext- The next expression to evaluate if this expression is falsetests- An accumulator for the tests to be executed- Returns:
- The beginning of the sequence
-
findCaptured
Identify any variables captured by the test expression- Parameters:
env- The environment chain to be searched
-
generate
Generate Java bytecode for this comparison- Parameters:
generator- The class generator that is generating the current classenv- The environment containing all visible variablesnext- The next boolean expr in the chain
-