获取名称和局部变量的类型从Java程序(Getting name and type of local

2019-09-18 23:03发布

这是我想出来的代码:

JavaCompiler compilerA = ToolProvider.getSystemJavaCompiler();
int resultA = compilerA.run(null,null,null,"/Users/a/Documents/Java/a.java");
System.out.println("Compile result code = " + resultA);
File fileA = new File("/Users/a/Documents/Java/a.class");

JavaCompiler compilerB = ToolProvider.getSystemJavaCompiler();
int resultB = compilerB.run(null,null,null,"/Users/a/Documents/Java/b.java");
System.out.println("Compile result code = " + resultB);
File fileB = new File("/Users/a/Documents/Java/b.class");

在这里,我编译Java类,然后使用反射来获取所有的函数名称,参数和返回类型。 但是,我不知道怎么弄的名称和返回类型的函数中的局部变量。 我试图寻找了字节码的轮廓,但它说,它不适用于NetBeans的。 请帮助我。

Answer 1:

看看javac编译器选项 。 特别是-g:瓦尔。

这填补了本地变量表调试器。

见同qustion Java反射:如何获得一个变量的名字吗?



文章来源: Getting name and type of local variables from a Java program