org.jetbrains.kotlin.resolve
Class BindingTraceContext

java.lang.Object
  extended by org.jetbrains.kotlin.resolve.BindingTraceContext
All Implemented Interfaces:
DiagnosticSink, BindingTrace

public class BindingTraceContext
extends java.lang.Object
implements BindingTrace


Field Summary
 
Fields inherited from interface org.jetbrains.kotlin.diagnostics.DiagnosticSink
DO_NOTHING, THROW_EXCEPTION
 
Constructor Summary
BindingTraceContext()
           
BindingTraceContext(BindingTraceFilter filter)
           
 
Method Summary
 void clearDiagnostics()
           
static BindingTraceContext createTraceableBindingTrace()
           
<K,V> V
get(ReadOnlySlice<K,V> slice, K key)
           
 BindingContext getBindingContext()
           
<K,V> java.util.Collection<K>
getKeys(WritableSlice<K,V> slice)
           
 KotlinType getType(KtExpression expression)
          Expression type should be taken from EXPRESSION_TYPE_INFO slice
<K> void
record(WritableSlice<K,java.lang.Boolean> slice, K key)
           
<K,V> void
record(WritableSlice<K,V> slice, K key, V value)
           
 void recordType(KtExpression expression, KotlinType type)
          Expression type should be recorded into EXPRESSION_TYPE_INFO slice (either updated old or a new one)
 void report(Diagnostic diagnostic)
           
 boolean wantsDiagnostics()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BindingTraceContext

public BindingTraceContext()

BindingTraceContext

public BindingTraceContext(BindingTraceFilter filter)
Method Detail

createTraceableBindingTrace

@TestOnly
public static BindingTraceContext createTraceableBindingTrace()

report

public void report(@NotNull
                   Diagnostic diagnostic)
Specified by:
report in interface DiagnosticSink

clearDiagnostics

public void clearDiagnostics()

wantsDiagnostics

public boolean wantsDiagnostics()
Specified by:
wantsDiagnostics in interface DiagnosticSink

getBindingContext

@NotNull
public BindingContext getBindingContext()
Specified by:
getBindingContext in interface BindingTrace

record

public <K,V> void record(WritableSlice<K,V> slice,
                         K key,
                         V value)
Specified by:
record in interface BindingTrace

record

public <K> void record(WritableSlice<K,java.lang.Boolean> slice,
                       K key)
Specified by:
record in interface BindingTrace

get

public <K,V> V get(ReadOnlySlice<K,V> slice,
                   K key)
Specified by:
get in interface BindingTrace

getKeys

@NotNull
public <K,V> java.util.Collection<K> getKeys(WritableSlice<K,V> slice)
Specified by:
getKeys in interface BindingTrace

getType

@Nullable
public KotlinType getType(@NotNull
                                   KtExpression expression)
Description copied from interface: BindingTrace
Expression type should be taken from EXPRESSION_TYPE_INFO slice

Specified by:
getType in interface BindingTrace

recordType

public void recordType(@NotNull
                       KtExpression expression,
                       @Nullable
                       KotlinType type)
Description copied from interface: BindingTrace
Expression type should be recorded into EXPRESSION_TYPE_INFO slice (either updated old or a new one)

Specified by:
recordType in interface BindingTrace