/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.ecmascript;
import java.io.Reader;
import java.util.Map;
import net.sourceforge.pmd.lang.AbstractParser;
import net.sourceforge.pmd.lang.ParserOptions;
import net.sourceforge.pmd.lang.TokenManager;
import net.sourceforge.pmd.lang.ast.Node;
import net.sourceforge.pmd.lang.ast.ParseException;
import net.sourceforge.pmd.lang.ecmascript5.Ecmascript5TokenManager;
/**
* Adapter for the EcmascriptParser.
*/
public class Ecmascript3Parser extends AbstractParser {
private net.sourceforge.pmd.lang.ecmascript.ast.EcmascriptParser ecmascriptParser;
public Ecmascript3Parser(ParserOptions parserOptions) {
super(parserOptions);
ecmascriptParser = new net.sourceforge.pmd.lang.ecmascript.ast.EcmascriptParser(
(EcmascriptParserOptions) parserOptions);
}
@Override
public TokenManager createTokenManager(Reader source) {
return new Ecmascript5TokenManager(source);
}
public boolean canParse() {
return true;
}
public Node parse(String fileName, Reader source) throws ParseException {
return ecmascriptParser.parse(source);
}
public Map<Integer, String> getSuppressMap() {
return ecmascriptParser.getSuppressMap();
}
}