Class Result
java.lang.Object
org.jfuncmachine.compiler.model.SourceElement
org.jfuncmachine.compiler.model.expr.bool.BooleanExpr
org.jfuncmachine.compiler.model.expr.bool.Result
Represents the end point of a boolean expression, containing the expression to be
executed depending on whether the boolean test is true or false.
This class doesn't actually generate the code to execute the expression, it is
more of a placeholder.
-
Field Summary
Fields inherited from class org.jfuncmachine.compiler.model.expr.bool.BooleanExpr
labelFields inherited from class org.jfuncmachine.compiler.model.SourceElement
filename, lineNumber -
Constructor Summary
ConstructorsConstructorDescriptionResult(Expression expr) Create a new Result for an expressionResult(Expression expr, String filename, int lineNumber) Create a new Result for an expression -
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 falseinvert()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
-
Constructor Details
-
Result
Create a new Result for an expression- Parameters:
expr- The expression that should be executed if this result is reached
-
Result
Create a new Result for an expression- Parameters:
expr- The expression that should be executed if this result is reachedfilename- 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
-