package org.scribble.ast.name.simple; import org.antlr.runtime.tree.CommonTree; import org.scribble.ast.AstFactoryImpl; import org.scribble.sesstype.kind.ScopeKind; import org.scribble.sesstype.name.Scope; // Currently unused (TODO: interruptible) public class ScopeNode extends SimpleNameNode<ScopeKind> { public ScopeNode(CommonTree source, String identifier) { super(source, identifier); } @Override protected ScopeNode copy() { return new ScopeNode(this.source, getIdentifier()); } @Override public ScopeNode clone() { return (ScopeNode) AstFactoryImpl.FACTORY.SimpleNameNode(this.source, ScopeKind.KIND, getIdentifier()); } @Override public Scope toName() { return new Scope(getIdentifier()); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof ScopeNode)) { return false; } return ((ScopeNode) o).canEqual(this) && super.equals(o); } @Override public boolean canEqual(Object o) { return o instanceof ScopeNode; } @Override public int hashCode() { int hash = 359; hash = 31 * super.hashCode(); return hash; } }