org.jetbrains.kotlin.resolve
Interface BindingContext


public interface BindingContext


Field Summary
static java.lang.Void _static_initializer
          Deprecated. 
static WritableSlice<JetReferenceExpression,java.util.Collection<? extends com.intellij.psi.PsiElement>> AMBIGUOUS_LABEL_TARGET
           
static WritableSlice<JetExpression,java.util.Collection<? extends DeclarationDescriptor>> AMBIGUOUS_REFERENCE_TARGET
           
static WritableSlice<JetAnnotationEntry,AnnotationDescriptor> ANNOTATION
           
static WritableSlice<AnnotationDescriptor,JetAnnotationEntry> ANNOTATION_DESCRIPTOR_TO_PSI_ELEMENT
           
static WritableSlice<ValueParameterDescriptor,java.lang.Boolean> AUTO_CREATED_IT
           
static WritableSlice<PropertyDescriptor,java.lang.Boolean> BACKING_FIELD_REQUIRED
           
static WritableSlice<JetFunctionLiteralExpression,java.lang.Boolean> BLOCK
           
static WritableSlice<JetElement,Call> CALL
           
static WritableSlice<VariableDescriptor,CaptureKind> CAPTURED_IN_CLOSURE
           
static WritableSlice<com.intellij.psi.PsiElement,ClassDescriptor> CLASS
           
static WritableSlice<JetExpression,CompileTimeConstant<?>> COMPILE_TIME_VALUE
           
static WritableSlice<JetMultiDeclarationEntry,ResolvedCall<FunctionDescriptor>> COMPONENT_RESOLVED_CALL
           
static WritableSlice<JetElement,ConstraintSystemCompleter> CONSTRAINT_SYSTEM_COMPLETER
           
static WritableSlice<com.intellij.psi.PsiElement,ConstructorDescriptor> CONSTRUCTOR
           
static WritableSlice<ValueParameterDescriptor,FunctionDescriptor> DATA_CLASS_COMPONENT_FUNCTION
           
static WritableSlice<ClassDescriptor,FunctionDescriptor> DATA_CLASS_COPY_FUNCTION
           
static WritableSlice<JetExpression,DataFlowInfo> DATAFLOW_INFO_AFTER_CONDITION
           
static ReadOnlySlice<com.intellij.psi.PsiElement,DeclarationDescriptor> DECLARATION_TO_DESCRIPTOR
           
static WritableSlice[] DECLARATIONS_TO_DESCRIPTORS
           
static WritableSlice<Box<DeferredType>,java.lang.Boolean> DEFERRED_TYPE
           
static WritableSlice<PropertyAccessorDescriptor,Call> DELEGATED_PROPERTY_CALL
           
static WritableSlice<PropertyDescriptor,ResolvedCall<FunctionDescriptor>> DELEGATED_PROPERTY_PD_RESOLVED_CALL
           
static WritableSlice<PropertyAccessorDescriptor,ResolvedCall<FunctionDescriptor>> DELEGATED_PROPERTY_RESOLVED_CALL
           
static BindingContext EMPTY
           
static WritableSlice<JetWhenExpression,java.lang.Boolean> EXHAUSTIVE_WHEN
           
static WritableSlice<JetExpression,JetType> EXPECTED_EXPRESSION_TYPE
           
static WritableSlice<JetFunction,JetType> EXPECTED_RETURN_TYPE
           
static WritableSlice<JetExpression,DataFlowInfo> EXPRESSION_DATA_FLOW_INFO
           
static WritableSlice<JetExpression,Approximation.Info> EXPRESSION_RESULT_APPROXIMATION
           
static WritableSlice<JetExpression,JetType> EXPRESSION_TYPE
           
static WritableSlice<JetFile,PackageFragmentDescriptor> FILE_TO_PACKAGE_FRAGMENT
           
static WritableSlice<FqNameUnsafe,ClassDescriptor> FQNAME_TO_CLASS_DESCRIPTOR
           
static WritableSlice<com.intellij.psi.PsiElement,SimpleFunctionDescriptor> FUNCTION
           
static WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> INDEXED_LVALUE_GET
           
static WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> INDEXED_LVALUE_SET
           
static WritableSlice<PropertyDescriptor,java.lang.Boolean> IS_INITIALIZED
           
static WritableSlice<JetReferenceExpression,com.intellij.psi.PsiElement> LABEL_TARGET
           
static WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> LOOP_RANGE_HAS_NEXT_RESOLVED_CALL
           
static WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> LOOP_RANGE_ITERATOR_RESOLVED_CALL
           
static WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> LOOP_RANGE_NEXT_RESOLVED_CALL
           
static WritableSlice<CallableMemberDescriptor,java.lang.Boolean> NEED_SYNTHETIC_ACCESSOR
           
static WritableSlice<FqName,java.util.Collection<JetFile>> PACKAGE_TO_FILES
           
static WritableSlice<com.intellij.psi.PsiElement,PropertyDescriptor> PRIMARY_CONSTRUCTOR_PARAMETER
           
static WritableSlice<JetExpression,java.lang.Boolean> PROCESSED
          Has type of current expression has been already resolved
static WritableSlice<JetPropertyAccessor,PropertyAccessorDescriptor> PROPERTY_ACCESSOR
           
static WritableSlice<JetExpression,Qualifier> QUALIFIER
          A qualifier corresponds to a receiver expression (if any).
static WritableSlice<JetReferenceExpression,DeclarationDescriptor> REFERENCE_TARGET
           
static WritableSlice<JetExpression,JetScope> RESOLUTION_SCOPE
           
static WritableSlice<Call,ResolvedCall<?>> RESOLVED_CALL
           
static WritableSlice<com.intellij.psi.PsiElement,ScriptDescriptor> SCRIPT
           
static WritableSlice<ScriptDescriptor,JetScope> SCRIPT_SCOPE
           
static WritableSlice<JetReferenceExpression,ClassDescriptor> SHORT_REFERENCE_TO_DEFAULT_OBJECT
           
static WritableSlice<JetExpression,JetType> SMARTCAST
           
static WritableSlice<ResolvedCall<?>,TailRecursionKind> TAIL_RECURSION_CALL
           
static WritableSlice<JetExpression,DelegatingBindingTrace> TRACE_DELTAS_CACHE
           
static WritableSlice<JetTypeReference,JetType> TYPE
           
static WritableSlice<JetTypeParameter,TypeParameterDescriptor> TYPE_PARAMETER
           
static WritableSlice<JetTypeReference,JetScope> TYPE_RESOLUTION_SCOPE
          A scope where type of expression has been resolved
static WritableSlice<JetElement,java.lang.Boolean> UNREACHABLE_CODE
           
static WritableSlice<JetElement,java.lang.Boolean> USED_AS_EXPRESSION
           
static WritableSlice<JetParameter,VariableDescriptor> VALUE_PARAMETER
           
static WritableSlice<ValueParameterDescriptor,PropertyDescriptor> VALUE_PARAMETER_AS_PROPERTY
           
static WritableSlice<com.intellij.psi.PsiElement,VariableDescriptor> VARIABLE
           
static WritableSlice<JetExpression,java.lang.Boolean> VARIABLE_REASSIGNMENT
           
 
Method Summary
<K,V> V
get(ReadOnlySlice<K,V> slice, K key)
           
 Diagnostics getDiagnostics()
           
<K,V> java.util.Collection<K>
getKeys(WritableSlice<K,V> slice)
           
<K,V> com.google.common.collect.ImmutableMap<K,V>
getSliceContents(ReadOnlySlice<K,V> slice)
          This method should be used only for debug and testing
 

Field Detail

EMPTY

static final BindingContext EMPTY

ANNOTATION_DESCRIPTOR_TO_PSI_ELEMENT

static final WritableSlice<AnnotationDescriptor,JetAnnotationEntry> ANNOTATION_DESCRIPTOR_TO_PSI_ELEMENT

ANNOTATION

static final WritableSlice<JetAnnotationEntry,AnnotationDescriptor> ANNOTATION

COMPILE_TIME_VALUE

static final WritableSlice<JetExpression,CompileTimeConstant<?>> COMPILE_TIME_VALUE

TYPE

static final WritableSlice<JetTypeReference,JetType> TYPE

EXPRESSION_TYPE

static final WritableSlice<JetExpression,JetType> EXPRESSION_TYPE

EXPECTED_EXPRESSION_TYPE

static final WritableSlice<JetExpression,JetType> EXPECTED_EXPRESSION_TYPE

EXPECTED_RETURN_TYPE

static final WritableSlice<JetFunction,JetType> EXPECTED_RETURN_TYPE

EXPRESSION_DATA_FLOW_INFO

static final WritableSlice<JetExpression,DataFlowInfo> EXPRESSION_DATA_FLOW_INFO

EXPRESSION_RESULT_APPROXIMATION

static final WritableSlice<JetExpression,Approximation.Info> EXPRESSION_RESULT_APPROXIMATION

DATAFLOW_INFO_AFTER_CONDITION

