- java.lang.Object
-
- jdk.jshell.execution.StreamingExecutionControl
-
- jdk.jshell.execution.JdiExecutionControl
-
- すべての実装されたインタフェース:
AutoCloseable
,ExecutionControl
- 直系の既知のサブクラス:
JdiDefaultExecutionControl
public abstract class JdiExecutionControl extends StreamingExecutionControl implements ExecutionControl
ExecutionControl
のJDI実装の概要。- 導入されたバージョン:
- 9
-
-
ネストされたクラスのサマリー
-
インタフェース jdk.jshell.spi.ExecutionControlで宣言されたネストされたクラス/インタフェース
ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
JdiExecutionControl(ObjectOutput out, ObjectInput in)
インスタンスの作成。
-
メソッドのサマリー
修飾子と型 メソッド 説明 void
redefine(ExecutionControl.ClassBytecodes[] cbcs)
指定されたクラスを再定義します。protected ReferenceType
referenceType(VirtualMachine vm, String name)
指定されたクラス名に対応するJDIReferenceType
を返します。protected abstract VirtualMachine
vm()
JDIVirtualMachine
インスタンスを返します。-
クラス jdk.jshell.execution.StreamingExecutionControlで宣言されたメソッド
close
-
クラス java.lang.Objectで宣言されたメソッド
clone、equals、finalize、getClass、hashCode、notify、notifyAll、toString、wait、wait、wait
-
インタフェース jdk.jshell.spi.ExecutionControlで宣言されたメソッド
addToClasspath, close, extensionCommand, invoke, load, stop, varValue
-
-
-
-
コンストラクタの詳細
-
JdiExecutionControl
protected JdiExecutionControl(ObjectOutput out, ObjectInput in)
インスタンスの作成。- パラメータ:
out
- リモート・エージェントからの出力in
- リモート・エージェントへの入力
-
-
メソッドの詳細
-
vm
protected abstract VirtualMachine vm() throws ExecutionControl.EngineTerminationException
JDIVirtualMachine
インスタンスを返します。- 戻り値:
- 仮想マシン
- 例外:
ExecutionControl.EngineTerminationException
- VMが停止/切断されている場合
-
redefine
public void redefine(ExecutionControl.ClassBytecodes[] cbcs) throws ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException
指定されたクラスを再定義します。 'redefine'がJDIおよびJVMTIの場合のように、クラス(クラス・アイデンティティを保持)のインプレース置換-- つまり、クラスへの既存の参照を再コンパイルする必要はありません。 この実装では、JDIVirtualMachine.redefineClasses(java.util.Map)
を使用します。 クラスのシグネチャが(JDI仕様を参照してください)に変更された場合は失敗します。 JShellコアは、再定義の失敗に順応するように設計されています。- 定義:
- インタフェース
ExecutionControl
内のredefine
- パラメータ:
cbcs
- 再定義するクラス名とバイトコード- 例外:
ExecutionControl.ClassInstallException
- クラスを再定義する際に例外が発生しました。一部またはすべてが再定義されませんでしたExecutionControl.EngineTerminationException
- 実行エンジンが終了しました
-
referenceType
protected ReferenceType referenceType(VirtualMachine vm, String name)
指定されたクラス名に対応するJDIReferenceType
を返します。- パラメータ:
vm
-vm()
が返す現在のJDIVirtualMachine
name
- ルックアップするクラス名- 戻り値:
- 対応する
ReferenceType
-
-