Files
Software-Analysis/Assignment-2/javaparser-1.0.0/LCA_JP1_0_0.java

37 lines
1.0 KiB
Java
Raw Normal View History

2025-10-10 21:17:58 -06:00
import japa.parser.JavaParser;
import japa.parser.ast.CompilationUnit;
import japa.parser.ast.body.*;
import japa.parser.ast.visitor.VoidVisitorAdapter;
import java.io.FileInputStream;
import java.io.File;
public class LCA_JP1_0_0 {
public static void main(String[] args) throws Exception {
if (args.length == 0) {
System.out.println("Usage: java LCA_JP1_0_0 <JavaSourceFile>");
return;
}
// Parse the given Java file
FileInputStream in = new FileInputStream(new File(args[0]));
CompilationUnit cu = JavaParser.parse(in);
// Traverse the AST and print local classes
new VoidVisitorAdapter<Void>() {
@Override
public void visit(MethodDeclaration n, Void arg) {
super.visit(n, arg);
}
@Override
public void visit(ClassOrInterfaceDeclaration n, Void arg) {
2025-10-10 21:51:53 -06:00
System.out.println("Found class: " + n.getName());
2025-10-10 21:17:58 -06:00
super.visit(n, arg);
}
}.visit(cu, null);
}
}