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); }
@Override public void analyse(Project project, SensorContext context) { javaResourceLocator.setSensorContext(context); sonarComponents.registerCheckClasses(CheckList.REPOSITORY_KEY, CheckList.getJavaChecks()); sonarComponents.registerTestCheckClasses(CheckList.REPOSITORY_KEY, CheckList.getJavaTestChecks()); JavaConfiguration configuration = createConfiguration(); Measurer measurer = new Measurer(project, context, configuration.separatesAccessorsFromMethods()); JavaSquid squid = new JavaSquid(configuration, sonarComponents, measurer, javaResourceLocator, sonarComponents.checkClasses()); squid.scan(getSourceFiles(), getTestFiles(), getBytecodeFiles()); new Bridges(squid, settings).save(context, project, sonarComponents, javaResourceLocator.getResourceMapping(), noSonarFilter, profile); }