From 90bf5ad82366679f31de70d4a13dd72904918ca4 Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Wed, 23 Apr 2014 15:21:26 +0400 Subject: [PATCH] Refactoring: use ResolvedCall instead of ResolvedCallWithTrace where possible --- .../NeedSyntheticCallResolverExtension.java | 2 -- .../calls/tasks/AbstractTracingStrategy.java | 12 ++++---- .../resolve/calls/tasks/TracingStrategy.java | 30 +++++++++---------- .../calls/tasks/TracingStrategyForInvoke.java | 8 ++--- .../calls/tasks/TracingStrategyImpl.java | 8 ++--- .../ControlStructureTypingUtils.java | 15 +++++----- .../resolvewindow/ResolveToolWindow.java | 5 ++-- 7 files changed, 38 insertions(+), 42 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/NeedSyntheticCallResolverExtension.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/NeedSyntheticCallResolverExtension.java index 97c8ca193ad..395edf25d85 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/NeedSyntheticCallResolverExtension.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/NeedSyntheticCallResolverExtension.java @@ -22,8 +22,6 @@ import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor; import org.jetbrains.jet.lang.descriptors.Visibilities; import org.jetbrains.jet.lang.resolve.calls.context.BasicCallResolutionContext; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; -import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCallWithTrace; -import org.jetbrains.jet.lang.resolve.calls.results.OverloadResolutionResultsImpl; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import static org.jetbrains.jet.lang.resolve.BindingContext.NEED_SYNTHETIC_ACCESSOR; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/AbstractTracingStrategy.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/AbstractTracingStrategy.java index 7e237da7361..ffd57bcd3a3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/AbstractTracingStrategy.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/AbstractTracingStrategy.java @@ -27,7 +27,7 @@ import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.calls.inference.*; -import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCallWithTrace; +import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.scopes.receivers.ExpressionReceiver; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue; @@ -55,9 +55,9 @@ public abstract class AbstractTracingStrategy implements TracingStrategy { } @Override - public void recordAmbiguity(@NotNull BindingTrace trace, @NotNull Collection> candidates) { + public void recordAmbiguity(@NotNull BindingTrace trace, @NotNull Collection> candidates) { Collection descriptors = Sets.newHashSet(); - for (ResolvedCallWithTrace candidate : candidates) { + for (ResolvedCall candidate : candidates) { descriptors.add(candidate.getCandidateDescriptor()); } trace.record(AMBIGUOUS_REFERENCE_TARGET, reference, descriptors); @@ -109,19 +109,19 @@ public abstract class AbstractTracingStrategy implements TracingStrategy { } @Override - public void ambiguity(@NotNull BindingTrace trace, @NotNull Collection> descriptors) { + public void ambiguity(@NotNull BindingTrace trace, @NotNull Collection> descriptors) { trace.report(OVERLOAD_RESOLUTION_AMBIGUITY.on(reference, descriptors)); } @Override - public void noneApplicable(@NotNull BindingTrace trace, @NotNull Collection> descriptors) { + public void noneApplicable(@NotNull BindingTrace trace, @NotNull Collection> descriptors) { trace.report(NONE_APPLICABLE.on(reference, descriptors)); } @Override public void cannotCompleteResolve( @NotNull BindingTrace trace, - @NotNull Collection> descriptors + @NotNull Collection> descriptors ) { trace.report(CANNOT_COMPLETE_RESOLVE.on(reference, descriptors)); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategy.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategy.java index 10bd6f94c2f..cfda90a9a80 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategy.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategy.java @@ -24,7 +24,7 @@ import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.calls.inference.InferenceErrorData; -import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCallWithTrace; +import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.jet.lang.types.JetType; @@ -35,19 +35,19 @@ public interface TracingStrategy { TracingStrategy EMPTY = new TracingStrategy() { @Override - public void bindReference(@NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall) {} + public void bindReference(@NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall) {} @Override - public void bindResolvedCall(@NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall) {} + public void bindResolvedCall(@NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall) {} @Override public void unresolvedReference(@NotNull BindingTrace trace) {} @Override - public void unresolvedReferenceWrongReceiver(@NotNull BindingTrace trace, @NotNull Collection> candidates) {} + public void unresolvedReferenceWrongReceiver(@NotNull BindingTrace trace, @NotNull Collection> candidates) {} @Override - public void recordAmbiguity(@NotNull BindingTrace trace, @NotNull Collection> candidates) {} + public void recordAmbiguity(@NotNull BindingTrace trace, @NotNull Collection> candidates) {} @Override public void missingReceiver(@NotNull BindingTrace trace, @NotNull ReceiverParameterDescriptor expectedReceiver) {} @@ -65,15 +65,15 @@ public interface TracingStrategy { public void wrongNumberOfTypeArguments(@NotNull BindingTrace trace, int expectedTypeArgumentCount) {} @Override - public void ambiguity(@NotNull BindingTrace trace, @NotNull Collection> descriptors) {} + public void ambiguity(@NotNull BindingTrace trace, @NotNull Collection> descriptors) {} @Override - public void noneApplicable(@NotNull BindingTrace trace, @NotNull Collection> descriptors) {} + public void noneApplicable(@NotNull BindingTrace trace, @NotNull Collection> descriptors) {} @Override public void cannotCompleteResolve( @NotNull BindingTrace trace, - @NotNull Collection> descriptors + @NotNull Collection> descriptors ) {} @Override @@ -95,15 +95,15 @@ public interface TracingStrategy { public void typeInferenceFailed(@NotNull BindingTrace trace, @NotNull InferenceErrorData inferenceErrorData) {} }; - void bindReference(@NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall); + void bindReference(@NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall); - void bindResolvedCall(@NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall); + void bindResolvedCall(@NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall); void unresolvedReference(@NotNull BindingTrace trace); - void unresolvedReferenceWrongReceiver(@NotNull BindingTrace trace, @NotNull Collection> candidates); + void unresolvedReferenceWrongReceiver(@NotNull BindingTrace trace, @NotNull Collection> candidates); - void recordAmbiguity(@NotNull BindingTrace trace, @NotNull Collection> candidates); + void recordAmbiguity(@NotNull BindingTrace trace, @NotNull Collection> candidates); void missingReceiver(@NotNull BindingTrace trace, @NotNull ReceiverParameterDescriptor expectedReceiver); @@ -115,13 +115,13 @@ public interface TracingStrategy { void wrongNumberOfTypeArguments(@NotNull BindingTrace trace, int expectedTypeArgumentCount); - void ambiguity(@NotNull BindingTrace trace, @NotNull Collection> descriptors); + void ambiguity(@NotNull BindingTrace trace, @NotNull Collection> descriptors); - void noneApplicable(@NotNull BindingTrace trace, @NotNull Collection> descriptors); + void noneApplicable(@NotNull BindingTrace trace, @NotNull Collection> descriptors); void cannotCompleteResolve( @NotNull BindingTrace trace, - @NotNull Collection> descriptors + @NotNull Collection> descriptors ); void instantiationOfAbstractClass(@NotNull BindingTrace trace); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategyForInvoke.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategyForInvoke.java index 63225d0914a..e2d14d7c61c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategyForInvoke.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategyForInvoke.java @@ -21,7 +21,7 @@ import org.jetbrains.jet.lang.descriptors.CallableDescriptor; import org.jetbrains.jet.lang.psi.Call; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.resolve.BindingTrace; -import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCallWithTrace; +import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.types.JetType; import java.util.Collection; @@ -44,13 +44,13 @@ public class TracingStrategyForInvoke extends AbstractTracingStrategy { @Override public void bindReference( - @NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall + @NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall ) { } @Override public void bindResolvedCall( - @NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall + @NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall ) { trace.record(RESOLVED_CALL, reference, resolvedCall); trace.record(CALL, reference, call); @@ -63,7 +63,7 @@ public class TracingStrategyForInvoke extends AbstractTracingStrategy { @Override public void unresolvedReferenceWrongReceiver( - @NotNull BindingTrace trace, @NotNull Collection> candidates + @NotNull BindingTrace trace, @NotNull Collection> candidates ) { trace.report(FUNCTION_EXPECTED.on(reference, reference, calleeType)); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategyImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategyImpl.java index 2ba92448eb1..1d70f86cefb 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategyImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/TracingStrategyImpl.java @@ -22,7 +22,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.psi.Call; import org.jetbrains.jet.lang.psi.JetReferenceExpression; import org.jetbrains.jet.lang.resolve.BindingTrace; -import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCallWithTrace; +import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.calls.model.VariableAsFunctionResolvedCall; import org.jetbrains.jet.lang.types.ErrorUtils; @@ -46,7 +46,7 @@ public class TracingStrategyImpl extends AbstractTracingStrategy { } @Override - public void bindReference(@NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall) { + public void bindReference(@NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall) { CallableDescriptor descriptor = resolvedCall.getCandidateDescriptor(); if (resolvedCall instanceof VariableAsFunctionResolvedCall) { descriptor = ((VariableAsFunctionResolvedCall) resolvedCall).getVariableCall().getCandidateDescriptor(); @@ -58,7 +58,7 @@ public class TracingStrategyImpl extends AbstractTracingStrategy { } @Override - public void bindResolvedCall(@NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall) { + public void bindResolvedCall(@NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall) { trace.record(RESOLVED_CALL, call.getCalleeExpression(), resolvedCall); trace.record(CALL, call.getCalleeExpression(), call); } @@ -69,7 +69,7 @@ public class TracingStrategyImpl extends AbstractTracingStrategy { } @Override - public void unresolvedReferenceWrongReceiver(@NotNull BindingTrace trace, @NotNull Collection> candidates) { + public void unresolvedReferenceWrongReceiver(@NotNull BindingTrace trace, @NotNull Collection> candidates) { trace.report(UNRESOLVED_REFERENCE_WRONG_RECEIVER.on(reference, candidates)); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingUtils.java index be585239ac3..8aa55ae80e4 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingUtils.java @@ -35,7 +35,6 @@ import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo; import org.jetbrains.jet.lang.resolve.calls.inference.*; import org.jetbrains.jet.lang.resolve.calls.model.MutableDataFlowInfoForArguments; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; -import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCallWithTrace; import org.jetbrains.jet.lang.resolve.calls.results.OverloadResolutionResults; import org.jetbrains.jet.lang.resolve.calls.tasks.ResolutionCandidate; import org.jetbrains.jet.lang.resolve.calls.tasks.TracingStrategy; @@ -324,14 +323,14 @@ public class ControlStructureTypingUtils { return new ThrowingOnErrorTracingStrategy("resolve " + constructionName + " as a call") { @Override public void bindReference( - @NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall + @NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall ) { //do nothing } @Override public void bindResolvedCall( - @NotNull BindingTrace trace, @NotNull ResolvedCallWithTrace resolvedCall + @NotNull BindingTrace trace, @NotNull ResolvedCall resolvedCall ) { trace.record(RESOLVED_CALL, call.getCalleeExpression(), resolvedCall); trace.record(CALL, call.getCalleeExpression(), call); @@ -387,14 +386,14 @@ public class ControlStructureTypingUtils { @Override public void unresolvedReferenceWrongReceiver( - @NotNull BindingTrace trace, @NotNull Collection> candidates + @NotNull BindingTrace trace, @NotNull Collection> candidates ) { throwError(); } @Override public void recordAmbiguity( - @NotNull BindingTrace trace, @NotNull Collection> candidates + @NotNull BindingTrace trace, @NotNull Collection> candidates ) { throwError(); } @@ -432,21 +431,21 @@ public class ControlStructureTypingUtils { @Override public void ambiguity( - @NotNull BindingTrace trace, @NotNull Collection> descriptors + @NotNull BindingTrace trace, @NotNull Collection> descriptors ) { throwError(); } @Override public void noneApplicable( - @NotNull BindingTrace trace, @NotNull Collection> descriptors + @NotNull BindingTrace trace, @NotNull Collection> descriptors ) { throwError(); } @Override public void cannotCompleteResolve( - @NotNull BindingTrace trace, @NotNull Collection> descriptors + @NotNull BindingTrace trace, @NotNull Collection> descriptors ) { throwError(); } diff --git a/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolWindow.java b/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolWindow.java index 75d490eb27d..be39569352b 100644 --- a/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolWindow.java +++ b/idea/src/org/jetbrains/jet/plugin/internal/resolvewindow/ResolveToolWindow.java @@ -40,7 +40,6 @@ import org.jetbrains.jet.lang.psi.JetReferenceExpression; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.calls.inference.BoundsOwner; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; -import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCallWithTrace; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedValueArgument; import org.jetbrains.jet.lang.resolve.calls.results.ResolutionDebugInfo; import org.jetbrains.jet.lang.resolve.calls.tasks.ResolutionTask; @@ -205,7 +204,7 @@ public class ResolveToolWindow extends JPanel implements Disposable { if (debugInfo != null) { for (ResolutionTask resolutionTask : debugInfo.get(TASKS)) { - for (ResolvedCallWithTrace resolvedCall : resolutionTask.getResolvedCalls()) { + for (ResolvedCall resolvedCall : resolutionTask.getResolvedCalls()) { renderResolutionLogForCall(debugInfo, resolvedCall, result); } } @@ -223,7 +222,7 @@ public class ResolveToolWindow extends JPanel implements Disposable { return result.toString(); } - private static void renderResolutionLogForCall(Data debugInfo, ResolvedCallWithTrace resolvedCall, StringBuilder result) { + private static void renderResolutionLogForCall(Data debugInfo, ResolvedCall resolvedCall, StringBuilder result) { result.append("Trying to call ").append(resolvedCall.getCandidateDescriptor()).append("\n"); StringBuilder errors = debugInfo.getByKey(ERRORS, resolvedCall); if (errors != null) {