Only use script parameters from definition
Passing parameters of a _single_ script into TopDownAnalyser makes no sense
This commit is contained in:
+9
-1
@@ -41,7 +41,10 @@ import org.jetbrains.jet.codegen.state.Progress;
|
||||
import org.jetbrains.jet.config.CommonConfigurationKeys;
|
||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.parsing.JetScriptDefinition;
|
||||
import org.jetbrains.jet.lang.parsing.JetScriptDefinitionProvider;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.ScriptNameUtil;
|
||||
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
||||
@@ -221,6 +224,12 @@ public class KotlinToJVMBytecodeCompiler {
|
||||
|
||||
@Nullable
|
||||
public static Class<?> compileScript(@NotNull KotlinPaths paths, @NotNull JetCoreEnvironment environment) {
|
||||
List<AnalyzerScriptParameter> scriptParameters = environment.getConfiguration().getList(JVMConfigurationKeys.SCRIPT_PARAMETERS);
|
||||
if (!scriptParameters.isEmpty()) {
|
||||
JetScriptDefinitionProvider.getInstance(environment.getProject()).addScriptDefinition(
|
||||
new JetScriptDefinition(".kts", scriptParameters)
|
||||
);
|
||||
}
|
||||
GenerationState state = analyzeAndGenerate(environment);
|
||||
if (state == null) {
|
||||
return null;
|
||||
@@ -272,7 +281,6 @@ public class KotlinToJVMBytecodeCompiler {
|
||||
environment.getProject(),
|
||||
environment.getSourceFiles(),
|
||||
sharedTrace,
|
||||
environment.getConfiguration().getList(JVMConfigurationKeys.SCRIPT_PARAMETERS),
|
||||
Predicates.<PsiFile>alwaysTrue(),
|
||||
false,
|
||||
sharedModule,
|
||||
|
||||
@@ -108,8 +108,8 @@ public class ReplInterpreter {
|
||||
new ExceptionTracker(), // dummy
|
||||
Predicates.<PsiFile>alwaysTrue(),
|
||||
false,
|
||||
true,
|
||||
Collections.<AnalyzerScriptParameter>emptyList());
|
||||
true
|
||||
);
|
||||
injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module, MemberFilter.ALWAYS_TRUE);
|
||||
topDownAnalysisContext = new TopDownAnalysisContext(topDownAnalysisParameters);
|
||||
module.addFragmentProvider(SOURCES, injector.getTopDownAnalyzer().getPackageFragmentProvider());
|
||||
|
||||
Reference in New Issue
Block a user