/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd.lang.ecmascript.ast; import java.io.Reader; import java.io.StringReader; import java.io.StringWriter; import net.sourceforge.pmd.lang.ecmascript.EcmascriptParserOptions; public abstract class EcmascriptParserTestBase { public ASTAstRoot parse(String code) { EcmascriptParser parser = new EcmascriptParser(new EcmascriptParserOptions()); Reader sourceCode = new StringReader(code); return (ASTAstRoot) parser.parse(sourceCode); } public ASTAstRoot parse18(String code) { EcmascriptParserOptions parserOptions = new EcmascriptParserOptions(); parserOptions.setRhinoLanguageVersion(EcmascriptParserOptions.Version.VERSION_1_8); EcmascriptParser parser = new EcmascriptParser(parserOptions); Reader sourceCode = new StringReader(code); return (ASTAstRoot) parser.parse(sourceCode); } public String dump(EcmascriptNode<?> node) { DumpFacade dumpFacade = new DumpFacade(); StringWriter writer = new StringWriter(); dumpFacade.initializeWith(writer, "", true, node); dumpFacade.visit(node, ""); return writer.toString(); } }