blob: 9145fd363dba8811de2a3b353c51ff0469ba03df [file] [log] [blame]
package org.eclipse.bpel.xpath10.parser;
import org.eclipse.bpel.xpath10.AllNodeStep;
import org.eclipse.bpel.xpath10.BinaryExpr;
import org.eclipse.bpel.xpath10.CommentNodeStep;
import org.eclipse.bpel.xpath10.FilterExpr;
import org.eclipse.bpel.xpath10.FunctionCallExpr;
import org.eclipse.bpel.xpath10.LiteralExpr;
import org.eclipse.bpel.xpath10.LocationPath;
import org.eclipse.bpel.xpath10.NameStep;
import org.eclipse.bpel.xpath10.NumberExpr;
import org.eclipse.bpel.xpath10.PathExpr;
import org.eclipse.bpel.xpath10.Predicate;
import org.eclipse.bpel.xpath10.ProcessingInstructionNodeStep;
import org.eclipse.bpel.xpath10.TextNodeStep;
import org.eclipse.bpel.xpath10.UnaryExpr;
import org.eclipse.bpel.xpath10.UnionExpr;
import org.eclipse.bpel.xpath10.VariableReferenceExpr;
import org.eclipse.bpel.xpath10.Visitor;;
/**
*
* @author Michal Chmielewski (michal.chmielewski@oracle.com)
* @date Aug 26, 2008
*
*/
@SuppressWarnings({ "boxing", "nls" })
public class SemanticTreeVistor extends Visitor {
int fLevel = 0;
void pushLevel () {
fLevel ++;
}
void popLevel () {
fLevel--;
}
@Override
protected void visit (AllNodeStep step) {
pushLevel();
p("> %s ", step.getText());
p0(" [%d,%d] %s\n",step.getPosition(), step.getEndPosition(),step.getClass().getSimpleName());
super.visit(step);
popLevel();
}
@Override
protected void visit (BinaryExpr expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName());
super.visit(expr);
popLevel();
}
@Override
protected void visit(CommentNodeStep step) {
pushLevel();
p("> %s",step.getText());
p0(" [%d,%d] %s\n",step.getPosition(), step.getEndPosition(),step.getClass().getSimpleName());
super.visit(step);
popLevel();
}
@Override
protected void visit(FilterExpr expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName());
super.visit(expr);
popLevel();
}
@Override
protected void visit(FunctionCallExpr expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName());
super.visit(expr);
popLevel();
}
@Override
protected void visit(LiteralExpr expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName());
super.visit(expr);
popLevel();
}
@Override
protected void visit(LocationPath expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName());
super.visit(expr);
popLevel();
}
@Override
protected void visit(NameStep step) {
pushLevel();
p("> %s",step.getText());
p0(" [%d,%d] %s\n",step.getPosition(), step.getEndPosition(),step.getClass().getSimpleName());
super.visit(step);
popLevel();
}
@Override
protected void visit(NumberExpr expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName());
super.visit(expr);
popLevel();
}
@Override
protected void visit(PathExpr expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName());
super.visit(expr);
popLevel();
}
@Override
protected void visit(Predicate predicate) {
pushLevel();
p("> %s",predicate.getText());
p0(" [%d,%d] %s\n",predicate.getPosition(), predicate.getEndPosition() ,predicate.getClass().getSimpleName());
super.visit(predicate);
popLevel();
}
@Override
protected void visit(ProcessingInstructionNodeStep step) {
pushLevel();
p("> %s",step.getText());
p0(" [%d,%d] %s\n",step.getPosition(), step.getEndPosition(),step.getClass().getSimpleName() );
super.visit(step);
popLevel();
}
@Override
protected void visit(TextNodeStep step) {
pushLevel();
p("> %s",step.getText());
p0(" [%d,%d] %s\n",step.getPosition(), step.getEndPosition() ,step.getClass().getSimpleName() );
super.visit(step);
popLevel();
}
@Override
protected void visit(UnaryExpr expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName());
super.visit(expr);
popLevel();
}
@Override
protected void visit(UnionExpr expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName() );
super.visit(expr);
popLevel();
}
@Override
protected void visit(VariableReferenceExpr expr) {
pushLevel();
p("> %s",expr.getText());
p0(" [%d,%d] %s\n",expr.getPosition(), expr.getEndPosition(),expr.getClass().getSimpleName());
super.visit(expr);
popLevel();
}
void p (String msg, Object ... args) {
for(int i=0 ; i < fLevel; i++) {
System.out.print(" ");
}
System.out.printf(msg, args);
}
void p0(String msg, Object ... args) {
System.out.printf(msg, args);
}
}