インタフェースCharacterRangeInfo


public sealed interface CharacterRangeInfo
CharacterRangeInfoは、JavaプラットフォームのプレビューAPIです。
プレビュー機能が有効な場合のみ、プログラムでCharacterRangeInfoを使用できます。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
CharacterRangeTableAttributePREVIEWの単一の文字範囲をモデル化します。
導入されたバージョン:
22
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    文字範囲リージョン(除外)のエンコードされた終了を返します。
    int
    文字範囲リージョン(包含)のエンコードされた開始を返します。
    int
    文字範囲リージョン(除外)の末尾を返します。
    int
    flags項目の値は、範囲の種類を示します。
    of(int startPc, int endPc, int characterRangeStart, int characterRangeEnd, int flags)
    文字範囲の説明を返します。
    int
    文字範囲リージョン(包含)の開始を返します。
  • メソッドの詳細

    • startPc

      int startPc()
      文字範囲リージョン(包含)の開始を返します。 これは、この文字範囲のコードが開始されるコード配列への索引です。
      戻り値:
      文字範囲リージョン(包含)の開始
    • endPc

      int endPc()
      文字範囲リージョン(除外)の末尾を返します。 これは、この文字範囲のコードが終了するコード配列への索引です。
      戻り値:
      文字範囲リージョン(除外)の終了
    • characterRangeStart

      int characterRangeStart()
      文字範囲リージョン(包含)のエンコードされた開始を返します。 値は、line_number << 10 + column_numberで指定されたline_number/column_numberペアから構築され、ソース・ファイルは(多分マルチバイト)文字の配列として表示されます。
      戻り値:
      文字範囲リージョン(包含)のエンコードされた開始
    • characterRangeEnd

      int characterRangeEnd()
      文字範囲リージョン(除外)のエンコードされた終了を戻します。 値は、line_number << 10 + column_numberで指定されたline_number/column_numberペアから構築され、ソース・ファイルは(多分マルチバイト)文字の配列として表示されます。
      戻り値:
      文字範囲リージョン(除外)のエンコードされた終了
    • flags

      int flags()
      flags項目の値は、範囲の種類を示します。 フラグ内に複数のフラグを設定できます。
      • ClassFile.CRT_STATEMENTPREVIEW範囲は、文(ExpressionStatementを除く)、StatementExpression 14.8、および文法内のLocalVariableDeclarationStatement 14.4またはFieldDeclaration 8.3の各VariableDeclaratorId = VariableInitializerです。
      • ClassFile.CRT_BLOCKPREVIEW範囲は、文法のブロックです。
      • ClassFile.CRT_ASSIGNMENTPREVIEW範囲は代入式です - 文法のExpression1 AssignmentOperator Expression1、および増分式と減分式(プレフィクスとポストフィクスの両方)。
      • ClassFile.CRT_FLOW_CONTROLLERPREVIEW値が制御フローに影響を与える式。 次の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_TARGETPREVIEW 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_INVOKEPREVIEWメソッドの呼出し。 例えば: 識別子引数。
      • ClassFile.CRT_CREATEPREVIEW新規オブジェクトの作成。 例えば: 新しい創造者
      • ClassFile.CRT_BRANCH_TRUEPREVIEWこのアイテムのコード範囲に含まれるブランチ指示にエンコードされた条件は、ソース・コード内の対応するブランチ条件に対して反転されません。 つまり、実際のジャンプは、ソース・コード・ブランチ条件が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_FALSEPREVIEWこの項目のコード範囲に含まれるブランチ指示にエンコードされた条件は、ソース・コード内の対応するブランチ条件に対して反転されます。 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 - 範囲フラグ
      戻り値:
      文字範囲の説明