From 2654534edeefa29270be611653e49fedea61f57a Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Mon, 30 Apr 2012 15:36:46 +0400 Subject: [PATCH] ChainedTemporaryBindingTrace added --- .../resolve/ChainedTemporaryBindingTrace.java | 37 +++++++++++++++++++ .../lang/resolve/TemporaryBindingTrace.java | 5 +-- 2 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 compiler/frontend/src/org/jetbrains/jet/lang/resolve/ChainedTemporaryBindingTrace.java diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ChainedTemporaryBindingTrace.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ChainedTemporaryBindingTrace.java new file mode 100644 index 00000000000..b168498bb7e --- /dev/null +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ChainedTemporaryBindingTrace.java @@ -0,0 +1,37 @@ +/* + * Copyright 2010-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.lang.resolve; + +/** + * @author svtk + */ +public class ChainedTemporaryBindingTrace extends TemporaryBindingTrace { + + public static ChainedTemporaryBindingTrace create(TemporaryBindingTrace trace) { + return new ChainedTemporaryBindingTrace(trace); + } + + private ChainedTemporaryBindingTrace(TemporaryBindingTrace trace) { + super(trace); + } + + @Override + public void commit() { + super.commit(); + ((TemporaryBindingTrace) trace).commit(); + } +} diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TemporaryBindingTrace.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TemporaryBindingTrace.java index e8c3425c812..3122f54397d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TemporaryBindingTrace.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TemporaryBindingTrace.java @@ -25,10 +25,9 @@ public class TemporaryBindingTrace extends DelegatingBindingTrace { return new TemporaryBindingTrace(trace); } - private final BindingTrace trace; + protected final BindingTrace trace; - - private TemporaryBindingTrace(BindingTrace trace) { + protected TemporaryBindingTrace(BindingTrace trace) { super(trace.getBindingContext()); this.trace = trace; }