ClassReader reader = new ClassReader(inputStream);
ClassNode classNode = new ClassNode();
reader.accept(classNode, 0);
for(MethodNode method : classNode.methods){
}
List<LocalVariableNode> localVariables = method.localVariables;
for (LocalVariableNode variable : localVariables) {
}
String variableName = variable.name;
ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS);
classNode.accept(writer);
byte[] modifiedBytecode = writer.toByteArray();
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
<version>2.8</version>
</dependency>
ParaNamer paranamer = new DefaultParaNamer();
String[] parameterNames = paranamer.lookupParameterNames(method);