org.jetbrains.jet.lang.cfg.pseudocode
Class NondeterministicJumpInstruction

java.lang.Object
  extended by org.jetbrains.jet.lang.cfg.pseudocode.InstructionImpl
      extended by org.jetbrains.jet.lang.cfg.pseudocode.JetElementInstructionImpl
          extended by org.jetbrains.jet.lang.cfg.pseudocode.NondeterministicJumpInstruction
All Implemented Interfaces:
Instruction, JetElementInstruction, JumpInstruction

public class NondeterministicJumpInstruction
extends JetElementInstructionImpl
implements JumpInstruction


Field Summary
 
Fields inherited from class org.jetbrains.jet.lang.cfg.pseudocode.JetElementInstructionImpl
element
 
Fields inherited from class org.jetbrains.jet.lang.cfg.pseudocode.InstructionImpl
isDead, lexicalScope
 
Constructor Summary
NondeterministicJumpInstruction(JetElement element, Label targetLabel, LexicalScope lexicalScope)
           
NondeterministicJumpInstruction(JetElement element, java.util.List<Label> targetLabels, LexicalScope lexicalScope)
           
 
Method Summary
 void accept(InstructionVisitor visitor)
           
<R> R
accept(InstructionVisitorWithResult<R> visitor)
           
 Instruction copy(java.util.List<Label> newTargetLabels)
           
protected  Instruction createCopy()
           
 Instruction getNext()
           
 java.util.Collection<Instruction> getNextInstructions()
           
 java.util.Map<Label,Instruction> getResolvedTargets()
           
 java.util.List<Label> getTargetLabels()
           
 void setNext(Instruction next)
           
 void setResolvedTarget(Label label, Instruction resolvedTarget)
           
 java.lang.String toString()
           
 
Methods inherited from class org.jetbrains.jet.lang.cfg.pseudocode.JetElementInstructionImpl
getElement, render
 
Methods inherited from class org.jetbrains.jet.lang.cfg.pseudocode.InstructionImpl
copy, die, getCopies, getLexicalScope, getOwner, getPreviousInstructions, isDead, outgoingEdgeTo, setOwner, updateCopyInfo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jetbrains.jet.lang.cfg.pseudocode.Instruction
getCopies, getLexicalScope, getOwner, getPreviousInstructions, setOwner
 

Constructor Detail

NondeterministicJumpInstruction

public NondeterministicJumpInstruction(@NotNull
                                       JetElement element,
                                       java.util.List<Label> targetLabels,
                                       LexicalScope lexicalScope)

NondeterministicJumpInstruction

public NondeterministicJumpInstruction(@NotNull
                                       JetElement element,
                                       Label targetLabel,
                                       LexicalScope lexicalScope)
Method Detail

getTargetLabels

public java.util.List<Label> getTargetLabels()

getResolvedTargets

public java.util.Map<Label,Instruction> getResolvedTargets()

setResolvedTarget

public void setResolvedTarget(Label label,
                              Instruction resolvedTarget)

getNext

public Instruction getNext()

setNext

public void setNext(Instruction next)

accept

public void accept(@NotNull
                   InstructionVisitor visitor)
Specified by:
accept in interface Instruction

accept

public <R> R accept(@NotNull
                    InstructionVisitorWithResult<R> visitor)
Specified by:
accept in interface Instruction

getNextInstructions

@NotNull
public java.util.Collection<Instruction> getNextInstructions()
Specified by:
getNextInstructions in interface Instruction

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

createCopy

@NotNull
protected Instruction createCopy()
Specified by:
createCopy in class InstructionImpl

copy

@NotNull
public final Instruction copy(@NotNull
                                      java.util.List<Label> newTargetLabels)