diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/EarlierLine.java b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/EarlierLine.java index 27277a0fa76..cd13f65d905 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/EarlierLine.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/EarlierLine.java @@ -18,7 +18,6 @@ package org.jetbrains.kotlin.cli.jvm.repl; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.descriptors.ScriptDescriptor; -import org.jetbrains.org.objectweb.asm.Type; public class EarlierLine { @NotNull @@ -29,21 +28,17 @@ public class EarlierLine { private final Class scriptClass; @NotNull private final Object scriptInstance; - @NotNull - private final Type classType; public EarlierLine( @NotNull String code, @NotNull ScriptDescriptor scriptDescriptor, @NotNull Class scriptClass, - @NotNull Object scriptInstance, - @NotNull Type classType + @NotNull Object scriptInstance ) { this.code = code; this.scriptDescriptor = scriptDescriptor; this.scriptClass = scriptClass; this.scriptInstance = scriptInstance; - this.classType = classType; } @NotNull @@ -65,9 +60,4 @@ public class EarlierLine { public Object getScriptInstance() { return scriptInstance; } - - @NotNull - public Type getClassType() { - return classType; - } } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/ReplInterpreter.java b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/ReplInterpreter.java index 9974a6bdf69..0f32c24c444 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/ReplInterpreter.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/ReplInterpreter.java @@ -20,7 +20,6 @@ import com.google.common.base.Throwables; import com.google.common.collect.Lists; import com.intellij.openapi.Disposable; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.Pair; import com.intellij.openapi.vfs.CharsetToolkit; import com.intellij.psi.PsiFileFactory; import com.intellij.psi.impl.PsiFileFactoryImpl; @@ -68,7 +67,6 @@ import org.jetbrains.kotlin.resolve.lazy.declarations.*; import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyScriptDescriptor; import org.jetbrains.kotlin.resolve.scopes.LexicalScope; import org.jetbrains.kotlin.utils.ExceptionUtilsKt; -import org.jetbrains.org.objectweb.asm.Type; import java.io.File; import java.io.PrintWriter; @@ -82,8 +80,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import static org.jetbrains.kotlin.codegen.AsmUtil.asmTypeByFqNameWithoutInnerClasses; - public class ReplInterpreter { private static final String SCRIPT_RESULT_FIELD_NAME = "$$result"; @@ -260,7 +256,6 @@ public class ReplInterpreter { ++lineNumber; FqName scriptFqName = new FqName("Line" + lineNumber); - Type scriptClassType = asmTypeByFqNameWithoutInnerClasses(scriptFqName); StringBuilder fullText = new StringBuilder(); for (String prevLine : previousIncompleteLines) { @@ -304,11 +299,10 @@ public class ReplInterpreter { return LineResult.compileError(errorHolder.getRenderedDiagnostics()); } - List> earlierScripts = Lists.newArrayList(); + List earlierScripts = Lists.newArrayList(); for (EarlierLine earlierLine : earlierLines) { - //TODO_R: not needed - earlierScripts.add(Pair.create(earlierLine.getScriptDescriptor(), earlierLine.getClassType())); + earlierScripts.add(earlierLine.getScriptDescriptor()); } GenerationState state = new GenerationState(psiFile.getProject(), ClassBuilderFactories.BINARIES, @@ -350,7 +344,7 @@ public class ReplInterpreter { rvField.setAccessible(true); Object rv = rvField.get(scriptInstance); - earlierLines.add(new EarlierLine(line, scriptDescriptor, scriptClass, scriptInstance, scriptClassType)); + earlierLines.add(new EarlierLine(line, scriptDescriptor, scriptClass, scriptInstance)); return LineResult.successful(rv, !state.getReplSpecific().getHasResult()); } @@ -422,26 +416,14 @@ public class ReplInterpreter { classLoader.dumpClasses(out); } - private static void registerEarlierScripts( - @NotNull GenerationState state, - @NotNull List> earlierScripts - ) { - List earlierScriptDescriptors = new ArrayList(earlierScripts.size()); - for (Pair pair : earlierScripts) { - ScriptDescriptor earlierDescriptor = pair.first; - earlierScriptDescriptors.add(earlierDescriptor); - } - state.getReplSpecific().setEarlierScriptsForReplInterpreter(earlierScriptDescriptors); - } - public static void compileScript( @NotNull KtScript script, - @NotNull List> earlierScripts, + @NotNull List earlierScripts, @NotNull GenerationState state, @NotNull CompilationErrorHandler errorHandler ) { state.getReplSpecific().setScriptResultFieldName(SCRIPT_RESULT_FIELD_NAME); - registerEarlierScripts(state, earlierScripts); + state.getReplSpecific().setEarlierScriptsForReplInterpreter(new ArrayList(earlierScripts)); state.beforeCompile(); KotlinCodegenFacade.generatePackage(