org.jetbrains.kotlin.resolve
Interface BindingContext


public interface BindingContext


Field Summary
static java.lang.Void _static_initializer
          Deprecated. 
static WritableSlice<KtReferenceExpression,java.util.Collection<? extends com.intellij.psi.PsiElement>> AMBIGUOUS_LABEL_TARGET
           
static WritableSlice<KtExpression,java.util.Collection<? extends DeclarationDescriptor>> AMBIGUOUS_REFERENCE_TARGET
           
static WritableSlice<KtAnnotationEntry,AnnotationDescriptor> ANNOTATION
           
static WritableSlice<ValueParameterDescriptor,java.lang.Boolean> AUTO_CREATED_IT
           
static WritableSlice<PropertyDescriptor,java.lang.Boolean> BACKING_FIELD_REQUIRED
           
static WritableSlice<KtLambdaExpression,java.lang.Boolean> BLOCK
           
static WritableSlice<KtElement,Call> CALL
           
static WritableSlice<VariableDescriptor,CaptureKind> CAPTURED_IN_CLOSURE
           
static WritableSlice<com.intellij.psi.PsiElement,ClassDescriptor> CLASS
           
static WritableSlice<KtExpression,> COMPILE_TIME_VALUE
           
static WritableSlice<KtDestructuringDeclarationEntry,ResolvedCall<FunctionDescriptor>> COMPONENT_RESOLVED_CALL
           
static WritableSlice<KtElement,ConstraintSystemCompleter> CONSTRAINT_SYSTEM_COMPLETER
           
static WritableSlice<com.intellij.psi.PsiElement,ConstructorDescriptor> CONSTRUCTOR
           
static WritableSlice<ConstructorDescriptor,ResolvedCall<ConstructorDescriptor>> CONSTRUCTOR_RESOLVED_DELEGATION_CALL
           
static WritableSlice<ValueParameterDescriptor,FunctionDescriptor> DATA_CLASS_COMPONENT_FUNCTION
           
static WritableSlice<ClassDescriptor,FunctionDescriptor> DATA_CLASS_COPY_FUNCTION
           
static WritableSlice<KtExpression,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<KtWhenExpression,java.lang.Boolean> EXHAUSTIVE_WHEN
           
static WritableSlice<KtExpression,KotlinType> EXPECTED_EXPRESSION_TYPE
           
static WritableSlice<KtFunction,KotlinType> EXPECTED_RETURN_TYPE
           
static WritableSlice<KtExpression,KotlinTypeInfo> EXPRESSION_TYPE_INFO
           
static WritableSlice<KtFile,PackageFragmentDescriptor> FILE_TO_PACKAGE_FRAGMENT
           
static WritableSlice<FqNameUnsafe,ClassDescriptor> FQNAME_TO_CLASS_DESCRIPTOR
           
static WritableSlice<com.intellij.psi.PsiElement,SimpleFunctionDescriptor> FUNCTION
           
static WritableSlice<KtWhenExpression,java.lang.Boolean> IMPLICIT_EXHAUSTIVE_WHEN
           
static WritableSlice<KtExpression,KotlinType> IMPLICIT_RECEIVER_SMARTCAST
           
static WritableSlice<KtExpression,ResolvedCall<FunctionDescriptor>> INDEXED_LVALUE_GET
           
static WritableSlice<KtExpression,ResolvedCall<FunctionDescriptor>> INDEXED_LVALUE_SET
           
static WritableSlice<PropertyDescriptor,java.lang.Boolean> IS_UNINITIALIZED
           
static WritableSlice<KtReferenceExpression,com.intellij.psi.PsiElement> LABEL_TARGET
           
static WritableSlice<KtElement,LexicalScope> LEXICAL_SCOPE
           
static WritableSlice<KtExpression,ResolvedCall<FunctionDescriptor>> LOOP_RANGE_HAS_NEXT_RESOLVED_CALL
           
