Pseudocode: Divide instruction classes into packages
This commit is contained in:
@@ -29,7 +29,17 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableInitState;
|
||||
import org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableUseState;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudocodeUtil;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.JetElementInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.LocalFunctionDeclarationInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.MarkInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineExitInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.VariableDeclarationInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.Edges;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.PseudocodeTraverserPackage;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.TraversalOrder;
|
||||
|
||||
@@ -19,6 +19,10 @@ package org.jetbrains.jet.lang.cfg.pseudocodeTraverser
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.*
|
||||
import java.util.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.TraversalOrder.FORWARD
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineSinkInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.LocalFunctionDeclarationInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineEnterInstruction
|
||||
|
||||
fun Pseudocode.traverse(
|
||||
traversalOrder: TraversalOrder,
|
||||
|
||||
@@ -16,20 +16,16 @@
|
||||
|
||||
package org.jetbrains.jet.lang.cfg
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.LocalFunctionDeclarationInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode
|
||||
import org.jetbrains.jet.lang.descriptors.VariableDescriptor
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.VariableDeclarationInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.VariableDeclarationInstruction
|
||||
import org.jetbrains.jet.utils.addToStdlib.*
|
||||
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
import java.util.*
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration
|
||||
|
||||
public class PseudocodeVariableDataCollector(
|
||||
private val bindingContext: BindingContext,
|
||||
|
||||
@@ -22,9 +22,16 @@ import kotlin.Function1;
|
||||
import kotlin.Unit;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudocodeUtil;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.ReadValueInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.WriteValueInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.LocalFunctionDeclarationInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.VariableDeclarationInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.Edges;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.PseudocodeTraverserPackage;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.*;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.VariableDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration;
|
||||
|
||||
@@ -18,7 +18,14 @@ package org.jetbrains.jet.lang.cfg;
|
||||
|
||||
import kotlin.Function1;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.MagicInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.AbstractJumpInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.ThrowExceptionInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.MarkInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineExitInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineSinkInstruction;
|
||||
import org.jetbrains.jet.lang.psi.JetElement;
|
||||
|
||||
public class TailRecursionDetector extends InstructionVisitorWithResult<Boolean> implements Function1<Instruction, Boolean> {
|
||||
|
||||
+5
@@ -20,6 +20,11 @@ import com.intellij.util.containers.Stack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.cfg.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.*;
|
||||
import org.jetbrains.jet.lang.descriptors.ReceiverParameterDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.VariableDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
|
||||
@@ -16,10 +16,8 @@
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
|
||||
import java.util.Collections
|
||||
import org.jetbrains.jet.lang.psi.JetExpression
|
||||
import kotlin.properties.Delegates
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
|
||||
public trait PseudoValue {
|
||||
public val debugName: String
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
|
||||
class PseudoValueImpl(
|
||||
public override val debugName: String,
|
||||
|
||||
@@ -18,8 +18,12 @@ package org.jetbrains.jet.lang.cfg.pseudocode;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.LocalFunctionDeclarationInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineEnterInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineExitInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineSinkInstruction;
|
||||
import org.jetbrains.jet.lang.psi.JetElement;
|
||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -21,6 +21,14 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.cfg.Label;
|
||||
import org.jetbrains.jet.lang.cfg.LoopInfo;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.AbstractJumpInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.ConditionalJumpInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.NondeterministicJumpInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.LocalFunctionDeclarationInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineEnterInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineExitInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.SubroutineSinkInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.PseudocodeTraverserPackage;
|
||||
import org.jetbrains.jet.lang.psi.JetElement;
|
||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
|
||||
@@ -19,6 +19,10 @@ package org.jetbrains.jet.lang.cfg.pseudocode;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.cfg.JetControlFlowProcessor;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.ReadValueInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.WriteValueInstruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.VariableDeclarationInstruction;
|
||||
import org.jetbrains.jet.lang.descriptors.VariableDescriptor;
|
||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration;
|
||||
|
||||
+6
-6
@@ -14,11 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions
|
||||
|
||||
import kotlin.jvm.KotlinSignature
|
||||
import org.jetbrains.annotations.Nullable
|
||||
import org.jetbrains.annotations.ReadOnly
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
|
||||
public trait Instruction {
|
||||
public var owner: Pseudocode
|
||||
@@ -29,10 +29,10 @@ public trait Instruction {
|
||||
public val lexicalScope: LexicalScope
|
||||
|
||||
public val inputValues: List<PseudoValue>
|
||||
public val outputValue: PseudoValue?
|
||||
public val outputValue: pseudocode.PseudoValue?
|
||||
|
||||
public fun getCopies(): Collection<Instruction>
|
||||
|
||||
public fun accept(visitor: InstructionVisitor)
|
||||
public fun <R> accept(visitor: InstructionVisitorWithResult<R>): R
|
||||
}
|
||||
}
|
||||
+3
-1
@@ -14,12 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions
|
||||
|
||||
import java.util.Collections
|
||||
import java.util.LinkedHashSet
|
||||
import java.util.HashSet
|
||||
import com.google.common.collect.Sets
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
|
||||
public abstract class InstructionImpl(public override val lexicalScope: LexicalScope): Instruction {
|
||||
private var _owner: Pseudocode? = null
|
||||
+6
-1
@@ -14,7 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.*
|
||||
|
||||
public open class InstructionVisitor() {
|
||||
public open fun visitInstructionWithReceiver(instruction: InstructionWithReceiver) {
|
||||
+6
-1
@@ -14,7 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.*
|
||||
|
||||
public abstract class InstructionVisitorWithResult<R>() {
|
||||
public abstract fun visitInstruction(instruction: Instruction): R
|
||||
+1
-2
@@ -14,10 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import java.util.Collections
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
|
||||
public abstract class InstructionWithNext(
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration
|
||||
+4
-1
@@ -14,9 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
|
||||
public abstract class InstructionWithReceiver(
|
||||
+6
-1
@@ -14,9 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetExpression
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
|
||||
public class LoadUnitValueInstruction(
|
||||
expression: JetExpression,
|
||||
+8
-2
@@ -14,10 +14,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval
|
||||
|
||||
import org.jetbrains.annotations.Nullable
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValueFactory
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.InstructionWithReceiver
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
|
||||
public class ReadValueInstruction private (
|
||||
element: JetElement,
|
||||
+8
-3
@@ -14,13 +14,18 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval
|
||||
|
||||
import org.jetbrains.annotations.Nullable
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.psi.JetNamedDeclaration
|
||||
import java.util.Arrays
|
||||
import java.util.Collections
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.InstructionWithReceiver
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import java.util.Arrays
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
|
||||
public class WriteValueInstruction(
|
||||
assignment: JetElement,
|
||||
+7
-2
@@ -14,11 +14,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall
|
||||
import kotlin.properties.Delegates
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValueFactory
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
|
||||
public abstract class OperationInstruction protected(
|
||||
element: JetElement,
|
||||
+9
-4
@@ -14,11 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import java.util.Collections
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.JetElementInstructionImpl
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
|
||||
public abstract class AbstractJumpInstruction(
|
||||
element: JetElement,
|
||||
@@ -40,5 +44,6 @@ public abstract class AbstractJumpInstruction(
|
||||
return createCopy(targetLabel, lexicalScope)
|
||||
}
|
||||
|
||||
override val nextInstructions: Collection<Instruction> get() = Collections.singleton(resolvedTarget)
|
||||
}
|
||||
override val nextInstructions: Collection<Instruction>
|
||||
get() = Collections.singleton(resolvedTarget)
|
||||
}
|
||||
+9
-4
@@ -14,12 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps
|
||||
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import java.util.Arrays
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
|
||||
public class ConditionalJumpInstruction(
|
||||
element: JetElement,
|
||||
@@ -64,4 +69,4 @@ public class ConditionalJumpInstruction(
|
||||
|
||||
override fun createCopy(newLabel: Label, lexicalScope: LexicalScope): AbstractJumpInstruction =
|
||||
ConditionalJumpInstruction(element, onTrue, lexicalScope, newLabel, conditionValue)
|
||||
}
|
||||
}
|
||||
+4
-2
@@ -14,6 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps
|
||||
|
||||
public trait JumpInstruction : Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
|
||||
public trait JumpInstruction : Instruction
|
||||
+11
-6
@@ -14,15 +14,20 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps
|
||||
|
||||
import com.google.common.collect.Lists
|
||||
import com.google.common.collect.Maps
|
||||
import org.jetbrains.annotations.Nullable
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import java.util.*
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import com.google.common.collect.Maps
|
||||
import com.google.common.collect.Lists
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.JetElementInstructionImpl
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
|
||||
public class NondeterministicJumpInstruction(
|
||||
element: JetElement,
|
||||
+6
-3
@@ -14,10 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
|
||||
public class ReturnNoValueInstruction(
|
||||
element: JetElement,
|
||||
@@ -36,4 +39,4 @@ public class ReturnNoValueInstruction(
|
||||
|
||||
override fun createCopy(newLabel: Label, lexicalScope: LexicalScope): AbstractJumpInstruction =
|
||||
ReturnNoValueInstruction(element, lexicalScope, newLabel)
|
||||
}
|
||||
}
|
||||
+6
-2
@@ -14,11 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
import org.jetbrains.jet.lang.psi.JetExpression
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import java.util.Collections
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
|
||||
public class ReturnValueInstruction(
|
||||
returnExpression: JetExpression,
|
||||
+7
-3
@@ -14,11 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudoValue
|
||||
import org.jetbrains.jet.lang.psi.JetThrowExpression
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import java.util.Collections
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
|
||||
public class ThrowExceptionInstruction(
|
||||
expression: JetThrowExpression,
|
||||
@@ -43,4 +47,4 @@ public class ThrowExceptionInstruction(
|
||||
override fun createCopy(newLabel: Label, lexicalScope: LexicalScope): AbstractJumpInstruction {
|
||||
return ThrowExceptionInstruction((element as JetThrowExpression), lexicalScope, newLabel, thrownValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
-3
@@ -14,10 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.*
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.Label
|
||||
|
||||
public class UnconditionalJumpInstruction(
|
||||
element: JetElement,
|
||||
@@ -36,4 +37,4 @@ public class UnconditionalJumpInstruction(
|
||||
|
||||
override fun createCopy(newLabel: Label, lexicalScope: LexicalScope): AbstractJumpInstruction =
|
||||
UnconditionalJumpInstruction(element, newLabel, lexicalScope)
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -14,9 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.special
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
|
||||
public class CompilationErrorInstruction(
|
||||
element: JetElement,
|
||||
+10
-4
@@ -14,11 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.special
|
||||
|
||||
import com.google.common.collect.Lists
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import java.util.ArrayList
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode
|
||||
import com.google.common.collect.Lists
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
|
||||
public class LocalFunctionDeclarationInstruction(
|
||||
element: JetElement,
|
||||
@@ -52,4 +58,4 @@ public class LocalFunctionDeclarationInstruction(
|
||||
|
||||
override fun createCopy(): InstructionImpl =
|
||||
LocalFunctionDeclarationInstruction(element, body, lexicalScope)
|
||||
}
|
||||
}
|
||||
+5
-4
@@ -14,13 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.special
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
|
||||
// This instruciton is used to let the dead code detector know the syntactic structure of unreachable code
|
||||
// otherwise only individual parts of expression would be reported as unreachable
|
||||
// e.g. for (i in foo) {} -- only i and foo would be marked unreachable
|
||||
public class MarkInstruction(
|
||||
element: JetElement,
|
||||
lexicalScope: LexicalScope
|
||||
+7
-2
@@ -14,9 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.special
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
|
||||
public class SubroutineEnterInstruction(
|
||||
public val subroutine: JetElement,
|
||||
@@ -34,4 +39,4 @@ public class SubroutineEnterInstruction(
|
||||
|
||||
override fun createCopy(): InstructionImpl =
|
||||
SubroutineEnterInstruction(subroutine, lexicalScope)
|
||||
}
|
||||
}
|
||||
+7
-2
@@ -14,10 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.special
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import java.util.Collections
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
|
||||
public class SubroutineExitInstruction(
|
||||
public val subroutine: JetElement,
|
||||
@@ -47,4 +52,4 @@ public class SubroutineExitInstruction(
|
||||
|
||||
override fun createCopy(): InstructionImpl =
|
||||
SubroutineExitInstruction(subroutine, lexicalScope, isError)
|
||||
}
|
||||
}
|
||||
+7
-2
@@ -14,10 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.special
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import java.util.Collections
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
|
||||
public class SubroutineSinkInstruction(
|
||||
public val subroutine: JetElement,
|
||||
@@ -38,4 +43,4 @@ public class SubroutineSinkInstruction(
|
||||
|
||||
override fun createCopy(): InstructionImpl =
|
||||
SubroutineSinkInstruction(subroutine, lexicalScope, debugLabel)
|
||||
}
|
||||
}
|
||||
+7
-2
@@ -14,9 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.special
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetElement
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
|
||||
public class UnsupportedElementInstruction(
|
||||
element: JetElement,
|
||||
@@ -35,4 +40,4 @@ public class UnsupportedElementInstruction(
|
||||
|
||||
override fun createCopy(): InstructionImpl =
|
||||
UnsupportedElementInstruction(element, lexicalScope)
|
||||
}
|
||||
}
|
||||
+8
-3
@@ -14,11 +14,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode
|
||||
package org.jetbrains.jet.lang.cfg.pseudocode.instructions.special
|
||||
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration
|
||||
import org.jetbrains.jet.lang.psi.JetParameter
|
||||
import org.jetbrains.jet.lang.psi.JetVariableDeclaration
|
||||
import org.jetbrains.jet.lang.psi.JetParameter
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.LexicalScope
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl
|
||||
|
||||
public class VariableDeclarationInstruction(
|
||||
element: JetDeclaration,
|
||||
@@ -43,4 +48,4 @@ public class VariableDeclarationInstruction(
|
||||
|
||||
override fun createCopy(): InstructionImpl =
|
||||
VariableDeclarationInstruction(variableDeclarationElement, lexicalScope)
|
||||
}
|
||||
}
|
||||
@@ -19,8 +19,8 @@ package org.jetbrains.jet.cfg;
|
||||
import kotlin.Function3;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.InstructionImpl;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudocodeImpl;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
|
||||
|
||||
@@ -21,8 +21,9 @@ import com.intellij.openapi.util.text.StringUtil;
|
||||
import kotlin.Function3;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.cfg.PseudocodeVariablesData;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudocodeImpl;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.Edges;
|
||||
import org.jetbrains.jet.lang.descriptors.VariableDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
|
||||
@@ -30,7 +31,6 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.Edges;
|
||||
import static org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableInitState;
|
||||
import static org.jetbrains.jet.lang.cfg.PseudocodeVariablesData.VariableUseState;
|
||||
|
||||
|
||||
@@ -25,7 +25,12 @@ import org.jetbrains.jet.ConfigurationKind;
|
||||
import org.jetbrains.jet.JetTestUtils;
|
||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudocodeImpl;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudocodeUtil;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionImpl;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.LocalFunctionDeclarationInstruction;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.KotlinTestWithEnvironment;
|
||||
|
||||
@@ -19,7 +19,13 @@ package org.jetbrains.jet.cfg;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.jet.JetTestUtils;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.PseudocodeImpl;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionVisitor;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.InstructionWithNext;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.*;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.*;
|
||||
import org.jetbrains.jet.lang.psi.JetElement;
|
||||
import org.jetbrains.jet.lang.psi.JetNamedDeclaration;
|
||||
|
||||
|
||||
@@ -56,6 +56,18 @@ import org.jetbrains.jet.lang.diagnostics.Errors
|
||||
import org.jetbrains.jet.lang.psi.psiUtil.replaced
|
||||
import org.jetbrains.jet.plugin.refactoring.extractFunction.AnalysisResult.Status
|
||||
import org.jetbrains.jet.plugin.refactoring.extractFunction.AnalysisResult.ErrorMessage
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.special.LocalFunctionDeclarationInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.WriteValueInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.Instruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.CallInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.JetElementInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.OperationInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.ReadValueInstruction
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.eval.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.instructions.jumps.*
|
||||
import org.jetbrains.jet.lang.cfg.pseudocodeTraverser.getNextInstructions
|
||||
|
||||
private val DEFAULT_FUNCTION_NAME = "myFun"
|
||||
private val DEFAULT_RETURN_TYPE = KotlinBuiltIns.getInstance().getUnitType()
|
||||
|
||||
Reference in New Issue
Block a user