저는 Clang 3.5에서 작업 중입니다. C++ 프로젝트에서 선언 된 변수에 대한 정보를 가져 오려고합니다.CLang Libtooling : clang :: VarDecl, clang :: FieldDecl 또는 clang :: ParmVarDecl 내부의 변수 데이터 유형 가져 오기
clang::VarDecl
, clang::FieldDecl
또는 clang::ParmVarDecl
개체에서 변수의 데이터 유형이나 정규화 된 클래스 이름을 가져올 수 있습니까? 여기에 제공된 clang::VarDecl
에 대한 doc에서 변수의 데이터 유형 또는 클래스 이름을 반환 할 수있는 함수를 찾으려고했습니다.
http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html
는 또한 때문에 통과 cmd를에 $LLVM/tools/clang/tools/clang-check/ClangCheck.cpp
의 코드로 보는 시도가 선언 된 모든 변수를 포함하여 모든 AST 노드에 대한 모든 정보를 보여줍니다 --ast-dump
을 arg를. 나는 그 모든 정보에 어떻게 접근해야하는지 궁금합니다. 내 변수 선언을 찾을 수 ASTMatchers
을 사용하고
, 사람들은 다음과 같습니다
fieldDecl().bind("field")
parmVarDecl().bind("param")
varDecl().bind("var")
는 사람이 어떻게 delcared 모든 변수의 데이터 유형을 얻을 수 말해 주시겠습니까?
내가 그것을 더 많은 세부 사항을 추가해야 (ex04.cc 참조) github.com 에서 사용할 수 있습니까? 아주 명확한 것을 묻는다면 관련 튜토리얼에 대한 링크를 제공해주십시오. 또는 적어도 Clang 소스 코드에서 구문 분석 및 AST에 액세스하려는 경우 시작할 클래스를 알려주십시오. –
llvm/tools/clang/unittests/AST를 살펴보고 AST를 통과하는 코드를 살펴보십시오. 나는 개인적으로이 링크가 매우 유용하다는 것을 알았다 : http://clang.llvm.org/docs/LibASTMatchersTutorial.html –