static WritableSlice<KtExpression,ResolvedCall<FunctionDescriptor>> LOOP_RANGE_ITERATOR_RESOLVED_CALL
           
static WritableSlice<KtExpression,ResolvedCall<FunctionDescriptor>> LOOP_RANGE_NEXT_RESOLVED_CALL
           
static WritableSlice<FqName,java.util.Collection<KtFile>> PACKAGE_TO_FILES
           
static WritableSlice<KtDeclaration,PreliminaryDeclarationVisitor> PRELIMINARY_VISITOR
           
static WritableSlice<com.intellij.psi.PsiElement,PropertyDescriptor> PRIMARY_CONSTRUCTOR_PARAMETER
           
static WritableSlice<KtExpression,java.lang.Boolean> PROCESSED
          Has type of current expression has been already resolved
static WritableSlice<KtPropertyAccessor,PropertyAccessorDescriptor> PROPERTY_ACCESSOR
           
static WritableSlice<KtExpression,Qualifier> QUALIFIER
          A qualifier corresponds to a receiver expression (if any).
static WritableSlice<KtReferenceExpression,DeclarationDescriptor> REFERENCE_TARGET
           
static WritableSlice<Call,ResolvedCall<?>> RESOLVED_CALL
           
static WritableSlice<com.intellij.psi.PsiElement,ScriptDescriptor> SCRIPT
           
static WritableSlice<ScriptDescriptor,LexicalScope> SCRIPT_SCOPE
           
static WritableSlice<KtReferenceExpression,ClassDescriptor> SHORT_REFERENCE_TO_COMPANION_OBJECT
           
static WritableSlice<KtExpression,KotlinType> SMARTCAST
           
static WritableSlice<KtExpression,java.lang.Boolean> SMARTCAST_NULL
           
static WritableSlice<ResolvedCall<?>,TailRecursionKind> TAIL_RECURSION_CALL
           
static WritableSlice<KtTypeReference,KotlinType> TYPE
           
static WritableSlice<KtTypeParameter,TypeParameterDescriptor> TYPE_PARAMETER
           
static WritableSlice<KtElement,java.lang.Boolean> UNREACHABLE_CODE
           
static WritableSlice<KtElement,java.lang.Boolean> USED_AS_EXPRESSION
           
static WritableSlice<KtElement,java.lang.Boolean> USED_AS_RESULT_OF_LAMBDA
           
static WritableSlice<KtParameter,VariableDescriptor> VALUE_PARAMETER
           
static WritableSlice<ValueParameterDescriptor,PropertyDescriptor> VALUE_PARAMETER_AS_PROPERTY
           
static WritableSlice<com.intellij.psi.PsiElement,VariableDescriptor> VARIABLE
           
static WritableSlice<KtExpression,java.lang.Boolean> VARIABLE_REASSIGNMENT
           
 
Method Summary
 void addOwnDataTo(BindingTrace trace, boolean commitDiagnostics)
           
<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
 KotlinType getType(KtExpression expression)
           
 

Field Detail

EMPTY

static final BindingContext EMPTY

ANNOTATION

static final WritableSlice<KtAnnotationEntry,AnnotationDescriptor> ANNOTATION

COMPILE_TIME_VALUE

static final WritableSlice<KtExpression,> COMPILE_TIME_VALUE

TYPE

static final WritableSlice<KtTypeReference,KotlinType> TYPE

EXPRESSION_TYPE_INFO

static final WritableSlice<KtExpression,KotlinTypeInfo> EXPRESSION_TYPE_INFO

EXPECTED_EXPRESSION_TYPE

static final WritableSlice<KtExpression,KotlinType> EXPECTED_EXPRESSION_TYPE

EXPECTED_RETURN_TYPE

static final WritableSlice<KtFunction,KotlinType> EXPECTED_RETURN_TYPE

DATAFLOW_INFO_AFTER_CONDITION

