diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/BasicCallResolutionContext.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/BasicCallResolutionContext.java index a68985326ce..d185d34f5e9 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/BasicCallResolutionContext.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/BasicCallResolutionContext.java @@ -94,6 +94,7 @@ public class BasicCallResolutionContext extends CallResolutionContext extends CallResolutionContext> { + @NotNull public final MutableResolvedCall candidateCall; + @NotNull public final TracingStrategy tracing; + @NotNull public final ReceiverValue explicitExtensionReceiverForInvoke; private CallCandidateResolutionContext( @@ -84,6 +87,7 @@ public final class CallCandidateResolutionContext return create(candidateCall, context, trace, tracing, context.call); } + @NotNull public static CallCandidateResolutionContext createForCallBeingAnalyzed( @NotNull MutableResolvedCall candidateCall, @NotNull BasicCallResolutionContext context, @NotNull TracingStrategy tracing ) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/CallResolutionContext.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/CallResolutionContext.java index 76edb9305fb..c0101f7a90c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/CallResolutionContext.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/CallResolutionContext.java @@ -28,7 +28,9 @@ import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.types.JetType; public abstract class CallResolutionContext> extends ResolutionContext { + @NotNull public final Call call; + @NotNull public final CheckValueArgumentsMode checkArguments; @NotNull public final MutableDataFlowInfoForArguments dataFlowInfoForArguments; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/ResolutionContext.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/ResolutionContext.java index cd46d4c775f..5ccfebfa138 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/ResolutionContext.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/context/ResolutionContext.java @@ -26,14 +26,23 @@ import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.TypeUtils; public abstract class ResolutionContext> { + @NotNull public final BindingTrace trace; + @NotNull public final JetScope scope; + @NotNull public final JetType expectedType; + @NotNull public final DataFlowInfo dataFlowInfo; + @NotNull public final ContextDependency contextDependency; + @NotNull public final ResolutionResultsCache resolutionResultsCache; + @NotNull public final CallResolverExtension callResolverExtension; + public final boolean isAnnotationContext; + public final boolean collectAllCandidates; protected ResolutionContext( diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/inference/InferenceErrorData.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/inference/InferenceErrorData.java index 8651552688d..b3d76b2c2b4 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/inference/InferenceErrorData.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/inference/InferenceErrorData.java @@ -47,6 +47,7 @@ public class InferenceErrorData { this.expectedType = expectedType; } + @NotNull public static InferenceErrorData create(@NotNull CallableDescriptor descriptor, @NotNull ConstraintSystem constraintSystem, @NotNull List valueArgumentsTypes, @Nullable JetType receiverArgumentType, @NotNull JetType expectedType) { return new InferenceErrorData(descriptor, constraintSystem, valueArgumentsTypes, receiverArgumentType, expectedType); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/results/OverloadResolutionResultsImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/results/OverloadResolutionResultsImpl.java index bc775e90d2b..929de9b7da5 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/results/OverloadResolutionResultsImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/results/OverloadResolutionResultsImpl.java @@ -141,6 +141,7 @@ public class OverloadResolutionResultsImpl impleme return allCandidates; } + @NotNull public OverloadResolutionResultsImpl changeStatusToSuccess() { if (getResultCode() == Code.SUCCESS) return this; diff --git a/core/descriptors/src/org/jetbrains/jet/lang/resolve/calls/inference/ConstraintSystem.java b/core/descriptors/src/org/jetbrains/jet/lang/resolve/calls/inference/ConstraintSystem.java index d10d9ead394..610718c8be5 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/resolve/calls/inference/ConstraintSystem.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/resolve/calls/inference/ConstraintSystem.java @@ -86,5 +86,6 @@ public interface ConstraintSystem { @NotNull TypeSubstitutor getCurrentSubstitutor(); + @NotNull ConstraintSystem copy(); }