問題タブ [call-hierarchy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
164 参照

c++ - ネイティブC ++で特定のメソッドを直接的または間接的に使用するすべてのメソッドを見つける

C ++で特定のメソッドのすべての直接または間接メソッドの使用法を発見するためのツールはありますか. 管理されたクラスの場合、NDepend は「私を使用しているメソッドを選択する」という仕事をしますが、ネイティブ クラスでそれを行う方法に苦労しています。Visual Studio の呼び出し階層はそのような結果を生成できますが、私たちの巨大なコード ベースでは拡張できません。レポートを自動生成したい。皆さんが何かツールを提案できるかどうか疑問に思っています。

0 投票する
2 に答える
936 参照

java - オブジェクトがインスタンス化されたクラスを見つける

不必要に複雑なソース コードを学習しようとしています。method があり、インスタンス化されpublic void passObject(SomeObject someObject)たクラスを知りたいですsomeObject。問題は、呼び出し階層を上にたどると、分岐係数が非常に大きくなることです。たとえば、3 つのメソッドは を通過できsomeObjectpassObjectこれら 3 つのメソッドの前の 3 つのメソッドはそれぞれ同じオブジェクトを渡すことができます。

次のように挿入できる方法はありますかpassObject:

私は使用しますEclipse

0 投票する
1 に答える
2010 参照

java - Java でメソッドのすべての可能な呼び出し元を取得する方法 - 呼び出し階層のような

クラスにメソッド m があるとします。プロジェクト全体で m を呼び出すすべてのメソッドを見つけようとしています。メソッドのリスト/配列を出力する必要があることを除いて、Eclipse の呼び出し階層ツールに似ています。静的に必要なので、スタック トレースが機能するとは思わない。おそらくリフレクションを使用して、これを実装する方法はありますか?

Eclipse の呼び出し階層ツールの例へのリンクを添付し、Dog クラスのメソッド barking() に言及しているすべてのメソッドを見つけました。(Dog.hungry() と Cat.scratching() は barking() を呼び出します)。

画像

0 投票する
0 に答える
714 参照

java - Eclipse の呼び出し階層に JSP 呼び出しを含める

Eclipse Call Hierarchy で JSP ファイルの呼び出しをサポートするにはどうすればよいですか?

私は Eclipse の Call Hierarchy 機能の熱心なユーザーです。これは、メソッドまたは他のエンティティのすべての呼び出し元をナビゲートして見つけるのに役立つからです。しかし、呼び出し階層リストはプロジェクト内の JSP ファイルを完全に無視しているため、コーディングとデバッグが困難になっています。呼び出しを見つけるには、テキスト検索ツールに頼らなければなりません。そうしないと、(ほとんどの場合) 完全に見逃す危険があります。

何らかの理由で、Eclipse での JSP のサポートは、対応する Java ソース コード ファイルと比較して標準以下であり、改善されていません。これは現時点では不可能ですか?または、何か不足していますか?

0 投票する
2 に答える
964 参照

java - Eclipse - 「呼び出し階層を開く」がラムダ チェーンでの検索を停止する

これが私のサンプルJavaコードです:

methodDepth2()Eclipse(4.4) から メソッドの呼び出し階層を開くと、open call hierarchy次の呼び出し元の検索を停止します。 呼び出し階層を開く 次の呼び出し元メソッドの検索を停止する

私が期待しているのはmethodDepth1()、メソッドまで表示されるメソッドの呼び出し階層を開くようなものmainです。 <code>main</code> メソッドまでを示すメソッド <code>methodDepth1()</code> の呼び出し階層を開く

0 投票する
1 に答える
124 参照

java - 1 つのメソッドのコール スタックに Java の別のメソッドが常に含まれるようにする

特定のメソッド A のすべての呼び出し元が別のメソッド B によってラップされるようにしたい Java プロジェクトで使用する共通ユーティリティに設計上の問題があります。今日私が書いたこのコードの一般的な形式は次のとおりです。 :

B によって実行されている runnable には任意のコードを含めることができ、A を複数回呼び出す可能性があるため、A への呼び出しを B に直接追加しても、このコード内の runnable を取り除くことはできません。また、A はサードパーティです。コードなので、変更することはできません。ランナブルが A への別のネストされた呼び出しで B を再度呼び出す可能性がありますが、今日は決して起こらないので、今のところそのケースを無視しても問題ありません。

いくつかのオプションが表示されます。

  1. A() throws BlahExceptionB がその例外の唯一のキャッチャーになるように宣言して作成します。実際にスローされる例外がないため、これは醜いですが、コンパイラーが呼び出し階層を保証してくれるので、これは素晴らしいことです。
  2. このルールを確実にするために、ある種の静的分析ツールを作成してください。このケースは、他の何よりも手間がかかるように思えるので、まだあまり調査していません (しかし、これを実行できる既存のツールがあるのではないでしょうか?)。
  3. B への呼び出し内で実行している「A の始まり」にアサーションを追加します (実際には、このコードは Runnble のカスタム バージョンに存在する必要があります。これは、A を直接変更できないためです)。追加のスレッド/オブジェクトローカル状態またはコールスタック自体をトラバースしますが、どちらも一種の醜いものです。

私が考慮していない他のオプションはありますか?

0 投票する
1 に答える
101 参照

java - Java 設計パターン: すべてのスーパータイプのメソッド呼び出しを強制する

序章:

データベース フィルターのクラス階層を作成しました。

このようにしPropertyFilter<String>て、文字列とComparableFilter<DateTime>DateTime オブジェクトに使用できます。


トリッキーな部分:

フィルター クラスと同じ階層に従うフィルター クエリ ビルダーがいくつかあります。クエリ ビルダーの各当事者は、追加のクエリのみを追加する必要があります。

例:


問題/質問:

ご覧のとおり、常に呼び出してからsuper.getQuery()、変更されたクエリ オブジェクトを返す必要があります。

addFiltersToQuery各クラスに次のようなメソッドしかない場合は、はるかに簡単になります。

しかしもちろん、このメソッドをクラス階層でオーバーライドします。addFiltersToQueryクラス内で呼び出すとFilterQueryBuilder、最新の実装しか取得できません。

を使用せずにすべての実装を呼び出す方法はありますsuperか?

0 投票する
0 に答える
221 参照

r - R パッケージの gperftools で呼び出し階層を取得する

たとえば、この質問のように、gperftools を使用してコール グラフを作成できます。

このバグを追跡するためbind_rows()に、 R パッケージのコール グラフを取得したいと思います。dplyr

Rdplyrを使用してCPP/CXXFLAGS=-g -fvar-tracking-assignmentsとの両方をコンパイルしLDFLAGS=-lprofiler -lunwindました。

次を実行すると:

私が得るのは次のとおりです。

ここに画像の説明を入力

dplyrのバインド行ファイル内のどの呼び出しがボトルネックであるかを知るために、呼び出し階層を取得するにはどうすればよいですか?

編集:--focusここで必要なのはオプションのようです。しかし、これを に接続する方法はRecursiveRelease?

ここに画像の説明を入力

編集:でRcppを再コンパイルし-g、 でリンクし-lprofilerた後、次を取得できました。これは、一部のライブラリがサポートなしでロードされているためでしょうか?-lprofiler

0 投票する
1 に答える
373 参照

eclipse - 特定の関数から階層を呼び出す

バックグラウンド:

日食で働いて、私はdo_somethingperform_taskの 2 つの機能を持っています。do_somethingが他の多くの関数を呼び出し、それらが他の関数 (など) を呼び出し、その行のどこかでperform_taskも呼び出されることを知っています。

これは大きなプロジェクトであり、多くのフローなどがあるため、do_somethingが別の関数シーケンスを介してperform_taskをアクティブにする 2 つの異なるシーケンスを既に見つけました。

実際の質問:

日食で特定の関数の呼び出し階層を取得する方法はありますが、シーケンス内の特定の他の関数も含むシーケンスのみですか?

これをグラフ パスの観点から考えると、有向グラフがあり、 node へのパスは何かを尋ねる代わりに、 nodeを含む nodexへのパスは何かを知りたいと思います。xy