static final WritableSlice<KtExpression,DataFlowInfo> DATAFLOW_INFO_AFTER_CONDITION

QUALIFIER

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


REFERENCE_TARGET

static final WritableSlice<KtReferenceExpression,DeclarationDescriptor> REFERENCE_TARGET

SHORT_REFERENCE_TO_COMPANION_OBJECT

static final WritableSlice<KtReferenceExpression,ClassDescriptor> SHORT_REFERENCE_TO_COMPANION_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<KtElement,ConstraintSystemCompleter> CONSTRAINT_SYSTEM_COMPLETER

CALL

static final WritableSlice<KtElement,Call> CALL

AMBIGUOUS_REFERENCE_TARGET

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

LOOP_RANGE_ITERATOR_RESOLVED_CALL

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

LOOP_RANGE_HAS_NEXT_RESOLVED_CALL

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

LOOP_RANGE_NEXT_RESOLVED_CALL

static final WritableSlice<KtExpression,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<KtDestructuringDeclarationEntry,ResolvedCall<FunctionDescriptor>> COMPONENT_RESOLVED_CALL

INDEXED_LVALUE_GET

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

INDEXED_LVALUE_SET

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

SMARTCAST

static final WritableSlice<KtExpression,KotlinType> SMARTCAST

SMARTCAST_NULL

static final WritableSlice<KtExpression,java.lang.Boolean> SMARTCAST_NULL

IMPLICIT_RECEIVER_SMARTCAST

static final WritableSlice<KtExpression,KotlinType> IMPLICIT_RECEIVER_SMARTCAST

EXHAUSTIVE_WHEN

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

IMPLICIT_EXHAUSTIVE_WHEN

static final WritableSlice<KtWhenExpression,java.lang.Boolean> IMPLICIT_EXHAUSTIVE_WHEN

LEXICAL_SCOPE

static final WritableSlice<KtElement,LexicalScope> LEXICAL_SCOPE

SCRIPT_SCOPE

static final WritableSlice<ScriptDescriptor,LexicalScope> SCRIPT_SCOPE

VARIABLE_REASSIGNMENT

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

AUTO_CREATED_IT

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

PROCESSED

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


USED_AS_EXPRESSION

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

USED_AS_RESULT_OF_LAMBDA

static final WritableSlice<KtElement,java.lang.Boolean> USED_AS_RESULT_OF_LAMBDA

UNREACHABLE_CODE

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

CAPTURED_IN_CLOSURE

static final WritableSlice<VariableDescriptor,CaptureKind> CAPTURED_IN_CLOSURE

PRELIMINARY_VISITOR

static final WritableSlice<KtDeclaration,PreliminaryDeclarationVisitor> PRELIMINARY_VISITOR

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_UNINITIALIZED

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

BLOCK

static final WritableSlice<KtLambdaExpression,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<KtTypeParameter,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

CONSTRUCTOR_RESOLVED_DELEGATION_CALL

static final WritableSlice<ConstructorDescriptor,ResolvedCall<ConstructorDescriptor>> CONSTRUCTOR_RESOLVED_DELEGATION_CALL

VARIABLE

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

VALUE_PARAMETER

static final WritableSlice<KtParameter,VariableDescriptor> VALUE_PARAMETER

PROPERTY_ACCESSOR

static final WritableSlice<KtPropertyAccessor,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<KtReferenceExpression,com.intellij.psi.PsiElement> LABEL_TARGET

AMBIGUOUS_LABEL_TARGET

static final WritableSlice<KtReferenceExpression,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<KtFile,PackageFragmentDescriptor> FILE_TO_PACKAGE_FRAGMENT

PACKAGE_TO_FILES

static final WritableSlice<FqName,java.util.Collection<KtFile>> 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


getType

@Nullable
KotlinType getType(@NotNull
                            KtExpression expression)

addOwnDataTo

void addOwnDataTo(@NotNull
                  BindingTrace trace,
                  boolean commitDiagnostics)