org.jetbrains.kotlin.cfg
Class TailInstructionDetector

java.lang.Object
  extended by 
      extended by org.jetbrains.kotlin.cfg.TailInstructionDetector

public class TailInstructionDetector
extends

Returns true when visited instruction may lie on a path from a tail-call-like operation to the sink of the subroutine


Constructor Summary
TailInstructionDetector(KtElement subroutine)
           
 
Method Summary
 java.lang.Boolean visitInstruction(Instruction instruction)
           
 java.lang.Boolean visitJump(AbstractJumpInstruction instruction)
           
 java.lang.Boolean visitMagic(MagicInstruction instruction)
           
 java.lang.Boolean visitMarkInstruction(MarkInstruction instruction)
           
 java.lang.Boolean visitMerge(MergeInstruction instruction)
           
 java.lang.Boolean visitSubroutineExit(SubroutineExitInstruction instruction)
           
 java.lang.Boolean visitSubroutineSink(SubroutineSinkInstruction instruction)
           
 java.lang.Boolean visitThrowExceptionInstruction(ThrowExceptionInstruction instruction)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TailInstructionDetector

public TailInstructionDetector(@NotNull
                               KtElement subroutine)
Method Detail

visitInstruction

public java.lang.Boolean visitInstruction(@NotNull
                                          Instruction instruction)

visitSubroutineExit

public java.lang.Boolean visitSubroutineExit(@NotNull
                                             SubroutineExitInstruction instruction)

visitSubroutineSink

public java.lang.Boolean visitSubroutineSink(@NotNull
                                             SubroutineSinkInstruction instruction)

visitJump

public java.lang.Boolean visitJump(@NotNull
                                   AbstractJumpInstruction instruction)

visitThrowExceptionInstruction

public java.lang.Boolean visitThrowExceptionInstruction(@NotNull
                                                        ThrowExceptionInstruction instruction)

visitMarkInstruction

public java.lang.Boolean visitMarkInstruction(@NotNull
                                              MarkInstruction instruction)

visitMagic

public java.lang.Boolean visitMagic(@NotNull
                                    MagicInstruction instruction)

visitMerge

public java.lang.Boolean visitMerge(@NotNull
                                    MergeInstruction instruction)