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
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明void
指定されたクラスを再定義します。protected ReferenceType
referenceType
(VirtualMachine vm, String name) 指定されたクラス名に対応するJDIReferenceType
を返します。protected abstract VirtualMachine
vm()
JDIVirtualMachine
インスタンスを返します。クラスjdk.jshell.execution.StreamingExecutionControlで宣言されたメソッド
addToClasspath, close, extensionCommand, invoke, load, stop, varValue
クラス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.EngineTerminationExceptionJDIVirtualMachine
インスタンスを返します。- 戻り値:
- 仮想マシン
- 例外:
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
-