package org.rascalmpl.values.uptr;
import org.rascalmpl.value.IConstructor;
import org.rascalmpl.value.IInteger;
import org.rascalmpl.value.IList;
import org.rascalmpl.value.ISet;
import org.rascalmpl.values.uptr.visitors.TreeVisitor;
public interface ITree extends IConstructor {
default boolean isAppl() {
return false;
}
default boolean isAmb() {
return false;
}
default boolean isChar() {
return false;
}
default boolean isCycle() {
return false;
}
default IConstructor getProduction() {
throw new UnsupportedOperationException();
}
default ISet getAlternatives() {
throw new UnsupportedOperationException();
}
default IList getArgs() {
throw new UnsupportedOperationException();
}
default IInteger getCharacter() {
throw new UnsupportedOperationException();
}
<E extends Throwable> ITree accept(TreeVisitor<E> v) throws E;
}