Я разрабатываю плагин, в котором я ищу конкретный метод. Теперь я хочу отобразить всю переменную, объявленную и используемую в ней, вместе с их типами. Как я могу это сделать? Имя метода имеет тип IMethod.ПомощьКак я могу получить переменную в функции?
ответ
Если у вас есть CompilationUnit этого IMethod, вы могли бы использовать ASTParser
в illustrated here):
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setSource(compilationUnit);
parser.setSourceRange(method.getSourceRange().getOffset(), method.getSourceRange().getLength());
parser.setResolveBindings(true);
CompilationUnit cu = (CompilationUnit)parser.createAST(null);
cu.accept(new ASTMethodVisitor());
Затем вы можете использовать ASTVisitor
cu.accept(new ASTVisitor() {
public boolean visit(SimpleName node) {
System.out.println(node); // print all simple names in compilation unit. in our example it would be A, i, j (class name, and then variables)
// filter the variables here
return true;
}
});
Что вам нужно, это API отражения Java. Посмотрите на это: link text
Нет, я уверен, что он говорит об интерфейсе 'IMethod' Eclipse: http://www.jarvana.com/jarvana/view/org/eclipse /jdt/doc/isv/3.2.1-r321_v20060907/isv-3.2.1-r321_v20060907.jar!/reference/api/org/eclipse/jdt/core/IMethod.html И независимо от того, что отражение не говорит вам о переменных объявленный внутри метода. –
Вы можете использовать отражение, чтобы получить типы всех параметров, требуемых методом.
Сначала отразите метод с использованием класса, а затем используйте `Method.getParameterTypes() '.
- 1. Я не могу получить переменную в функции
- 2. как я могу получить переменную из функции jquery
- 3. Как я могу вернуть переменную из функции
- 4. Как я могу использовать переменную в функции в глобальной переменной?
- 5. Symfony2: как я могу получить переменную пост
- 6. JQuery - как я могу получить переменную "file.JS"
- 7. Как я могу получить переменную get?
- 8. JQuery - как я могу получить переменную «file.JS»
- 9. Как я могу получить переменную вне eventlistener?
- 10. Как я могу использовать переменную, созданную в объектной функции Void?
- 11. Как я могу отправить переменную из функции в вложенную функцию
- 12. как я могу передать переменную
- 13. Как получить переменную из функции?
- 14. Как я могу вернуть результат из функции в переменную?
- 15. Как я могу динамически изменять переменную в функции крючками
- 16. как я могу передать переменную в качестве функции?
- 17. Как я могу использовать эту переменную java script в функции?
- 18. Как я могу сохранить вывод системной функции Perl в переменную?
- 19. Как получить переменную от функции?
- 20. Как я могу получить переменную в анонимной функции из области jQuery, когда я использую хром-консоль?
- 21. Получить переменную в функции анимации
- 22. Получить переменную из внешней функции в функции
- 23. Получить переменную функции python
- 24. Как получить переменную для функции
- 25. Как я могу получить функции распознавания голоса
- 26. Как я могу получить размер функции C++?
- 27. Как я могу получить имя функции динамически
- 28. Как получить переменную внутри функции в javascript
- 29. Как я могу получить точку входа функции?
- 30. Как я могу получить возвращаемое значение функции?
Давайте проясним: Вы спрашиваете о Java, или о интерфейсе Eclipse 'IMethod'? http://www.jarvana.com/jarvana/view/org/eclipse/jdt/doc/isv/3.2.1-r321_v20060907/isv-3.2.1-r321_v20060907.jar!/reference/api/org/eclipse/jdt /core/IMethod.html –
Eclipse's IMethod type.sorry моя ошибка – Steven