blob: 73657dca38b42a04c6e35232f0e7d701f9482c69 [file] [log] [blame]
/**
* Copyright (c) 2007 - 2009 OptXware Research and Development LLC.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Daniel Varro - Initial API and implementation
*
* This file was generated automatically based upon the VTCL LPG Parser
* VTCLParser.g
*/
package org.eclipse.viatra2.lpgparser.ast;
import lpg.lpgjavaruntime.*;
public abstract class ASTNode
{
protected ASTNode parent = null;
protected IToken leftIToken,
rightIToken;
protected void setParent(ASTNode parent) { this.parent = parent; }
public ASTNode getParent() { return parent; }
public IToken getLeftIToken() { return leftIToken; }
public IToken getRightIToken() { return rightIToken; }
public IToken[] getPrecedingAdjuncts() { return leftIToken.getPrecedingAdjuncts(); }
public IToken[] getFollowingAdjuncts() { return rightIToken.getPrecedingAdjuncts(); }
public String toString()
{
PrsStream prsStream = leftIToken.getPrsStream();
return new String(prsStream.getInputChars(),
leftIToken.getStartOffset(),
rightIToken.getEndOffset() - leftIToken.getStartOffset() + 1);
}
public ASTNode(IToken token) { this.leftIToken = this.rightIToken = token; }
public ASTNode(IToken leftIToken, IToken rightIToken)
{
this.leftIToken = leftIToken;
this.rightIToken = rightIToken;
}
void initialize() {}
/**
* Since the Ast type has no children, any two instances of it are equal.
*/
public boolean equals(Object o) { return o instanceof ASTNode; }
public abstract int hashCode();
public abstract void accept(Visitor v);
public abstract void accept(ArgumentVisitor v, Object o);
public abstract Object accept(ResultVisitor v);
public abstract Object accept(ResultArgumentVisitor v, Object o);
}