use of net.sourceforge.pmd.lang.java.ast.JavaParser in project pmd by pmd.
the class JavaLanguageParser method createJavaParser.
@Override
protected JavaParser createJavaParser(Reader source) throws ParseException {
JavaParser javaParser = super.createJavaParser(source);
javaParser.setJdkVersion(jdkVersion);
return javaParser;
}
use of net.sourceforge.pmd.lang.java.ast.JavaParser 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.java.ast.JavaParser 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