working on REPL: implemented previous lines importing

This commit is contained in:
Stepan Koltsov
2012-06-08 04:19:24 +04:00
parent c580a75f20
commit 6946abbcea
17 changed files with 414 additions and 35 deletions
@@ -91,6 +91,8 @@ public interface BindingContext {
WritableSlice<JetTypeReference, JetScope> TYPE_RESOLUTION_SCOPE = Slices.createSimpleSlice();
WritableSlice<JetExpression, JetScope> RESOLUTION_SCOPE = Slices.createSimpleSlice();
WritableSlice<ScriptDescriptor, JetScope> SCRIPT_SCOPE = Slices.createSimpleSlice();
/** Collected during analyze, used in IDE in auto-cast completion */
WritableSlice<JetExpression, DataFlowInfo> NON_DEFAULT_EXPRESSION_DATA_FLOW = Slices.createSimpleSlice();
@@ -37,7 +37,7 @@ public class ScriptReceiver implements ThisReceiverDescriptor {
@NotNull
@Override
public DeclarationDescriptor getDeclarationDescriptor() {
public ScriptDescriptor getDeclarationDescriptor() {
return scriptDescriptor;
}
@@ -194,6 +194,11 @@ public class ExpressionTypingServices {
scope.changeLockLevel(WritableScope.LockLevel.BOTH);
JetType r = getBlockReturnedTypeWithWritableScope(scope, block, coercionStrategyForLastExpression, context, trace);
scope.changeLockLevel(WritableScope.LockLevel.READING);
if (containingDescriptor instanceof ScriptDescriptor) {
trace.record(BindingContext.SCRIPT_SCOPE, (ScriptDescriptor) containingDescriptor, scope);
}
return r;
}