クラスJdiExecutionControl
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
-
ネストされたクラスのサマリー
インタフェースで宣言されたネストされたクラス/インタフェース ExecutionControl
ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException修飾子と型インタフェース説明static final classクラス名とクラス・バイト・コードをバンドルします。static classクラス・インストール(ロードまたは再定義)で問題が発生しました。static class禁止されていない実行エンジンの終了が発生しました。static classすべてのExecutionControl例外の抽象ベース。static class内部問題が発生しました。static classコマンドは実装されていません。static class未解決の参照を含むDeclarationSnippetが検出されたことを示す例外。static class実行中のユーザー・コードに固有の例外の抽象ベース。static classstatic class「通常の」ユーザー例外が発生しました。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明void指定されたクラスを再定義します。protected ReferenceTypereferenceType(VirtualMachine vm, String name) 指定されたクラス名に対応するJDIReferenceTypeを返します。protected abstract VirtualMachinevm()JDIVirtualMachineインスタンスを返します。クラスで宣言されたメソッド StreamingExecutionControl
addToClasspath, close, extensionCommand, invoke, load, stop, varValue修飾子と型メソッド説明voidaddToClasspath(String path) 実行クラス・パスにパスを追加します。voidclose()実行エンジンを閉じます。extensionCommand(String command, Object arg) 非標準コマンド(新しいバージョンの標準コマンド)を実行します。指定されたラッパー・クラスのメソッドをコールして、実行可能スニペットを起動します。voidload(ExecutionControl.ClassBytecodes[] cbcs) 新しいクラスをロードしようとします。voidstop()実行中の呼出しを中断します。変数の値を返します。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
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()が返す現在のJDIVirtualMachinename- ルックアップするクラス名- 戻り値:
- 対応する
ReferenceType
-