public static String printFile(String file, String bytecodePath) { final Parser p = JavaParser.createParser(Charsets.UTF_8); CompilationUnitTree cut = (CompilationUnitTree) p.parse(new File(file)); List<File> bytecodeFiles = Lists.newArrayList(); if (!bytecodePath.isEmpty()) { bytecodeFiles.add(new File(bytecodePath)); } SemanticModel semanticModel = SemanticModel.createFor(cut, bytecodeFiles); return PrinterVisitor.print(cut, semanticModel); } }
if (isNotJavaLangOrSerializable(PackageUtils.packageName(tree.packageDeclaration(), "/"))) { try { semanticModel = SemanticModel.createFor(tree, classLoader); } catch (Exception e) { LOG.error("Unable to create symbol table for : " + currentFile.getAbsolutePath(), e);
if (isNotJavaLangOrSerializable(PackageUtils.packageName(tree.packageDeclaration(), "/"))) { try { semanticModel = SemanticModel.createFor(tree, classLoader); } catch (Exception e) { LOG.error("Unable to create symbol table for : " + currentFile.getAbsolutePath(), e);
@Override public void visitFile(@Nullable AstNode astNode) { semanticModel = null; if (astNode != null) { CompilationUnitTree tree = (CompilationUnitTree) astNode; if (isNotJavaLangOrSerializable()) { try { semanticModel = SemanticModel.createFor(tree, getProjectClasspath()); } catch (Exception e) { LOG.error("Unable to create symbol table for : " + getContext().getFile().getAbsolutePath(), e); return; } createSonarSymbolTable(tree); } else { SemanticModel.handleMissingTypes(tree); } JavaFileScannerContext context = new DefaultJavaFileScannerContext(tree, (SourceFile) getContext().peekSourceCode(), getContext().getFile(), semanticModel, analyseAccessors); for (JavaFileScanner scanner : scanners) { scanner.scanFile(context); } if (semanticModel != null) { // Close class loader after all the checks. semanticModel.done(); } } }
if (isNotJavaLangOrSerializable(PackageUtils.packageName(tree.packageDeclaration(), "/"))) { try { semanticModel = SemanticModel.createFor(tree, getProjectClasspath()); } catch (Exception e) { LOG.error("Unable to create symbol table for : " + currentFile.getAbsolutePath(), e);