![](/img/trans.png)
[英]How do I get clang-query or AST to recognize the underlying pair / type inside a map?
我想為以下代碼片段創建一個 AST 匹配器 專門用於識別std::unordered_map和mapIter中的鍵類型 ( int * )。 varDecl()識別 mapIter,但進一步的專業化讓我失敗了。 我想讓它與int無關,並尋找底層指針類型。 AST 轉儲產生以下內容: ...
[英]How do I get clang-query or AST to recognize the underlying pair / type inside a map?
我想為以下代碼片段創建一個 AST 匹配器 專門用於識別std::unordered_map和mapIter中的鍵類型 ( int * )。 varDecl()識別 mapIter,但進一步的專業化讓我失敗了。 我想讓它與int無關,並尋找底層指針類型。 AST 轉儲產生以下內容: ...
[英]AST MATCHER:How to match un init double param in constructor
我有一個匹配構造函數中的 uninit 雙字段的問題。 鑒於下面的代碼 我想匹配未在構造函數中調用二元運算符 = 的 un_init_param_ 字段。 但我找不到這樣做的方法。 我在 clang-query 中輸入以下命令 但是如何指定 memberExpr 與 prew 部分 fieldDe ...
[英]Running clang-query only on input files
我正在使用編譯數據庫對特定文件運行 clang-query,如下所示: 這行得通,但是當我運行一個簡單的查詢(例如match ifStmt() )時,它會返回數千個結果,包括來自導入的標頭甚至標准庫的匹配。 有沒有辦法將結果限制在我啟動 clang-query 的文件中? ...
[英]locate constructor line number in cpp source with clang-query
我正在尋找使用 clang-query 獲取構造函數最后一行的行號,有人知道如何到達那里嗎? 我有很多 go 的源文件,需要更新構造函數。 我花時間嘗試用正則表達式解析源文件,它適用於很多極端情況。 所以這是列表中的下一項。 我嘗試搜索 web 和堆棧溢出,但我找不到太多,並且對語言解析器的工作方式 ...
[英]Clang AST matcher for variables compared to different variable types
我是 clang-tidy 的新手,以下是練習,因此我可以轉向更復雜的匹配器和工具。 可以說我們有 我的目標是識別與“my_type”進行比較的變量,以便通過將它們的類型更改為 my_type 來修復它們的聲明。 現在我正在嘗試執行以下操作 這里的問題是我無視上下文。 處理這樣的事情的正 ...
[英]Writing AST matcher to find all case statements having no break statement
我想找到所有沒有 break 語句的 case 語句。 我使用 clang-query 來構建我的匹配器。 我的匹配器在某些測試用例中失敗了。 我寫了簡單的匹配器 匹配 caseStmt(除非(has(breakStmt()))) 它適用於以下測試用例 和 不能很好地跟隨 ...
[英]Running Clang-query on objective-c files that import Foundation
我正在嘗試使用clang-query對導入Foundation但不起作用的obj-c文件運行匹配項,在將clang-query通過移動到tools/extra文件夾構建clang-query之后,我使用以下命令運行它: ./clang-query MyClass.m -- -extra-ar ...
[英]how to find symbols that should be exported
如果使用-fvisibility=hidden或msvc進行編譯,則必須手動導出共享庫符號。 作為實驗,您如何使用AST匹配器(automatically查詢)自動找到它們? 這並不是一件容易的事,因為需要最少的導出聲明集,並且內聯函數,模板,離線模板定義,靜態數據成員等使事情迅速復雜化 ...
[英]List Clang-Query Matchers
有沒有辦法列出clang-query中所有可能的匹配clang-query ? AST匹配器參考列表不一定是最新版本。 甚至ASTMatchers.h clang標頭( clang-6.0.0 )中的列表也不顯示當前可用的內容。 例如, equalsNode匹配器包含在列表中,而clang ...
[英]Matching Function Pointers in Clang-Query
匹配函數指針的查詢是什么,例如,以下代碼: y是要匹配的函數指針。 ...
[英]How to get the entire expression on the right hand side of clang abstract syntax tree?
讓我們以一個玩具示例為例,說我在test.cpp文件中有以下代碼: 我想在除法運算中找到分母的變量名,然后使用clang命令clang -Xclang -ast-dump -fsyntax-only test.cpp獲得上述代碼的抽象語法樹(AST)。 我得到以下輸出 根據以上 ...
[英]Get classes with at least two same access specifiers with ASTMatcher
當類中有兩個或多個相似的訪問說明符時,我需要抓住C ++代碼中的情況。 假設有兩個班級 如何使用ASTMatcher匹配A類(因為它有兩個“公共”)而不匹配B類? ...