001 package org.jetbrains.jet.lang.resolve.calls.context;
002
003 import org.jetbrains.annotations.NotNull;
004 import org.jetbrains.jet.lang.resolve.BindingTrace;
005 import org.jetbrains.jet.lang.resolve.calls.CallResolverExtension;
006 import org.jetbrains.jet.lang.resolve.calls.autocasts.DataFlowInfo;
007 import org.jetbrains.jet.lang.resolve.scopes.JetScope;
008 import org.jetbrains.jet.lang.types.JetType;
009 import org.jetbrains.jet.lang.types.expressions.LabelResolver;
010
011 public class SimpleResolutionContext extends ResolutionContext<SimpleResolutionContext> {
012 public SimpleResolutionContext(
013 @NotNull BindingTrace trace,
014 @NotNull JetScope scope,
015 @NotNull JetType expectedType,
016 @NotNull DataFlowInfo dataFlowInfo,
017 @NotNull ExpressionPosition expressionPosition,
018 @NotNull ContextDependency contextDependency,
019 @NotNull ResolutionResultsCache resolutionResultsCache,
020 @NotNull LabelResolver labelResolver,
021 @NotNull CallResolverExtension callResolverExtension
022 ) {
023 super(trace, scope, expectedType, dataFlowInfo, expressionPosition, contextDependency, resolutionResultsCache, labelResolver,
024 callResolverExtension);
025 }
026
027 @Override
028 protected SimpleResolutionContext create(
029 @NotNull BindingTrace trace,
030 @NotNull JetScope scope,
031 @NotNull DataFlowInfo dataFlowInfo,
032 @NotNull JetType expectedType,
033 @NotNull ExpressionPosition expressionPosition,
034 @NotNull ContextDependency contextDependency,
035 @NotNull ResolutionResultsCache resolutionResultsCache,
036 @NotNull LabelResolver labelResolver
037 ) {
038 return new SimpleResolutionContext(
039 trace, scope, expectedType, dataFlowInfo, expressionPosition, contextDependency, resolutionResultsCache, labelResolver,
040 callResolverExtension);
041 }
042
043 @Override
044 protected SimpleResolutionContext self() {
045 return this;
046 }
047 }