static final WritableSlice<JetExpression,DataFlowInfo> DATAFLOW_INFO_AFTER_CONDITION

QUALIFIER

static final WritableSlice<JetExpression,Qualifier> QUALIFIER
A qualifier corresponds to a receiver expression (if any). For 'A.B' qualifier is recorded for 'A'.


REFERENCE_TARGET

static final WritableSlice<JetReferenceExpression,DeclarationDescriptor> REFERENCE_TARGET

SHORT_REFERENCE_TO_DEFAULT_OBJECT

static final WritableSlice<JetReferenceExpression,ClassDescriptor> SHORT_REFERENCE_TO_DEFAULT_OBJECT

RESOLVED_CALL

static final WritableSlice<Call,ResolvedCall<?>> RESOLVED_CALL

TAIL_RECURSION_CALL

static final WritableSlice<ResolvedCall<?>,TailRecursionKind> TAIL_RECURSION_CALL

CONSTRAINT_SYSTEM_COMPLETER

static final WritableSlice<JetElement,ConstraintSystemCompleter> CONSTRAINT_SYSTEM_COMPLETER

CALL

static final WritableSlice<JetElement,Call> CALL

AMBIGUOUS_REFERENCE_TARGET

static final WritableSlice<JetExpression,java.util.Collection<? extends DeclarationDescriptor>> AMBIGUOUS_REFERENCE_TARGET

TRACE_DELTAS_CACHE

static final WritableSlice<JetExpression,DelegatingBindingTrace> TRACE_DELTAS_CACHE

LOOP_RANGE_ITERATOR_RESOLVED_CALL

static final WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> LOOP_RANGE_ITERATOR_RESOLVED_CALL

LOOP_RANGE_HAS_NEXT_RESOLVED_CALL

static final WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> LOOP_RANGE_HAS_NEXT_RESOLVED_CALL

LOOP_RANGE_NEXT_RESOLVED_CALL

static final WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> LOOP_RANGE_NEXT_RESOLVED_CALL

DELEGATED_PROPERTY_RESOLVED_CALL

static final WritableSlice<PropertyAccessorDescriptor,ResolvedCall<FunctionDescriptor>> DELEGATED_PROPERTY_RESOLVED_CALL

DELEGATED_PROPERTY_CALL

static final WritableSlice<PropertyAccessorDescriptor,Call> DELEGATED_PROPERTY_CALL

DELEGATED_PROPERTY_PD_RESOLVED_CALL

static final WritableSlice<PropertyDescriptor,ResolvedCall<FunctionDescriptor>> DELEGATED_PROPERTY_PD_RESOLVED_CALL

COMPONENT_RESOLVED_CALL

static final WritableSlice<JetMultiDeclarationEntry,ResolvedCall<FunctionDescriptor>> COMPONENT_RESOLVED_CALL

INDEXED_LVALUE_GET

static final WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> INDEXED_LVALUE_GET

INDEXED_LVALUE_SET

static final WritableSlice<JetExpression,ResolvedCall<FunctionDescriptor>> INDEXED_LVALUE_SET

SMARTCAST

static final WritableSlice<JetExpression,JetType> SMARTCAST

EXHAUSTIVE_WHEN

static final WritableSlice<JetWhenExpression,java.lang.Boolean> EXHAUSTIVE_WHEN

TYPE_RESOLUTION_SCOPE

static final WritableSlice<JetTypeReference,JetScope> TYPE_RESOLUTION_SCOPE
A scope where type of expression has been resolved


RESOLUTION_SCOPE

static final WritableSlice<JetExpression,JetScope> RESOLUTION_SCOPE

SCRIPT_SCOPE

static final WritableSlice<ScriptDescriptor,JetScope> SCRIPT_SCOPE

VARIABLE_REASSIGNMENT

static final WritableSlice<JetExpression,java.lang.Boolean> VARIABLE_REASSIGNMENT

AUTO_CREATED_IT

static final WritableSlice<ValueParameterDescriptor,java.lang.Boolean> AUTO_CREATED_IT

PROCESSED

static final WritableSlice<JetExpression,java.lang.Boolean> PROCESSED
Has type of current expression has been already resolved


USED_AS_EXPRESSION

static final WritableSlice<JetElement,java.lang.Boolean> USED_AS_EXPRESSION

UNREACHABLE_CODE

static final WritableSlice<JetElement,java.lang.Boolean> UNREACHABLE_CODE

CAPTURED_IN_CLOSURE

static final WritableSlice<VariableDescriptor,CaptureKind> CAPTURED_IN_CLOSURE

