org.jetbrains.kotlin.js.backend.ast.JsContext Maven / Gradle / Ivy
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package org.jetbrains.kotlin.js.backend.ast;
import org.jetbrains.annotations.Nullable;
import java.util.List;
/**
* The context in which a JsNode visitation occurs. This represents the set of
* possible operations a JsVisitor subclass can perform on the currently visited
* node.
*/
public abstract class JsContext {
public void addPrevious(R node) {
throw new UnsupportedOperationException();
}
public void addPrevious(List nodes) {
for (R node : nodes) {
addPrevious(node);
}
}
public void addNext(R node) {
throw new UnsupportedOperationException();
}
public abstract void removeMe();
public abstract void replaceMe(R node);
@Nullable
public abstract T getCurrentNode();
}