org.jetbrains.jet.lang.resolve.calls.context
Class ResolutionContext<Context extends ResolutionContext<Context>>

java.lang.Object
  extended by org.jetbrains.jet.lang.resolve.calls.context.ResolutionContext<Context>
Direct Known Subclasses:
CallResolutionContext, ExpressionTypingContext, SimpleResolutionContext

public abstract class ResolutionContext<Context extends ResolutionContext<Context>>
extends java.lang.Object


Field Summary
 CallResolverExtension callResolverExtension
           
 ContextDependency contextDependency
           
 DataFlowInfo dataFlowInfo
           
 JetType expectedType
           
 ExpressionPosition expressionPosition
           
 LabelResolver labelResolver
           
 ResolutionResultsCache resolutionResultsCache
           
 JetScope scope
           
 BindingTrace trace
           
 
Constructor Summary
protected ResolutionContext(BindingTrace trace, JetScope scope, JetType expectedType, DataFlowInfo dataFlowInfo, ExpressionPosition expressionPosition, ContextDependency contextDependency, ResolutionResultsCache resolutionResultsCache, LabelResolver labelResolver, CallResolverExtension callResolverExtension)
           
 
Method Summary
protected abstract  Context create(BindingTrace trace, JetScope scope, DataFlowInfo dataFlowInfo, JetType expectedType, ExpressionPosition expressionPosition, ContextDependency contextDependency, ResolutionResultsCache resolutionResultsCache, LabelResolver labelResolver)
           
 Context replaceBindingTrace(BindingTrace trace)
           
 Context replaceContextDependency(ContextDependency newContextDependency)
           
 Context replaceDataFlowInfo(DataFlowInfo newDataFlowInfo)
           
 Context replaceExpectedType(JetType newExpectedType)
           
 Context replaceExpressionPosition(ExpressionPosition expressionPosition)
           
 Context replaceResolutionResultsCache(ResolutionResultsCache newResolutionResultsCache)
           
 Context replaceScope(JetScope newScope)
           
 Context replaceTraceAndCache(TemporaryTraceAndCache traceAndCache)
           
protected abstract  Context self()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

trace

public final BindingTrace trace

scope

public final JetScope scope

expectedType

public final JetType expectedType

dataFlowInfo

public final DataFlowInfo dataFlowInfo

expressionPosition

public final ExpressionPosition expressionPosition

contextDependency

public final ContextDependency contextDependency

resolutionResultsCache

public final ResolutionResultsCache resolutionResultsCache

labelResolver

public final LabelResolver labelResolver

callResolverExtension

public final CallResolverExtension callResolverExtension
Constructor Detail

ResolutionContext

protected ResolutionContext(@NotNull
                            BindingTrace trace,
                            @NotNull
                            JetScope scope,
                            @NotNull
                            JetType expectedType,
                            @NotNull
                            DataFlowInfo dataFlowInfo,
                            @NotNull
                            ExpressionPosition expressionPosition,
                            @NotNull
                            ContextDependency contextDependency,
                            @NotNull
                            ResolutionResultsCache resolutionResultsCache,
                            @NotNull
                            LabelResolver labelResolver,
                            @NotNull
                            CallResolverExtension callResolverExtension)
Method Detail

create

protected abstract Context create(@NotNull
                                  BindingTrace trace,
                                  @NotNull
                                  JetScope scope,
                                  @NotNull
                                  DataFlowInfo dataFlowInfo,
                                  @NotNull
                                  JetType expectedType,
                                  @NotNull
                                  ExpressionPosition expressionPosition,
                                  @NotNull
                                  ContextDependency contextDependency,
                                  @NotNull
                                  ResolutionResultsCache resolutionResultsCache,
                                  @NotNull
                                  LabelResolver labelResolver)

self

protected abstract Context self()

replaceBindingTrace

public Context replaceBindingTrace(@NotNull
                                   BindingTrace trace)

replaceExpressionPosition

@NotNull
public Context replaceExpressionPosition(@NotNull
                                                 ExpressionPosition expressionPosition)

replaceDataFlowInfo

@NotNull
public Context replaceDataFlowInfo(@NotNull
                                           DataFlowInfo newDataFlowInfo)

replaceExpectedType

@NotNull
public Context replaceExpectedType(@Nullable
                                           JetType newExpectedType)

replaceScope

@NotNull
public Context replaceScope(@NotNull
                                    JetScope newScope)

replaceContextDependency

@NotNull
public Context replaceContextDependency(@NotNull
                                                ContextDependency newContextDependency)

replaceResolutionResultsCache

@NotNull
public Context replaceResolutionResultsCache(@NotNull
                                                     ResolutionResultsCache newResolutionResultsCache)

replaceTraceAndCache

public Context replaceTraceAndCache(@NotNull
                                    TemporaryTraceAndCache traceAndCache)