NEED_SYNTHETIC_ACCESSOR

static final WritableSlice<CallableMemberDescriptor,java.lang.Boolean> NEED_SYNTHETIC_ACCESSOR

DEFERRED_TYPE

static final WritableSlice<Box<DeferredType>,java.lang.Boolean> DEFERRED_TYPE

BACKING_FIELD_REQUIRED

static final WritableSlice<PropertyDescriptor,java.lang.Boolean> BACKING_FIELD_REQUIRED

IS_INITIALIZED

static final WritableSlice<PropertyDescriptor,java.lang.Boolean> IS_INITIALIZED

BLOCK

static final WritableSlice<JetFunctionLiteralExpression,java.lang.Boolean> BLOCK

CLASS

static final WritableSlice<com.intellij.psi.PsiElement,ClassDescriptor> CLASS

SCRIPT

static final WritableSlice<com.intellij.psi.PsiElement,ScriptDescriptor> SCRIPT

TYPE_PARAMETER

static final WritableSlice<JetTypeParameter,TypeParameterDescriptor> TYPE_PARAMETER

FUNCTION

static final WritableSlice<com.intellij.psi.PsiElement,SimpleFunctionDescriptor> FUNCTION
See Also:
BindingContextUtils.recordFunctionDeclarationToDescriptor(BindingTrace, PsiElement, SimpleFunctionDescriptor)}

CONSTRUCTOR

static final WritableSlice<com.intellij.psi.PsiElement,ConstructorDescriptor> CONSTRUCTOR

VARIABLE

static final WritableSlice<com.intellij.psi.PsiElement,VariableDescriptor> VARIABLE

VALUE_PARAMETER

static final WritableSlice<JetParameter,VariableDescriptor> VALUE_PARAMETER

PROPERTY_ACCESSOR

static final WritableSlice<JetPropertyAccessor,PropertyAccessorDescriptor> PROPERTY_ACCESSOR

PRIMARY_CONSTRUCTOR_PARAMETER

static final WritableSlice<com.intellij.psi.PsiElement,PropertyDescriptor> PRIMARY_CONSTRUCTOR_PARAMETER

DECLARATIONS_TO_DESCRIPTORS

static final WritableSlice[] DECLARATIONS_TO_DESCRIPTORS

DECLARATION_TO_DESCRIPTOR

static final ReadOnlySlice<com.intellij.psi.PsiElement,DeclarationDescriptor> DECLARATION_TO_DESCRIPTOR

LABEL_TARGET

static final WritableSlice<JetReferenceExpression,com.intellij.psi.PsiElement> LABEL_TARGET

AMBIGUOUS_LABEL_TARGET

static final WritableSlice<JetReferenceExpression,java.util.Collection<? extends com.intellij.psi.PsiElement>> AMBIGUOUS_LABEL_TARGET

VALUE_PARAMETER_AS_PROPERTY

static final WritableSlice<ValueParameterDescriptor,PropertyDescriptor> VALUE_PARAMETER_AS_PROPERTY

DATA_CLASS_COMPONENT_FUNCTION

static final WritableSlice<ValueParameterDescriptor,FunctionDescriptor> DATA_CLASS_COMPONENT_FUNCTION

DATA_CLASS_COPY_FUNCTION

static final WritableSlice<ClassDescriptor,FunctionDescriptor> DATA_CLASS_COPY_FUNCTION

FQNAME_TO_CLASS_DESCRIPTOR

static final WritableSlice<FqNameUnsafe,ClassDescriptor> FQNAME_TO_CLASS_DESCRIPTOR

FILE_TO_PACKAGE_FRAGMENT

static final WritableSlice<JetFile,PackageFragmentDescriptor> FILE_TO_PACKAGE_FRAGMENT

PACKAGE_TO_FILES

static final WritableSlice<FqName,java.util.Collection<JetFile>> PACKAGE_TO_FILES

_static_initializer

@Deprecated
static final java.lang.Void _static_initializer
Deprecated. 
Method Detail

getDiagnostics

@NotNull
Diagnostics getDiagnostics()

get

@Nullable
<K,V> V get(ReadOnlySlice<K,V> slice,
                     K key)

getKeys

@NotNull
@ReadOnly
<K,V> java.util.Collection<K> getKeys(WritableSlice<K,V> slice)

getSliceContents

@TestOnly
@NotNull
<K,V> com.google.common.collect.ImmutableMap<K,V> getSliceContents(@NotNull
                                                                                    ReadOnlySlice<K,V> slice)
This method should be used only for debug and testing