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
 DataFlowInfo dataFlowInfo
           
 JetType expectedType
           
 ExpressionPosition expressionPosition
           
 JetScope scope
           
 BindingTrace trace
           
 
Constructor Summary
protected ResolutionContext(BindingTrace trace, JetScope scope, JetType expectedType, DataFlowInfo dataFlowInfo, ExpressionPosition expressionPosition)
           
 
Method Summary
protected abstract  Context create(BindingTrace trace, JetScope scope, DataFlowInfo dataFlowInfo, JetType expectedType, ExpressionPosition expressionPosition)
           
 Context replaceBindingTrace(BindingTrace trace)
           
 Context replaceDataFlowInfo(DataFlowInfo newDataFlowInfo)
           
 Context replaceExpectedType(JetType newExpectedType)
           
 Context replaceExpressionPosition(ExpressionPosition expressionPosition)
           
 Context replaceScope(JetScope newScope)
           
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
Constructor Detail

ResolutionContext

protected ResolutionContext(@NotNull
                            BindingTrace trace,
                            @NotNull
                            JetScope scope,
                            @NotNull
                            JetType expectedType,
                            @NotNull
                            DataFlowInfo dataFlowInfo,
                            @NotNull
                            ExpressionPosition expressionPosition)
Method Detail

create

protected abstract Context create(@NotNull
                                  BindingTrace trace,
                                  @NotNull
                                  JetScope scope,
                                  @NotNull
                                  DataFlowInfo dataFlowInfo,
                                  @NotNull
                                  JetType expectedType,
                                  @NotNull
                                  ExpressionPosition expressionPosition)

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)