public static JavaVersion fromString(String javaVersion) { if (javaVersion != null) { try { return new JavaVersionImpl(Integer.parseInt(javaVersion.replaceAll("1.", ""))); } catch (NumberFormatException e) { LOG.warn("Invalid java version (got \"" + javaVersion + "\"). " + "The version will be ignored. Accepted formats are \"1.X\", or simply \"X\" " + "(for instance: \"1.5\" or \"5\", \"1.6\" or \"6\", \"1.7\" or \"7\", etc.)"); } } return new JavaVersionImpl(); }
public static JavaVersion fromString(@Nullable String javaVersion) { if (javaVersion == null) { return new JavaVersionImpl(); } try { String cleanedVersion = javaVersion.startsWith("1.") ? javaVersion.substring(2) : javaVersion; int versionAsInt = Integer.parseInt(cleanedVersion); return new JavaVersionImpl(versionAsInt); } catch (NumberFormatException e) { LOG.warn("Invalid java version (got \"" + javaVersion + "\"). " + "The version will be ignored. Accepted formats are \"1.X\", or simply \"X\" " + "(for instance: \"1.5\" or \"5\", \"1.6\" or \"6\", \"1.7\" or \"7\", etc.)"); return new JavaVersionImpl(); } }
public static JavaVersion fromString(@Nullable String javaVersion) { if (javaVersion == null) { return new JavaVersionImpl(); } try { String cleanedVersion = javaVersion.startsWith("1.") ? javaVersion.substring(2) : javaVersion; int versionAsInt = Integer.parseInt(cleanedVersion); return new JavaVersionImpl(versionAsInt); } catch (NumberFormatException e) { LOG.warn("Invalid java version (got \"" + javaVersion + "\"). " + "The version will be ignored. Accepted formats are \"1.X\", or simply \"X\" " + "(for instance: \"1.5\" or \"5\", \"1.6\" or \"6\", \"1.7\" or \"7\", etc.)"); return new JavaVersionImpl(); } }
@VisibleForTesting public static void scanSingleFileForTests(File file, VisitorsBridge visitorsBridge) { scanSingleFileForTests(file, visitorsBridge, new JavaVersionImpl()); }
@VisibleForTesting public static void scanSingleFileForTests(File file, VisitorsBridge visitorsBridge) { scanSingleFileForTests(file, visitorsBridge, new JavaVersionImpl()); }
/** * Verifies that the provided file will raise all the expected issues when analyzed with the given check and a given * java version used for the sources. * * @param filename The file to be analyzed * @param check The check to be used for the analysis * @param javaVersion The version to consider for the analysis (6 for java 1.6, 7 for 1.7, etc.) */ public static void verify(String filename, JavaFileScanner check, int javaVersion) { JavaCheckVerifier javaCheckVerifier = new JavaCheckVerifier(); javaCheckVerifier.providedJavaVersion = true; javaCheckVerifier.javaVersion = new JavaVersionImpl(javaVersion); scanFile(filename, check, javaCheckVerifier); }
public static void verifyNoIssueWithoutSemantic(String filename, JavaFileScanner check, int javaVersion) { JavaCheckVerifier javaCheckVerifier = new JavaCheckVerifier() { @Override public String getExpectedIssueTrigger() { return "// NOSEMANTIC_ISSUE"; } }; javaCheckVerifier.expectNoIssues(); javaCheckVerifier.providedJavaVersion = true; javaCheckVerifier.javaVersion = new JavaVersionImpl(javaVersion); scanFile(filename, check, javaCheckVerifier, Collections.<File>emptyList(), false); }
/** * Verifies that the provided file will not raise any issue when analyzed with the given check. * * @param filename The file to be analyzed * @param check The check to be used for the analysis * @param javaVersion The version to consider for the analysis (6 for java 1.6, 7 for 1.7, etc.) */ public static void verifyNoIssue(String filename, JavaFileScanner check, int javaVersion) { JavaCheckVerifier javaCheckVerifier = new JavaCheckVerifier(); javaCheckVerifier.expectNoIssues(); javaCheckVerifier.providedJavaVersion = true; javaCheckVerifier.javaVersion = new JavaVersionImpl(javaVersion); scanFile(filename, check, javaCheckVerifier); }
private Set<AnalyzerMessage> scanFiles(List<String> filesToScan, JavaFileScanner check, boolean withSemantic) { List<File> classPath = JavaCheckVerifier.getClassPath(JavaCheckVerifier.DEFAULT_TEST_JARS_DIRECTORY); VisitorsBridgeForTests visitorsBridge; if (withSemantic) { visitorsBridge = new VisitorsBridgeForTests(Arrays.asList(check, new JavaCheckVerifier.ExpectedIssueCollector(this)), classPath, null); } else { visitorsBridge = new VisitorsBridgeForTests(Arrays.asList(check, new JavaCheckVerifier.ExpectedIssueCollector(this)), null); } visitorsBridge.setJavaVersion(new JavaVersionImpl()); JavaAstScanner astScanner = new JavaAstScanner(JavaParser.createParser(), null); astScanner.setVisitorBridge(visitorsBridge); astScanner.scan(filesToScan.stream().map(File::new).collect(Collectors.toList())); VisitorsBridgeForTests.TestJavaFileScannerContext testJavaFileScannerContext = visitorsBridge.lastCreatedTestContext(); return testJavaFileScannerContext.getIssues(); }