org.jetbrains.kotlin.resolve
Class ObservableBindingTrace

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

public class ObservableBindingTrace
extends java.lang.Object
implements BindingTrace


Nested Class Summary
static interface ObservableBindingTrace.RecordHandler<K,V>
           
 
Field Summary
 
Fields inherited from interface org.jetbrains.kotlin.diagnostics.DiagnosticSink
DO_NOTHING, THROW_EXCEPTION
 
Constructor Summary
ObservableBindingTrace(BindingTrace originalTrace)
           
 
Method Summary
<K,V> ObservableBindingTrace
addHandler(WritableSlice<K,V> slice, ObservableBindingTrace.RecordHandler<K,V> handler)
           
<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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObservableBindingTrace

public ObservableBindingTrace(BindingTrace originalTrace)
Method Detail

report

public void report(@NotNull
                   Diagnostic diagnostic)
Specified by:
report 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

addHandler

public <K,V> ObservableBindingTrace addHandler(@NotNull
                                               WritableSlice<K,V> slice,
                                               @NotNull
                                               ObservableBindingTrace.RecordHandler<K,V> handler)