private static VisitorsBridge createVisitorBridge( Iterable<JavaCheck> codeVisitors, List<File> classpath, JavaVersion javaVersion, @Nullable SonarComponents sonarComponents, SymbolicExecutionMode symbolicExecutionMode) { VisitorsBridge visitorsBridge = new VisitorsBridge(codeVisitors, classpath, sonarComponents, symbolicExecutionMode); visitorsBridge.setJavaVersion(javaVersion); return visitorsBridge; }
private static VisitorsBridge createVisitorBridge( Iterable<JavaCheck> codeVisitors, List<File> classpath, JavaVersion javaVersion, @Nullable SonarComponents sonarComponents, SymbolicExecutionMode symbolicExecutionMode) { VisitorsBridge visitorsBridge = new VisitorsBridge(codeVisitors, classpath, sonarComponents, symbolicExecutionMode); visitorsBridge.setJavaVersion(javaVersion); return visitorsBridge; }
/** * Collects expected issues that were declared in the test {@link File}. * * @param testFile test {@link File} to scan for expected issues. * @return {@link TreeMultimap} containing detected expected issues that were declared in the test {@link File} */ static TreeMultimap<Integer, String> collect(final File testFile) { final Collection<File> classpath = Lists.newArrayList(); final File testJarDirectory = new File("target/test-jars"); if (testJarDirectory.exists() && testJarDirectory.isDirectory()) { classpath.addAll(FileUtils.listFiles(testJarDirectory, new String[] { "jar", "zip" }, true)); } classpath.add(new File("target/test-classes")); final Visitor visitor = new Visitor(); JavaAstScanner.scanSingleFile(testFile, new VisitorsBridge(Lists.newArrayList(visitor), Lists.newArrayList(classpath), null)); return visitor.expectedIssues(); }
/** * Collects actual issues detected when running a {@link JavaCheck} against a test {@link File}. * * @param testFile test {@link File} against which the {@link JavaCheck} has to be run. * @param check {@link JavaCheck} to run against the test {@link File}. * @return a {@link TreeMultimap} object containing detected actual issues. */ static TreeMultimap<Integer, String> collect(final File testFile, final JavaFileScanner check) { final Collection<File> classpath = Lists.newArrayList(); final File testJarDirectory = new File("target/test-jars"); if (testJarDirectory.exists() && testJarDirectory.isDirectory()) { classpath.addAll(FileUtils.listFiles(testJarDirectory, new String[] { "jar", "zip" }, true)); } classpath.add(new File("target/test-classes")); final VisitorsBridge visitorsBridge = new VisitorsBridge(Lists.newArrayList(check), Lists.newArrayList(classpath), null); JavaAstScanner.scanSingleFile(testFile, visitorsBridge); final VisitorContext context = visitorsBridge.getContext(); final SourceCode sourceCode = context.peekSourceCode(); return collectIssues(sourceCode); }
private static VisitorsBridge createVisitorBridge( Iterable<CodeVisitor> codeVisitors, List<File> classpath, JavaConfiguration conf, @Nullable SonarComponents sonarComponents, boolean enableSymbolicExecution) { VisitorsBridge visitorsBridge = new VisitorsBridge(codeVisitors, classpath, sonarComponents, enableSymbolicExecution); visitorsBridge.setCharset(conf.getCharset()); visitorsBridge.setAnalyseAccessors(conf.separatesAccessorsFromMethods()); visitorsBridge.setJavaVersion(conf.javaVersion()); return visitorsBridge; }
private void setupAstScanner(AstScanner astScanner, Iterable<CodeVisitor> visitorsToBridge, List<File> classpath, JavaConfiguration conf, @Nullable SonarComponents sonarComponents) { if(sonarComponents != null) { astScanner.accept(new FileLinesVisitor(sonarComponents, conf.getCharset())); astScanner.accept(new SyntaxHighlighterVisitor(sonarComponents, conf.getCharset())); } VisitorsBridge visitorsBridgeTest = new VisitorsBridge(visitorsToBridge, classpath, sonarComponents); visitorsBridgeTest.setCharset(conf.getCharset()); visitorsBridgeTest.setAnalyseAccessors(conf.separatesAccessorsFromMethods()); astScanner.accept(visitorsBridgeTest); }