/* * Copyright (C) 2015 Julio Vilmar Gesser and Mike DeHaan * * This file is part of antlr-java-parser. * * antlr-java-parser is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * antlr-java-parser is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with antlr-java-parser. If not, see <http://www.gnu.org/licenses/>. * */ package com.github.antlrjavaparser; import com.github.antlrjavaparser.api.CompilationUnit; import org.antlr.v4.runtime.BailErrorStrategy; import org.antlr.v4.runtime.DiagnosticErrorListener; import org.junit.Test; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import static org.junit.Assert.fail; /** * Created with IntelliJ IDEA. * User: Mike De Haan * Date: 12/12/12 * Time: 10:53 PM * To change this template use File | Settings | File Templates. */ public class JavaSourceTest { @Test public void testValidJavaFiles() { //URL url = this.getClass().getResource("/testFiles/SimpleTest.java.txt"); //File file = new File(url.getFile()); if (true) { return; } File testDirectory = new File("/tmp/java8-src"); listFiles(testDirectory, new Listener() { // Change to true when skipping files private boolean skip = false; public void enterFile(File file) { if (file.getPath().endsWith("\\tmp\\java8-src\\java\\lang\\invoke\\MethodHandleInfo.java")) { skip = false; } if (file.getName().endsWith(".java") && !skip) { try { System.out.println("Parsing file: " + file.getPath()); FileInputStream fileInputStream = new FileInputStream(file); CompilationUnit compilationUnit = JavaParser.parse(fileInputStream, new ParserConfigurator() { public void configure(Java7Parser parser) { parser.removeErrorListeners(); parser.addErrorListener(new DiagnosticErrorListener()); parser.setErrorHandler(new BailErrorStrategy()); } }); } catch (IOException e) { e.printStackTrace(); fail(); } } } }); } private void listFiles(File directory, Listener listener) { for (File file : directory.listFiles()) { if (file.isDirectory()) { listFiles(file, listener); } else { listener.enterFile(file); } } } private interface Listener { void enterFile(File file); } }