use of net.sourceforge.pmd.lang.ast.JavaCharStream in project pmd by pmd.
the class AbstractJspNodesTst method getNodes.
/**
* Run the JSP parser on the source, and return the nodes of type clazz.
*
* @param clazz
* @param source
* @return Set
*/
public <T extends JspNode> Set<T> getNodes(Class<T> clazz, String source) {
JspParser parser = new JspParser(new JavaCharStream(new StringReader(source)));
Node rootNode = parser.CompilationUnit();
Set<T> nodes = new HashSet<>();
addNodeAndSubnodes(rootNode, nodes, clazz);
return nodes;
}
use of net.sourceforge.pmd.lang.ast.JavaCharStream in project pmd by pmd.
the class AbstractVfNodesTest method getNodes.
/**
* Run the VF parser on the source, and return the nodes of type clazz.
*
* @param clazz
* @param source
* @return Set
*/
public <T extends VfNode> Set<T> getNodes(Class<T> clazz, String source) {
VfParser parser = new VfParser(new JavaCharStream(new StringReader(source)));
Node rootNode = parser.CompilationUnit();
Set<T> nodes = new HashSet<>();
addNodeAndSubnodes(rootNode, nodes, clazz);
return nodes;
}
use of net.sourceforge.pmd.lang.ast.JavaCharStream in project pmd by pmd.
the class AbstractJavaParser method createJavaParser.
/**
* Subclass should override this method to modify the JavaParser as needed.
*/
protected JavaParser createJavaParser(Reader source) throws ParseException {
parser = new JavaParser(new JavaCharStream(source));
String suppressMarker = getParserOptions().getSuppressMarker();
if (suppressMarker != null) {
parser.setSuppressMarker(suppressMarker);
}
return parser;
}
use of net.sourceforge.pmd.lang.ast.JavaCharStream in project pmd-eclipse-plugin by pmd.
the class PMDGenerateASTAction method generateAST.
/**
* Generate a AST for a file
*
* @param file
* a file
*/
private void generateAST(IFile file) {
LOG.info("Generating AST for file " + file.getName());
ByteArrayOutputStream byteArrayOutputStream = null;
ByteArrayInputStream astInputStream = null;
try {
JavaParser parser = new JavaParser(new JavaCharStream(file.getContents()));
parser.setJdkVersion(Integer.MAX_VALUE);
ASTCompilationUnit compilationUnit = parser.CompilationUnit();
byteArrayOutputStream = new ByteArrayOutputStream();
IAstWriter astWriter = PMDPlugin.getDefault().getAstWriter();
astWriter.write(byteArrayOutputStream, compilationUnit);
byteArrayOutputStream.flush();
IFile astFile = createASTFile(file);
if (astFile != null) {
if (astFile.exists()) {
astFile.delete(false, null);
}
astInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
astFile.create(astInputStream, false, null);
}
} catch (CoreException e) {
showErrorById(StringKeys.ERROR_CORE_EXCEPTION, e);
} catch (ParseException e) {
showErrorById(StringKeys.ERROR_PMD_EXCEPTION, e);
} catch (WriterException e) {
showErrorById(StringKeys.ERROR_PMD_EXCEPTION, e);
} catch (IOException e) {
showErrorById(StringKeys.ERROR_IO_EXCEPTION, e);
} finally {
IOUtil.closeQuietly(byteArrayOutputStream);
IOUtil.closeQuietly(astInputStream);
}
}
Aggregations