org.jetbrains.jet.lang.cfg
Interface JetControlFlowBuilder

All Known Implementing Classes:
JetControlFlowBuilderAdapter, JetControlFlowInstructionsGenerator

public interface JetControlFlowBuilder


Method Summary
 void bindLabel(Label label)
           
 Label createUnboundLabel()
           
 Label createUnboundLabel(java.lang.String name)
           
 void declare(JetParameter parameter)
           
 void declare(JetVariableDeclaration property)
           
 LoopInfo enterLoop(JetExpression expression, Label loopExitPoint, Label conditionEntryPoint)
           
 void enterSubroutine(JetElement subroutine)
           
 void enterTryFinally(GenerationTrigger trigger)
           
 void exitLoop(JetExpression expression)
           
 Pseudocode exitSubroutine(JetElement subroutine)
           
 void exitTryFinally()
           
 JetElement getCurrentLoop()
           
 JetElement getCurrentSubroutine()
           
 Label getEntryPoint(JetElement labelElement)
           
 Label getExitPoint(JetElement labelElement)
           
 JetElement getReturnSubroutine()
           
 void jump(Label label)
           
 void jumpOnFalse(Label label)
           
 void jumpOnTrue(Label label)
           
 void jumpToError()
           
 void nondeterministicJump(Label label)
           
 void nondeterministicJump(java.util.List<Label> label)
           
 void read(JetElement element)
           
 void readUnit(JetExpression expression)
           
 void repeatPseudocode(Label startLabel, Label finishLabel)
           
 void returnNoValue(JetElement returnExpression, JetElement subroutine)
           
 void returnValue(JetExpression returnExpression, JetElement subroutine)
           
 void throwException(JetThrowExpression throwExpression)
           
 void unsupported(JetElement element)
           
 void write(JetElement assignment, JetElement lValue)
           
 

Method Detail

read

void read(@NotNull
          JetElement element)

readUnit

void readUnit(@NotNull
              JetExpression expression)

createUnboundLabel

@NotNull
Label createUnboundLabel()

createUnboundLabel

@NotNull
Label createUnboundLabel(@NotNull
                                 java.lang.String name)

bindLabel

void bindLabel(@NotNull
               Label label)

jump

void jump(@NotNull
          Label label)

jumpOnFalse

void jumpOnFalse(@NotNull
                 Label label)

jumpOnTrue

void jumpOnTrue(@NotNull
                Label label)

nondeterministicJump

void nondeterministicJump(Label label)

nondeterministicJump

void nondeterministicJump(java.util.List<Label> label)

jumpToError

void jumpToError()

getEntryPoint

Label getEntryPoint(@NotNull
                    JetElement labelElement)

getExitPoint

Label getExitPoint(@NotNull
                   JetElement labelElement)

enterLoop

LoopInfo enterLoop(@NotNull
                   JetExpression expression,
                   @Nullable
                   Label loopExitPoint,
                   @Nullable
                   Label conditionEntryPoint)

exitLoop

void exitLoop(@NotNull
              JetExpression expression)

getCurrentLoop

@Nullable
JetElement getCurrentLoop()

enterTryFinally

void enterTryFinally(@NotNull
                     GenerationTrigger trigger)

exitTryFinally

void exitTryFinally()

enterSubroutine

void enterSubroutine(@NotNull
                     JetElement subroutine)

exitSubroutine

Pseudocode exitSubroutine(@NotNull
                          JetElement subroutine)

getCurrentSubroutine

@NotNull
JetElement getCurrentSubroutine()

getReturnSubroutine

@Nullable
JetElement getReturnSubroutine()

returnValue

void returnValue(@NotNull
                 JetExpression returnExpression,
                 @NotNull
                 JetElement subroutine)

returnNoValue

void returnNoValue(@NotNull
                   JetElement returnExpression,
                   @NotNull
                   JetElement subroutine)

throwException

void throwException(@NotNull
                    JetThrowExpression throwExpression)

write

void write(@NotNull
           JetElement assignment,
           @NotNull
           JetElement lValue)

declare

void declare(@NotNull
             JetParameter parameter)

declare

void declare(@NotNull
             JetVariableDeclaration property)

unsupported

void unsupported(JetElement element)

repeatPseudocode

void repeatPseudocode(@NotNull
                      Label startLabel,
                      @NotNull
                      Label finishLabel)