トップ
>
研究内容
>
研究用ツール
> JavaVariableScopeExtractor
JavaVariableScopeExtractor
概要
Java ソースファイルに登場する変数(ローカル変数, フィールド及びメソッド仮引数)の名前と型, スコープ情報(開始行番号と終了行番号)を調べる.
ダウンロード
Jar ファイル:
JavaVariableScopeExtractor.jar
Ver. 3.2.2(8MB)
ソースファイル:
GitHub
必要なライブラリ:Eclipse JDT(※上の Jar ファイルには含まれています)
org.eclipse.core.contenttype_3.7.600.v20200124-1609.jar
org.eclipse.core.jobs_3.10.700.v20200106-1020.jar
org.eclipse.core.resources_3.13.700.v20200209-1624.jar
org.eclipse.core.runtime_3.17.100.v20200203-0917.jar
org.eclipse.equinox.common_3.11.0.v20200206-0817.jar
org.eclipse.equinox.preferences_3.7.700.v20191213-1901.jar
org.eclipse.jdt.core_3.21.0.v20200304-1404.jar
org.eclipse.osgi_3.15.200.v20200214-1600.jar
org.eclipse.text_3.10.100.v20200217-1239.jar
(変更履歴・アーカイブ)
Ver. 3.2.1 -> 3.2.2 : 型名にアノテーションが含まれていたバグと,メソッドの引数が配列の場合に型名抽出に失敗するケースがあったバグを修正.
Ver. 3.2 -> 3.2.1 : Enum 宣言内のフィールドについてスコープを間違えていたバグを修正.
Ver. 3.1 -> 3.2 : 匿名クラス内のフィールドについてスコープを間違えていたバグを修正.
Ver. 3.0 -> 3.1 : 変数宣言時に別の変数で初期化するというケースで変数名の取り違えをやっていたバグを修正.
Ver. 2.0 -> 3.0 : 複数の Java ソースファイルをまとめて処理できるように機能拡張した(-l オプションの追加).
JavaVariableScopeExtractor_2_0.jar
Ver. 2.0(8MB)
Ver.1.2 -> 2.0 : 変数の型名も表示できるよう機能拡張した.
出力形式はタブ区切り形式に変更した.
JavaVariableScopeExtractor_1_2.jar
Ver. 1.2(7.9MB)
Ver.1.2 で使われていたライブラリ:
org.eclipse.core.contenttype_3.4.200.v20130326-1255.jar
org.eclipse.core.jobs_3.5.300.v20130429-1813.jar
org.eclipse.core.resources_3.8.100.v20130521-2026.jar
org.eclipse.core.runtime_3.9.0.v20130326-1255.jar
org.eclipse.equinox.common_3.6.200.v20130402-1505.jar
org.eclipse.equinox.preferences_3.5.100.v20130422-1538.jar
org.eclipse.jdt.core_3.9.1.v20130905-0837.jar
org.eclipse.osgi_3.9.0.v20130529-1710.jar
org.eclipse.text_3.5.300.v20130515-1451.jar
使い方
java -jar JavaVariableScopeExtractor.jar [オプション] ソースファイル
java -jar JavaVariableScopeExtractor.jar [オプション] -l ソースファイルリスト
オプション
無し: ローカル変数,フィールド及びメソッド仮引数の情報を表示
-d : 対象ソースファイルの抽象構文木情報も表示
ソースファイルリスト
1 行につき 1 個のソースファイルのパスを記述したテキストファイル
出力形式
以下の情報が 1 変数につき 1 行で表示される. 項目の区切りはタブ文字である.
ファイルパス
変数の種類(※1)
変数名
変数の型(※2)
スコープ開始行番号
スコープ終了行番号
(※1)変数の種類には三つがあり,それぞれアルファベット 1 文字(大文字)で次の意味がある:
F: フィールド
M: メソッド仮引数
L: ローカル変数
(※2)可変長引数の型は配列と見なされる.
(C) Copyright 2015-2020 Hirohisa AMAN (阿萬 裕久)