1

私はstackoverflowが初めてで、roseコンパイラを初めて使用しています。関数でアクセスされる配列の総数を取得しようとしています (すべての配列アクセスではなく、個々の配列について)。これが私がこれまでに持っているものです:

//for each function body
SgFunctionDeclaration *func = isSgFunctionDeclaration(*p);
SgFunctionDefinition *defn = func->get_definition();
Rose_STL_Container<SgNode*> arrayAccess = NodeQuery::querySubTree(defn,V_SgArrayType);
for (Rose_STL_Container<SgNode*>::iterator iter = arrayAccess.begin(); iter!= arrayAccess.end(); iter++ ) {
//in here i check if any iterators point to the same thing, and only increment counter if they do not point to the same

これはいくつかの例では機能しているようですが、他の例では配列が検出されません..配列を照会する方法が正しくないようです? 誰もこれについて知っていますか?

4

0 に答える 0