Class ConditionalOperation

java.lang.Object
org.kigalisim.lang.operation.ConditionalOperation
All Implemented Interfaces:
Operation

public class ConditionalOperation extends Object implements Operation
Calculation that performs a conditional operation (if-else) on three other calculations.

Calculation that resolves a condition calculation and then executes one of two other calculations based on the result of the condition by using a PushDownMachine within the QubecTalk runtime.

  • Constructor Details

    • ConditionalOperation

      public ConditionalOperation(Operation condition, Operation trueCase, Operation falseCase)
      Create a new ConditionalOperation.
      Parameters:
      condition - The condition to evaluate.
      trueCase - The operation to execute if the condition is true.
      falseCase - The operation to execute if the condition is false.
  • Method Details

    • execute

      public void execute(PushDownMachine machine)
      Execute the calculation and leave the result at the top of the stack.
      Specified by:
      execute in interface Operation
      Parameters:
      machine - The machine in which to execute the calculation if needed.
    • getStaticSemantics

      public OperationStaticSemantics getStaticSemantics()
      Get a record describing this operation's semantics.

      Get a record describing this operation's semantics that are inferrable from its static expression in code. In other words, properties and effects which do not require inspection at time of executing the operation.

      Specified by:
      getStaticSemantics in interface Operation
      Returns:
      Inference of common static properties found for this operation.