public sealed interface CharacterRangeInfo
CharacterRangeInfo
は、JavaプラットフォームのプレビューAPIです。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
CharacterRangeTableAttribute
PREVIEWの単一の文字範囲をモデル化します。- 導入されたバージョン:
- 22
-
メソッドのサマリー
修飾子と型メソッド説明int
文字範囲リージョン(exclusive)のエンコードされた終了を返します。int
文字範囲リージョン(inclusive)のエンコードされた開始を返します。int
endPc()
文字範囲リージョン(exclusive)の末尾を返します。int
flags()
flags項目の値は、範囲の種類を示します。static CharacterRangeInfoPREVIEW
of
(int startPc, int endPc, int characterRangeStart, int characterRangeEnd, int flags) 文字範囲の説明を返します。int
startPc()
文字範囲リージョン(inclusive)の開始を返します。
-
メソッドの詳細
-
startPc
int startPc()文字範囲リージョン(inclusive)の開始を返します。 これは、この文字範囲のコードが開始されるコード配列への索引です。- 戻り値:
- 文字範囲リージョン(inclusive)の開始
-
endPc
int endPc()文字範囲リージョン(exclusive)の末尾を返します。 これは、この文字範囲のコードが終了するコード配列への索引です。- 戻り値:
- 文字範囲リージョン(exclusive)の終了
-
characterRangeStart
int characterRangeStart()文字範囲リージョン(inclusive)のエンコードされた開始を返します。 値は、line_number << 10 + column_number
で指定されたline_number/column_numberペアから構築され、ソース・ファイルは(多分マルチバイト)文字の配列として表示されます。- 戻り値:
- 文字範囲リージョン(inclusive)のエンコードされた開始
-
characterRangeEnd
int characterRangeEnd()文字範囲リージョン(exclusive)のエンコードされた終了を戻します。 値は、line_number << 10 + column_number
で指定されたline_number/column_numberペアから構築され、ソース・ファイルは(多分マルチバイト)文字の配列として表示されます。- 戻り値:
- 文字範囲リージョン(exclusive)のエンコードされた終了
-
flags
int flags()flags項目の値は、範囲の種類を示します。 フラグ内に複数のフラグを設定できます。ClassFile.CRT_STATEMENT
PREVIEW範囲は、文(ExpressionStatementを除く)、StatementExpression 14.8、および文法内のLocalVariableDeclarationStatement 14.4またはFieldDeclaration 8.3の各VariableDeclaratorId = VariableInitializerです。ClassFile.CRT_BLOCK
PREVIEW範囲は、文法のブロックです。ClassFile.CRT_ASSIGNMENT
PREVIEW範囲は代入式です - 文法のExpression1 AssignmentOperator Expression1、および増分式と減分式(プレフィクスとポストフィクスの両方)。ClassFile.CRT_FLOW_CONTROLLER
PREVIEW値が制御フローに影響を与える式。 次のFlowcon
:if ( Flowcon ) Statement [else Statement] for ( ForInitOpt ; [Flowcon] ; ForUpdateOpt ) Statement while ( Flowcon ) Statement do Statement while ( Flowcon ) ; switch ( Flowcon ) { SwitchBlockStatementGroups } Flowcon || Expression3 Flowcon && Expression3 Flowcon ? Expression : Expression1
ClassFile.CRT_FLOW_TARGET
PREVIEW CRT_FLOW_CONTROLLERの影響を受ける文または式。 次のFlowtarg
:if ( Flowcon ) Flowtarg [else Flowtarg] for ( ForInitOpt ; [Flowcon] ; ForUpdateOpt ) Flowtarg while ( Flowcon ) Flowtarg do Flowtarg while ( Flowcon ) ; Flowcon || Flowtarg Flowcon && Flowtarg Flowcon ? Flowtarg : Flowtarg
ClassFile.CRT_INVOKE
PREVIEWメソッドの呼出し。 例えば: 識別子引数。ClassFile.CRT_CREATE
PREVIEW新規オブジェクトの作成。 例えば: 新しい創造者ClassFile.CRT_BRANCH_TRUE
PREVIEWこのアイテムのコード範囲に含まれるブランチ指示にエンコードされた条件は、ソース・コード内の対応するブランチ条件に対して反転されません。 つまり、実際のジャンプは、ソース・コード・ブランチ条件がtrueと評価された場合にのみ発生します。 このタイプのエントリは、CRT_FLOW_CONTROLLERフラグの説明にリストされている条件に対してのみ生成されます。 エントリのソース範囲にフロー制御式が含まれています。このタイプのエントリのstart_pcフィールドは、ブランチ指示を指している必要があります: if_acmp<cond>、if_icmp<cond>、if<cond>、ifnonull、ifnullまたはgoto。 CRT_BRANCH_TRUEおよびCRT_BRANCH_FALSEは、実行時に選択された条件のブランチを決定するために使用できる特別な種類のエントリです。ClassFile.CRT_BRANCH_FALSE
PREVIEWこの項目のコード範囲に含まれるブランチ指示にエンコードされた条件は、ソース・コード内の対応するブランチ条件に対して反転されます。 I.e.実際のジャンプは、ソース・コード・ブランチ条件がfalseと評価される場合にのみ発生します。 このタイプのエントリは、CRT_FLOW_CONTROLLERフラグの説明にリストされている条件に対してのみ生成されます。 エントリのソース範囲にフロー制御式が含まれています。このタイプのエントリのstart_pcフィールドは、ブランチ指示を指している必要があります: if_acmp<cond>、if_icmp<cond>、if<cond>、ifnonull、ifnullまたはgoto。
上で割り当てられていないフラグ項目のすべてのビットは、将来使用するために予約されています。 生成されたクラス・ファイルではゼロに設定し、Java仮想マシンの実装では無視する必要があります。
- 戻り値:
- フラグ
-
of
static CharacterRangeInfoPREVIEW of(int startPc, int endPc, int characterRangeStart, int characterRangeEnd, int flags) 文字範囲の説明を返します。- パラメータ:
startPc
- バイトコード範囲の開始(包含)endPc
- バイトコード範囲の終わり(排他的)characterRangeStart
-line_number << 10 + column_number
としてエンコードされた文字範囲の先頭(包含)characterRangeEnd
-line_number << 10 + column_number
としてエンコードされた文字範囲の終わり(排他的)flags
- 範囲フラグ- 戻り値:
- 文字範囲の説明
-
CharacterRangeInfo
を使用できます。