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