cost 122 ms
如何讓 clang-query 或 AST 識別 map 中的底層對/類型?

[英]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:如何在構造函數中匹配un init double param

[英]AST MATCHER:How to match un init double param in constructor

我有一個匹配構造函數中的 uninit 雙字段的問題。 鑒於下面的代碼 我想匹配未在構造函數中調用二元運算符 = 的 un_init_param_ 字段。 但我找不到這樣做的方法。 我在 clang-query 中輸入以下命令 但是如何指定 memberExpr 與 prew 部分 fieldDe ...

僅在輸入文件上運行 clang-query

[英]Running clang-query only on input files

我正在使用編譯數據庫對特定文件運行 clang-query,如下所示: 這行得通,但是當我運行一個簡單的查詢(例如match ifStmt() )時,它會返回數千個結果,包括來自導入的標頭甚至標准庫的匹配。 有沒有辦法將結果限制在我啟動 clang-query 的文件中? ...

使用 clang-query 在 cpp 源代碼中定位構造函數行號

[英]locate constructor line number in cpp source with clang-query

我正在尋找使用 clang-query 獲取構造函數最后一行的行號,有人知道如何到達那里嗎? 我有很多 go 的源文件,需要更新構造函數。 我花時間嘗試用正則表達式解析源文件,它適用於很多極端情況。 所以這是列表中的下一項。 我嘗試搜索 web 和堆棧溢出,但我找不到太多,並且對語言解析器的工作方式 ...

與不同變量類型相比,用於變量的 Clang AST 匹配器

[英]Clang AST matcher for variables compared to different variable types

我是 clang-tidy 的新手,以下是練習,因此我可以轉向更復雜的匹配器和工具。 可以說我們有 我的目標是識別與“my_type”進行比較的變量,以便通過將它們的類型更改為 my_type 來修復它們的聲明。 現在我正在嘗試執行以下操作 這里的問題是我無視上下文。 處理這樣的事情的正 ...

編寫 AST 匹配器以查找所有沒有 break 語句的 case 語句

[英]Writing AST matcher to find all case statements having no break statement

我想找到所有沒有 break 語句的 case 語句。 我使用 clang-query 來構建我的匹配器。 我的匹配器在某些測試用例中失敗了。 我寫了簡單的匹配器 匹配 caseStmt(除非(has(breakStmt()))) 它適用於以下測試用例 和 不能很好地跟隨 ...

如何找到應該導出的符號

[英]how to find symbols that should be exported

如果使用-fvisibility=hidden或msvc進行編譯,則必須手動導出共享庫符號。 作為實驗,您如何使用AST匹配器(automatically查詢)自動找到它們? 這並不是一件容易的事,因為需要最少的導出聲明集,並且內聯函數,模板,離線模板定義,靜態數據成員等使事情迅速復雜化 ...

如何在clang抽象語法樹的右側獲得整個表達式?

[英]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)。 我得到以下輸出 根據以上 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM