/*******************************************************************************
* Copyright (c) 2008 Scott Stanchfield.
* 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:
* Based on the ANTLR parser generator by Terence Parr, http://antlr.org
* Ric Klaren <klaren@cs.utwente.nl>
* Scott Stanchfield - Modifications for XML Parsing
*******************************************************************************/
package com.javadude.antxr;
import com.javadude.antxr.collections.AST;
public class NoViableAltException extends RecognitionException {
private static final long serialVersionUID = 1L;
public Token token;
public AST node; // handles parsing and treeparsing
public NoViableAltException(AST t) {
super("NoViableAlt", "<AST>", t.getLine(), t.getColumn());
node = t;
}
public NoViableAltException(Token t, String fileName_) {
super("NoViableAlt", fileName_, t.getLine(), t.getColumn());
token = t;
}
/**
* Returns a clean error message (no line number/column information)
*/
@Override
public String getMessage() {
if (token != null) {
return "unexpected token: " + token.getText();
}
// must a tree parser error if token==null
if (node == TreeParser.ASTNULL) {
return "unexpected end of subtree";
}
return "unexpected AST node: " + node.toString();
}
}