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    }