Eclipseのリファクタリング機能の仕組みとは?
Eclipseという開発環境を使用し始めて疑問に思ったのですが、メソッドやプロパティ名、クラス名などを置換するリファクタリング機能が存在します。
疑問なのは、Eclipseは置換の対象をどうやって認識しているのでしょうか?
プロパティとか変数とかクラス名って、スコープの範囲とか参照先かあるから、単に文字列で検索して置換しているだけではないのでは?と思っています。
ちょっと予想してみたのですが、パッケージやクラス名などを含めた、絶対位置のようなものをどこかに保持しているのでしょうか?中間コードみたいな場所とかに・・・?
考えると気になって仕方がありません。
出来れば、根拠とかソースを提示してもらえると助かります。
No.1ベストアンサー
- 回答日時:
Eclipse や IntellJ などでは、ソース編集時にメモリ内に構文木を作って、それを使って補完機能やリファクタリング機能を実現しているようです。
下記のページの「言語ワークベンチの要素」が分かりやすいかと。
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?Langua …
コンパイラがやっていることの一部を編集時にやっていると言っても良いでしょう。
まさかお返事をいただけるとは思いませんでした!
ありがとうございます。参考になりました。
まだ完全に理解できてないので、もっと勉強します!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- 英語 「名詞+形容詞/現在分詞/過去分詞+to不定詞の副詞的用法」の語順について 7 2022/09/22 05:27
- Word(ワード) ワードフォント 一括置換の方法 4 2022/12/31 00:27
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- 数学 高校数学の質問です 文字を消去したり、置き換えたりしたら、残った文字に範囲がつくかどうか調べるという 4 2023/05/03 18:18
- iPhone(アイフォーン) 10万円以上するスペックのスマホが必要になるのはどんな人?(ビデオカメラ機能除く) 6 2023/08/21 15:03
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- プリンタ・スキャナー ブラザー複合機のトナー交換およびトナー残量の検知の仕組みを教えて下さい。 1 2022/07/09 12:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3年間同じクラスになる確率
-
配列の重複する値とその個数を...
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
java eclipse 型に解決できません
-
string formatについて
-
同じクラスにならない確率を教...
-
同一パッケージにあるクラスが...
-
自作のクラスファイルがインポ...
-
「自作クラスの型」にキャスト...
-
意味の違いを教えてください Sh...
-
A・B・Cクラスとは?
-
標準モジュールとクラスモジュ...
-
JSPでclassのimport
-
Java「デフォルトのパッケージ...
-
どこからも呼ばれていない無意...
-
クラスのプロパティに構造体を...
-
JSP jsp:usebean で総称型クラ...
-
クラスの継承でメンバ変数が・・
-
UMLのクラス図はmain()も含むん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
河合塾のクラス分けについて
-
同じクラスにならない確率を教...
-
3年間同じクラスになる確率
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
配列の重複する値とその個数を...
-
java eclipse 型に解決できません
-
同一パッケージにあるクラスが...
-
私はクラスLINEにまだ入れてな...
-
老い先短い ジジィ が ふと 思う...
-
自作のクラスファイルがインポ...
-
どこからも呼ばれていない無意...
-
main()を持つクラスが2つ以上...
-
数学の計算問題。 3年間同じク...
-
クラス見てから 女の子5人 ネタ...
-
javaのコンパイルができません...
-
1 つのヘッダファイルに複数の...
-
重複エラーを解決するには
-
IPアドレスの3バイト目の呼び方
-
packageとimport の違いって?
おすすめ情報