diff --git a/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward.html b/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward.html index 9366797..784870b 100644 --- a/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward.html +++ b/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward.html @@ -84,7 +84,7 @@

現在は, 呼び出し元である FigNodeModelElement クラスの removeFromDiagramImpl() メソッドを見ています.
- ここで, 変数ビューを見ると, このメソッドも先ほどと同様に FigClass クラスのインスタンス (id = 1675174935) によって呼び出されていることがわかります.
+ ここで, 変数ビューを見ると, このメソッドも先ほどと同様に FigClass クラスのインスタンス (id = 1675174935) に対して呼び出されていることがわかります.
これを確認したら, 呼び出しスタック上でさらに1つ呼び出し元をクリックしてください.

@@ -142,14 +142,15 @@ いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
ActionRemoveFromDiagram() クラスの actionPerformed(ActionEvent) メソッドの85行目に止まります.
ソースコードを見ると, ここでは ローカル変数 ce で参照されているインスタンスに対して getSelectionManager() メソッドが呼び出され,
- その戻り値に対して getFigs() メソッドが呼び出され, getFigs() メソッドの戻り値として返されたリストが, ローカル変数 figs に代入されていることが確認できます.
+ その戻り値に対して getFigs() メソッドが呼び出され, getFigs() メソッドの戻り値として返されたリストが,
+ ローカル変数 figs に代入されていることが確認できます.
ここで, まずはステップインを1回押して Editor クラスの getSelectionManager() メソッドの中に入ってください.

Editor クラスの getSelectionManager() メソッドに入りました.
- ここで, 変数ビュー上の this を開くと, Editor クラスのインスタンス (id = 371019845) が
- フィールド _selectionManager として SelectionManager クラスのインスタンス (id = 4310438) を参照していることがわかります.
+ ここで, 変数ビュー上の this を開くと, Editor クラスのインスタンス (id = 371019845) の
+ フィールド _selectionManager が SelectionManager クラスのインスタンス (id = 4310438) を参照していることがわかります.
これを確認したら, ステップリターンを1回押して呼び出し元に戻ってください.

@@ -174,20 +175,21 @@

ここで, まずはステップインを3回押してください.
すると, selections に対する get() メソッドの実行が終了し, その戻り値に対して getContent() メソッドを呼び出す直前の時点にまで現在の実行時点が進みます.
+ (変数ビューを見ると, Selection.getContent() の呼び出し前であることがわかります.)
ここで, ステップインを1回押して, SelectionClass クラスの getContent() メソッドの中に入ってください.

Selection クラスの getContent() メソッドの中に入りました.
- ここで, 変数ビュー上の this を開くと SelectionClass クラスのインスタンス (id = 1672744985) が
- フィールド content として FigClass クラスのインスタンス (id = 1675174935) を参照していることがわかります.
+ ここで, 変数ビュー上の this を開くと SelectionClass クラスのインスタンス (id = 1672744985) の
+ フィールド content が FigClass クラスのインスタンス (id = 1675174935) を参照していることがわかります.
これを確認したら, ステップリターンを1回押して呼び出し元に戻ってください.

SelectionManager クラスの getFigs() メソッドに戻ってきました.
- ここで, 変数ビュー上の「呼び出し前」を開いて引数のIDを確認してください.
- すると, 先ほど取得してきた FigClass クラスのインスタンス (id = 1675174935) をローカル変数 figs に追加することがわかります.
+ ここで, 変数ビュー上の「呼び出し前」 (Vector.addElement(Object) の呼び出し前) を開いて引数のIDを確認してください.
+ すると, 先ほど取得してきた FigClass クラスのインスタンス (id = 1675174935) がローカル変数 figs に追加されることがわかります.

@@ -199,7 +201,7 @@

呼び出し元である ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドに戻ってきました.
ここで, ステップオーバーを1回押して, 87行目に進んでください.
- そのあと, 変数ビュー上の「呼び出し後」を開いて戻り値のIDを確認してください.
+ そのあと, 変数ビュー上の「呼び出し後」 (Iterator.next() の呼び出し後) を開いて戻り値のIDを確認してください.
すると, 先ほどの FigClass クラスのインスタンス (id = 1675174935) を取得していることがわかります.
これを確認したら, ステップオーバーを2回押して89行目に進んでください.

@@ -223,7 +225,8 @@ 今までの結果から, FigClass クラスのインスタンス (id = 1675174935) に関連するオブジェクトについて, 以下のことがわかりました.
  1. FigClass クラスのインスタンス (id = 1675174935) は SelectionClass クラスのインスタンス (id = 1672744985) が参照している.
  2. -
  3. SelectionClass クラスのインスタンス (id = 1672744985) は SelectionManager クラスのインスタンス (id = 4310438) が参照している.
  4. +
  5. SelectionClass クラスのインスタンス (id = 1672744985) は, SelectionManager クラスのインスタンス (id = 4310438) の selections + フィールドが参照している ArrayList のインスタンスによって管理されている.
  6. SelectionManager クラスのインスタンス (id = 4310438) は Editor クラスのインスタンス (id = 371019845) が参照している.
ここからは, Editor クラスのインスタンス (id = 371019845) について見ていきます.
@@ -247,7 +250,7 @@

Globals クラスの static メソッドである curEditor() メソッドに入りました.
- ここで, ソースコードを見ると, Globals クラスが static フィールド _curEditor として Editor クラスのインスタンスを参照していることがわかります.
+ ここで, ソースコードを見ると, Globals クラスの static フィールド _curEditor が Editor クラスのインスタンスを参照していることがわかります.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.