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

java.lang.Object
  extended by org.jetbrains.jet.lang.cfg.pseudocode.InstructionImpl
All Implemented Interfaces:
Instruction
Direct Known Subclasses:
AbstractJumpInstruction, JetElementInstructionImpl, NondeterministicJumpInstruction, SubroutineExitInstruction, SubroutineSinkInstruction

public abstract class InstructionImpl
extends java.lang.Object
implements Instruction


Field Summary
protected  boolean isDead
           
protected  LexicalScope lexicalScope
           
 
Constructor Summary
protected InstructionImpl(LexicalScope lexicalScope)
           
 
Method Summary
 Instruction copy()
           
protected abstract  Instruction createCopy()
           
 void die()
           
 java.util.Collection<Instruction> getCopies()
           
 LexicalScope getLexicalScope()
           
 Pseudocode getOwner()
           
 java.util.Collection<Instruction> getPreviousInstructions()
           
 boolean isDead()
           
protected  Instruction outgoingEdgeTo(Instruction target)
           
 void setOwner(Pseudocode owner)
           
protected  Instruction updateCopyInfo(Instruction instruction)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jetbrains.jet.lang.cfg.pseudocode.Instruction
accept, accept, getNextInstructions
 

Field Detail

lexicalScope

@NotNull
protected final LexicalScope lexicalScope

isDead

protected boolean isDead
Constructor Detail

InstructionImpl

protected InstructionImpl(@NotNull
                          LexicalScope lexicalScope)
Method Detail

getOwner

@NotNull
public Pseudocode getOwner()
Specified by:
getOwner in interface Instruction

setOwner

public void setOwner(@NotNull
                     Pseudocode owner)
Specified by:
setOwner in interface Instruction

getPreviousInstructions

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

outgoingEdgeTo

@Nullable
protected Instruction outgoingEdgeTo(@Nullable
                                              Instruction target)

die

public void die()

isDead

public boolean isDead()

copy

public final Instruction copy()

createCopy

@NotNull
protected abstract Instruction createCopy()

getCopies

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

getLexicalScope

@NotNull
public LexicalScope getLexicalScope()
Specified by:
getLexicalScope in interface Instruction

updateCopyInfo

protected Instruction updateCopyInfo(@NotNull
                                     Instruction instruction)