課題A4


課題A4

課題A4終了直後は下図のような状態になっているはずです.
ここで, 「実行時点の登録」ビュー上で登録している「780行目 DefaultDrawingView.addToSelection(Figure)」をダブルクリックしてください.
すると, 現在の実行時点が DefaultDrawingView クラスの addToSelection(Figure) メソッドの780行目に移ります.

先ほどの操作によって, 現在は DefaultDrawingView クラスの addToSelection(Figure) メソッドの780行目にいます.
ここで, 変数ビュー上の「呼び出し前」を開いて, 引数を右クリックしてください.
右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.

実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.

「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.

「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側004」までを順番にクリックしてください.

「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側013」までを順番にクリックしてください.

「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.

「オブジェクトの接近過程抽出」ビュー上の「参照先側002」をクリックしてください.

先ほどの操作によって, 現在は DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの109行目にいます.
ここで, 変数ビュー上の this を開き, フィールド anchorFigure を右クリックしてください.
右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
すると, 現在の実行時点が DefaultDragTracker クラスの setDraggedFigure(Figure) メソッドの218行目に移ります.

先ほどの操作によって, 現在は DefaultDragTracker クラスの setDraggedFigure(Figure) メソッドの218行目にいます.
ここで, 変数ビュー上の「フィールド代入前」を開いて, 参照先を右クリックしてください.
右クリックすると, ポップアップメニューが出てくるので,「オブジェクトの接近過程抽出」をクリックしてください.

実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.

「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.

「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側036」までを順番にクリックしてください.

「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側004」までを順番にクリックしてください.

「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.

「オブジェクトの接近過程抽出」ビュー上の「参照先側028」をクリックしてください.

先ほどの操作によって, 現在は QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドの129行目にいます.
ここで, ステップネクストを1回押して130行目にまで進んでください.

先ほどの操作によって, 現在は QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドの130行目にいます.
ここで, 変数ビュー上で「呼び出し後」を開いて, 戻り値を右クリックしてください.
右クリックすると, ポップアップメニューが出てくるので, 「オブジェクトの追加時点に飛ぶ」をクリックしてください.
すると, 現在の実行時点が QuadTree$QuadNode クラスの findContains(Point2D$Double, HashSet) メソッドの226行目に移ります.

先ほどの操作によって, 現在は QuadTree$QuadNode クラスの findContains(Point2D$Double, HashSet) メソッドの226行目にいます.
ここで, 変数ビュー上で「呼び出し後」を開いて, 戻り値を右クリックしてください.
右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.

実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.

「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.

「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側013」までを順番にクリックしてください.

「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側004」までを順番にクリックしてください.

「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.