2016-07-05 4 views
1

Я внедрил рекурсивного посетителя AST с clang, и я хочу различать объявления переменных. Я хочу знать, что объявление переменной глобально или если объявление переменной имеет тело функции. Оба сделают эту работу для меня. Любые идеи?Как идентифицировать переменные, объявленные в теле функции в clang

спасибо.

ответ

1

Вы можете посетить VarDecl в вашем AST Visiter и тогда вы могли бы хотеть использовать функции как isLocalVarDecl(), isLocalVarDeclOrParm(), isFunctionOrMethodVarDecl(), isStaticDataMember(), hasLocalStorage() или hasGlobalStorage() из Апи в VarDecl в here.

+0

Функция hasLocalStorage() может идентифицировать переменные, объявленные в локальной области. С другой стороны, функция hasGlobalStorage() может идентифицировать переменные, объявленные в глобальной области. Спасибо за ваш ответ. –

+0

Это то, что я думал, но так как я никогда не использовал их сам, поэтому добавил и другие потенциальные варианты. Пожалуйста. –

 Смежные вопросы

  • Нет связанных вопросов^_^