org.jetbrains.jet.lang.cfg
Class TailRecursionDetector
java.lang.Object
org.jetbrains.jet.lang.cfg.pseudocode.InstructionVisitorWithResult<java.lang.Boolean>
org.jetbrains.jet.lang.cfg.TailRecursionDetector
- All Implemented Interfaces:
- kotlin.Function1<Instruction,java.lang.Boolean>, kotlin.jvm.internal.KObject
public class TailRecursionDetector
- extends InstructionVisitorWithResult<java.lang.Boolean>
- implements kotlin.Function1<Instruction,java.lang.Boolean>
Methods inherited from class org.jetbrains.jet.lang.cfg.pseudocode.InstructionVisitorWithResult |
visitCallInstruction, visitCompilationErrorInstruction, visitConditionalJump, visitInstructionWithNext, visitLoadUnitValue, visitLocalFunctionDeclarationInstruction, visitNondeterministicJump, visitReadValue, visitReturnNoValue, visitReturnValue, visitSubroutineEnter, visitUnconditionalJump, visitUnsupportedElementInstruction, visitVariableDeclarationInstruction, visitWriteValue |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TailRecursionDetector
public TailRecursionDetector(@NotNull
JetElement subroutine,
@NotNull
Instruction start)
invoke
public java.lang.Boolean invoke(@NotNull
Instruction instruction)
- Specified by:
invoke
in interface kotlin.Function1<Instruction,java.lang.Boolean>
visitInstruction
public java.lang.Boolean visitInstruction(Instruction instruction)
- Specified by:
visitInstruction
in class InstructionVisitorWithResult<java.lang.Boolean>
visitSubroutineExit
public java.lang.Boolean visitSubroutineExit(SubroutineExitInstruction instruction)
- Overrides:
visitSubroutineExit
in class InstructionVisitorWithResult<java.lang.Boolean>
visitSubroutineSink
public java.lang.Boolean visitSubroutineSink(SubroutineSinkInstruction instruction)
- Overrides:
visitSubroutineSink
in class InstructionVisitorWithResult<java.lang.Boolean>
visitJump
public java.lang.Boolean visitJump(AbstractJumpInstruction instruction)
- Overrides:
visitJump
in class InstructionVisitorWithResult<java.lang.Boolean>
visitThrowExceptionInstruction
public java.lang.Boolean visitThrowExceptionInstruction(ThrowExceptionInstruction instruction)
- Overrides:
visitThrowExceptionInstruction
in class InstructionVisitorWithResult<java.lang.Boolean>
visitMarkInstruction
public java.lang.Boolean visitMarkInstruction(MarkInstruction instruction)
- Overrides:
visitMarkInstruction
in class InstructionVisitorWithResult<java.lang.Boolean>