package jetbrains.mps.scope; /*Generated by MPS */ import org.jetbrains.annotations.NotNull; import org.jetbrains.mps.openapi.model.SNode; import org.jetbrains.annotations.Nullable; public class DelegatingScope extends Scope { protected Scope wrapped; public DelegatingScope(@NotNull Scope wrapped) { if (wrapped == null) { // todo: ? throw new IllegalArgumentException(); } this.wrapped = wrapped; } public DelegatingScope() { // setup wrapped field later, before using the scope! } @Override public SNode resolve(SNode contextNode, String refText) { return wrapped.resolve(contextNode, refText); } @Override public Iterable<SNode> getAvailableElements(@Nullable String prefix) { return wrapped.getAvailableElements(prefix); } @Override public String getReferenceText(SNode contextNode, SNode node) { return wrapped.getReferenceText(contextNode, node); } @Override public boolean contains(SNode node) { return wrapped.contains(node); } }