<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>9.2</version>
</dependency>
<dependency>
<groupId>com.github.javaparser</groupId>
<artifactId>javaparser-core</artifactId>
<version>3.25.4</version>
</dependency>```
```javascript
public static void main(String[] args) throws IOException {
FileInputStream fileInputStream = new FileInputStream("TestCase/src/main/java/javaParsar/ClassTest.java");
JavaParser javaParser = new JavaParser();
ParseResult<CompilationUnit> parseResult = javaParser.parse(fileInputStream);
if (parseResult.isSuccessful()) {
CompilationUnit cu = parseResult.getResult().get();
cu.accept(new VoidVisitorAdapter<Void>() {
@Override
public void visit(MethodDeclaration method, Void arg) {
String methodName = method.getNameAsString();
String parameters = method.getParameters().toString();
BlockStmt blockStmt = method.getBody().orElse(null);
NodeList<Statement> statements = blockStmt.getStatements();
if (statements.get(0).toString().contains("int a =1")) {
System.out.println("Method name: " + methodName);
System.out.println("Parameters: " + parameters);
}
super.visit(method, arg);
}
}, null);
}
}
public static void main(String[] args) throws IOException {
ClassReader classReader = new ClassReader(ClassASM.class.getName());
ClassVisitor classVisitor = new ClassVisitor(Opcodes.ASM9) {
@Override
public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) {
MethodVisitor methodVisitor = super.visitMethod(access, name, descriptor, signature, exceptions);
if (!name.equals("<init>")) {
System.out.println("Method: " + name);
MethodVisitor mv = new MethodVisitor(Opcodes.ASM9, methodVisitor) {
@Override
public void visitMethodInsn(int opcode, String owner, String name, String descriptor, boolean isInterface) {
System.out.println(" Invoke: " + owner + "." + name +"-"+ descriptor);
super.visitMethodInsn(opcode, owner, name, descriptor, isInterface);
}
};
return mv;
}
return methodVisitor;
}
};
classReader.accept(classVisitor, ClassReader.EXPAND_FRAMES);
}