Я пытаюсь извлечь информацию о исходном коде C++. Один тип поля.Как получить тип поля с помощью парсера CDT
, когда исходный код, как и я, хочу извлечь информацию, когда вызывается info.call().
Info info;
//skip
info.call(); //<- from here
Проникновение посетителей, которые посещают узел IASTName, я попытался извлечь информацию о типе, как показано ниже.
public class CDTVisitor extends ASTVisitor {
public CDTVisitor(boolean visitNodes) {
super(true);
}
public int visit(IASTName node){
if(node.resolveBinding().getName().toString().equals("info"))
System.out.println(((IField)node.getBinding()).getType());
// this not work properly.
//result is "[email protected]"
return 3;
}
}
Прохладный! Как вы использовали ICPPASTTranslationUnit? Я работаю в автономном синтаксическом анализе C++ с использованием Eclipse CDT, и мне также нужно решить привязку. Я написал код, но AST не работает должным образом. Если бы вы могли поделиться своим кодом, я буду благодарен. –
@FelipeGomes, чтобы разрешить привязку, вам нужно использовать индексатор, но у индексатора есть связь с студией eclipse. –