REPL overload resolution ambiguity

Fix overload resolution ambiguity in REPL. Note, resolution for
functions declared in script is very different from regular programs:
in scripts function declared later wins. See
functionOverloadResolutionAnyBeatsString for example.

#KT-2272 Fixed
This commit is contained in:
Stepan Koltsov
2012-06-14 14:06:17 +04:00
parent 441e975323
commit 1d0ef01eea
7 changed files with 53 additions and 2 deletions
@@ -43,6 +43,7 @@ import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.BindingTraceContext;
import org.jetbrains.jet.lang.resolve.ScriptHeaderResolver;
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
import org.jetbrains.jet.lang.resolve.TraceBasedRedeclarationHandler;
import org.jetbrains.jet.lang.resolve.java.CompilerDependencies;
@@ -150,6 +151,8 @@ public class ReplInterpreter {
injector.getTopDownAnalyzer().prepareForTheNextReplLine();
psiFile.getScript().putUserData(ScriptHeaderResolver.PRIORITY_KEY, lineNumber);
ScriptDescriptor scriptDescriptor = doAnalyze(psiFile);
Progress backendProgress = new Progress() {