import java.io.FileReader;
import java.io.IOException;
import org.codehaus.commons.compiler.CompileException;
import org.codehaus.commons.compiler.Location;
import org.codehaus.janino.Java;
import org.codehaus.janino.Parser;
import org.codehaus.janino.Scanner;
import org.codehaus.janino.util.Traverser;
public class LVAProof extends Traverser {
public static void main(String args[]) throws CompileException, IOException {
LVAProof lva = new LVAProof();
for (String fileName : args) {
// Parse each compilation unit.
FileReader r = new FileReader(fileName);
Java.CompilationUnit cu;
try {
cu = new Parser(new Scanner(fileName, r)).parseCompilationUnit();
}
finally {
r.close();
}
// Traverse it and count declarations.
lva.traverseCompilationUnit(cu);
}
}
@Override
public void traverseLocalVariableDeclarationStatement(Java.LocalVariableDeclarationStatement lvds){
Location l = lvds.getLocation();
System.out.println("LOCATION: ");
System.out.println(l.getLineNumber());
System.out.println("LOCAL-VARIABLE: ");
System.out.println(lvds.toString());
Java.Modifiers m = lvds.modifiers;
System.out.println("MODIFIER: ");
}
}