List of usage examples for org.eclipse.jdt.core.dom ASTParser setCompilerOptions
public void setCompilerOptions(Map<String, String> options)
From source file:at.bestsolution.fxide.jdt.editor.JDTJavaDocSupport.java
License:Open Source License
private static CompilationUnit createAST(IJavaElement element, String cuSource) { ASTParser parser = ASTParser.newParser(AST.JLS8); IJavaProject javaProject = element.getJavaProject(); parser.setProject(javaProject);/*from w w w. j ava2 s .c o m*/ Map<String, String> options = javaProject.getOptions(true); options.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED); // workaround // for // https://bugs.eclipse.org/bugs/show_bug.cgi?id=212207 parser.setCompilerOptions(options); parser.setSource(cuSource.toCharArray()); return (CompilationUnit) parser.createAST(null); }
From source file:at.bestsolution.fxide.jdt.text.javadoc.JavadocContentAccess2.java
License:Open Source License
private static CompilationUnit createAST(IJavaElement element, String cuSource) { Assert.isNotNull(element);// w ww. jav a 2 s . com ASTParser parser = ASTParser.newParser(ASTProvider.SHARED_AST_LEVEL); IJavaProject javaProject = element.getJavaProject(); parser.setProject(javaProject); Map<String, String> options = javaProject.getOptions(true); options.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED); // workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=212207 parser.setCompilerOptions(options); parser.setSource(cuSource.toCharArray()); return (CompilationUnit) parser.createAST(null); }
From source file:boa.datagen.scm.AbstractCommit.java
License:Apache License
private boolean parseJavaScriptFile(final String path, final ChangedFile.Builder fb, final String content, final String compliance, final int astLevel, final boolean storeOnError, Writer astWriter, String key) { try {//w w w .ja va 2s .c o m //System.out.println("parsing=" + (++count) + "\t" + path); final org.eclipse.wst.jsdt.core.dom.ASTParser parser = org.eclipse.wst.jsdt.core.dom.ASTParser .newParser(astLevel); parser.setKind(ASTParser.K_COMPILATION_UNIT); parser.setResolveBindings(true); parser.setSource(content.toCharArray()); final Map options = JavaCore.getOptions(); JavaCore.setComplianceOptions(compliance, options); parser.setCompilerOptions(options); JavaScriptUnit cu; try { cu = (JavaScriptUnit) parser.createAST(null); } catch (java.lang.IllegalArgumentException ex) { return false; } final JavaScriptErrorCheckVisitor errorCheck = new JavaScriptErrorCheckVisitor(); cu.accept(errorCheck); if (!errorCheck.hasError || storeOnError) { final ASTRoot.Builder ast = ASTRoot.newBuilder(); // final CommentsRoot.Builder comments = // CommentsRoot.newBuilder(); final JavaScriptVisitor visitor = new JavaScriptVisitor(content); try { ast.addNamespaces(visitor.getNamespaces(cu)); // for (final String s : visitor.getImports()) // ast.addImports(s); /* * for (final Comment c : visitor.getComments()) * comments.addComments(c); */ } catch (final UnsupportedOperationException e) { return false; } catch (final Exception e) { if (debug) System.err.println("Error visiting: " + path); //e.printStackTrace(); return false; } if (astWriter != null) { try { // System.out.println("writing=" + count + "\t" + path); astWriter.append(new Text(key), new BytesWritable(ast.build().toByteArray())); } catch (IOException e) { e.printStackTrace(); } } else fb.setAst(ast); // fb.setComments(comments); } return !errorCheck.hasError; } catch (final Exception e) { e.printStackTrace(); return false; } }
From source file:boa.datagen.scm.AbstractCommit.java
License:Apache License
private boolean parseJavaFile(final String path, final ChangedFile.Builder fb, final String content, final String compliance, final int astLevel, final boolean storeOnError, Writer astWriter, String key) { try {/*w ww.j a v a 2 s .c om*/ final ASTParser parser = ASTParser.newParser(astLevel); parser.setKind(ASTParser.K_COMPILATION_UNIT); parser.setResolveBindings(true); parser.setSource(content.toCharArray()); final Map options = JavaCore.getOptions(); JavaCore.setComplianceOptions(compliance, options); parser.setCompilerOptions(options); final CompilationUnit cu = (CompilationUnit) parser.createAST(null); final JavaErrorCheckVisitor errorCheck = new JavaErrorCheckVisitor(); cu.accept(errorCheck); if (!errorCheck.hasError || storeOnError) { final ASTRoot.Builder ast = ASTRoot.newBuilder(); //final CommentsRoot.Builder comments = CommentsRoot.newBuilder(); final JavaVisitor visitor = new JavaVisitor(content, connector.nameIndices); try { ast.addNamespaces(visitor.getNamespaces(cu)); for (final String s : visitor.getImports()) ast.addImports(s); /*for (final Comment c : visitor.getComments()) comments.addComments(c);*/ } catch (final UnsupportedOperationException e) { return false; } catch (final Exception e) { if (debug) System.err.println("Error visiting: " + path); e.printStackTrace(); return false; } if (astWriter != null) { try { astWriter.append(new Text(key), new BytesWritable(ast.build().toByteArray())); } catch (IOException e) { e.printStackTrace(); } } else fb.setAst(ast); //fb.setComments(comments); } return !errorCheck.hasError; } catch (final Exception e) { e.printStackTrace(); return false; } }
From source file:boa.test.datagen.Java7BaseTest.java
License:Apache License
protected static String parseJava(final String content) { final ASTParser parser = ASTParser.newParser(astLevel); parser.setKind(ASTParser.K_COMPILATION_UNIT); parser.setSource(content.toCharArray()); final Map options = JavaCore.getOptions(); JavaCore.setComplianceOptions(javaVersion, options); parser.setCompilerOptions(options); final CompilationUnit cu = (CompilationUnit) parser.createAST(null); final ASTRoot.Builder ast = ASTRoot.newBuilder(); try {/* w w w .j av a 2s .c o m*/ ast.addNamespaces(visitor.getNamespaces(cu)); for (final String s : visitor.getImports()) ast.addImports(s); } catch (final Exception e) { System.err.println(e); e.printStackTrace(); return ""; } return JsonFormat.printToString(ast.build()); }
From source file:br.uff.ic.gems.resources.ast.ASTExtractor.java
public void parser() throws IOException { ASTParser parser = ASTParser.newParser(AST.JLS3); File file = new File(filePath); String stringFile = FileUtils.readFileToString(file); parser.setSource(stringFile.toCharArray()); parser.setKind(ASTParser.K_COMPILATION_UNIT); //Setting options Map options;/* ww w . j a v a 2s. c om*/ options = JavaCore.getOptions(); options.put(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_7); options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_7); options.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_7); parser.setCompilerOptions(options); final CompilationUnit cu = (CompilationUnit) parser.createAST(null); Visitor visitor = new Visitor(cu); cu.accept(visitor); List<Comment> commentList = cu.getCommentList(); for (Comment comment : commentList) { comment.accept(visitor); } languageConstructs = visitor.getLanguageConstructs(); }
From source file:br.uff.ic.mergeguider.javaparser.JavaParser.java
private Storage generateASTs(String path) { ASTParser parser = ASTParser.newParser(AST.JLS8); parser.setResolveBindings(true);/*from w w w .ja va2 s. co m*/ parser.setBindingsRecovery(true); Map options = JavaCore.getOptions(); options.put(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_8); options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_8); options.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_8); parser.setCompilerOptions(options); String[] srcDirs = FileUtils.getAllDirs(path); String[] javaFiles = FileUtils.getAllJavaFiles(path); parser.setEnvironment(null, srcDirs, null, true); Storage storage = new Storage(); parser.createASTs(javaFiles, null, new String[0], storage, null); return storage; }
From source file:ch.acanda.eclipse.pmd.java.resolution.ASTQuickFixTestCase.java
License:Open Source License
private CompilationUnit createAST(final org.eclipse.jface.text.Document document, final ASTQuickFix<ASTNode> quickFix) { final ASTParser astParser = ASTParser.newParser(AST.JLS4); astParser.setSource(document.get().toCharArray()); astParser.setKind(ASTParser.K_COMPILATION_UNIT); astParser.setResolveBindings(quickFix.needsTypeResolution()); astParser.setEnvironment(new String[0], new String[0], new String[0], true); final String name = last(params.pmdReferenceId.or("QuickFixTest").split("/")); astParser.setUnitName(format("{0}.java", name)); final String version = last(params.language.or("java 1.7").split("\\s+")); astParser.setCompilerOptions(ImmutableMap.<String, String>builder().put(JavaCore.COMPILER_SOURCE, version) .put(JavaCore.COMPILER_COMPLIANCE, version).put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, version) .build());//from w w w . j a v a 2 s .c o m final CompilationUnit ast = (CompilationUnit) astParser.createAST(null); ast.recordModifications(); return ast; }
From source file:ch.acanda.eclipse.pmd.java.resolution.TextEditQuickFixTestCase.java
License:Open Source License
private CompilationUnit createAST(final org.eclipse.jface.text.Document document) { final ASTParser astParser = ASTParser.newParser(AST.JLS4); astParser.setKind(ASTParser.K_COMPILATION_UNIT); astParser.setSource(document.get().toCharArray()); astParser.setCompilerOptions( ImmutableMap.<String, String>builder().put(JavaCore.COMPILER_SOURCE, "1.7").build()); final CompilationUnit ast = (CompilationUnit) astParser.createAST(null); ast.recordModifications();/*from w w w. ja v a 2 s . c o m*/ return ast; }
From source file:chibi.gumtreediff.gen.jdt.AbstractJdtTreeGenerator.java
License:Open Source License
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public TreeContext generate(Reader r) throws IOException { ASTParser parser = ASTParser.newParser(AST.JLS8); parser.setKind(ASTParser.K_COMPILATION_UNIT); Map pOptions = JavaCore.getOptions(); pOptions.put(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_8); pOptions.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_8); pOptions.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_8); pOptions.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED); parser.setCompilerOptions(pOptions); parser.setSource(readerToCharArray(r)); AbstractJdtVisitor v = createVisitor(); CompilationUnit c = (CompilationUnit) parser.createAST(null); v.setTreeRoot(c);/* w w w. j av a2s . c o m*/ c.accept(v); return v.getTreeContext(); }