Interface TypeAnnotation.TargetInfo

All Known Subinterfaces:
TypeAnnotation.CatchTargetPREVIEW, TypeAnnotation.EmptyTargetPREVIEW, TypeAnnotation.FormalParameterTargetPREVIEW, TypeAnnotation.LocalVarTargetPREVIEW, TypeAnnotation.OffsetTargetPREVIEW, TypeAnnotation.SupertypeTargetPREVIEW, TypeAnnotation.ThrowsTargetPREVIEW, TypeAnnotation.TypeArgumentTargetPREVIEW, TypeAnnotation.TypeParameterBoundTargetPREVIEW, TypeAnnotation.TypeParameterTargetPREVIEW
Enclosing interface:
TypeAnnotationPREVIEW

TargetInfo is a preview API of the Java platform.
Programs can only use TargetInfo when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Specifies which type in a declaration or expression is being annotated.
Sealed Class Hierarchy Graph:
Sealed class hierarchy graph for TypeAnnotation/TargetInfoSealed class hierarchy graph for TypeAnnotation/TargetInfo
Since:
22
  • Method Details

    • targetType

      Returns the type of the target.
      Returns:
      the type of the target
    • size

      default int size()
      Returns the size of the target info.
      Returns:
      the size of the target info
    • ofTypeParameter

      static TypeAnnotation.TypeParameterTargetPREVIEW ofTypeParameter(TypeAnnotation.TargetTypePREVIEW targetType, int typeParameterIndex)
      Returns a target for annotations on a class or method type parameter declaration.
      Parameters:
      targetType - TypeAnnotation.TargetType.CLASS_TYPE_PARAMETERPREVIEW or TypeAnnotation.TargetType.METHOD_TYPE_PARAMETERPREVIEW
      typeParameterIndex - specifies which type parameter declaration is annotated
      Returns:
      a target for annotations on a class or method type parameter declaration
    • ofClassTypeParameter

      static TypeAnnotation.TypeParameterTargetPREVIEW ofClassTypeParameter(int typeParameterIndex)
      Returns a target for annotations on a class type parameter declaration.
      Parameters:
      typeParameterIndex - specifies which type parameter declaration is annotated
      Returns:
      a target for annotations on a class type parameter declaration
    • ofMethodTypeParameter

      static TypeAnnotation.TypeParameterTargetPREVIEW ofMethodTypeParameter(int typeParameterIndex)
      Returns a target for annotations on a method type parameter declaration.
      Parameters:
      typeParameterIndex - specifies which type parameter declaration is annotated
      Returns:
      a target for annotations on a method type parameter declaration
    • ofClassExtends

      static TypeAnnotation.SupertypeTargetPREVIEW ofClassExtends(int supertypeIndex)
      Returns a target for annotations on the type of an "extends" or "implements" clause.
      Parameters:
      supertypeIndex - the index into the interfaces array or 65535 to indicate it is the superclass
      Returns:
      a target for annotations on the type of an "extends" or "implements" clause
    • ofTypeParameterBound

      static TypeAnnotation.TypeParameterBoundTargetPREVIEW ofTypeParameterBound(TypeAnnotation.TargetTypePREVIEW targetType, int typeParameterIndex, int boundIndex)
      Returns a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, interface, method, or constructor.
      Parameters:
      targetType - TypeAnnotation.TargetType.CLASS_TYPE_PARAMETER_BOUNDPREVIEW or TypeAnnotation.TargetType.METHOD_TYPE_PARAMETER_BOUNDPREVIEW
      typeParameterIndex - specifies which type parameter declaration is annotated
      boundIndex - specifies which bound of the type parameter declaration is annotated
      Returns:
      a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, interface, method, or constructor
    • ofClassTypeParameterBound

      static TypeAnnotation.TypeParameterBoundTargetPREVIEW ofClassTypeParameterBound(int typeParameterIndex, int boundIndex)
      Returns a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, or interface.
      Parameters:
      typeParameterIndex - specifies which type parameter declaration is annotated
      boundIndex - specifies which bound of the type parameter declaration is annotated
      Returns:
      a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, or interface
    • ofMethodTypeParameterBound

      static TypeAnnotation.TypeParameterBoundTargetPREVIEW ofMethodTypeParameterBound(int typeParameterIndex, int boundIndex)
      Returns a target for annotations on the i'th bound of the j'th type parameter declaration of a generic method, or constructor.
      Parameters:
      typeParameterIndex - specifies which type parameter declaration is annotated
      boundIndex - specifies which bound of the type parameter declaration is annotated
      Returns:
      a target for annotations on the i'th bound of the j'th type parameter declaration of a generic method, or constructor
    • of

    • ofField

      Returns a target for annotations on the type in a field or record declaration.
      Returns:
      a target for annotations on the type in a field or record declaration
    • ofMethodReturn

      static TypeAnnotation.EmptyTargetPREVIEW ofMethodReturn()
      Returns a target for annotations on the return type of a method or a newly constructed object.
      Returns:
      a target for annotations on the return type of a method or a newly constructed object
    • ofMethodReceiver

      static TypeAnnotation.EmptyTargetPREVIEW ofMethodReceiver()
      Returns a target for annotations on the receiver type of a method or constructor.
      Returns:
      a target for annotations on the receiver type of a method or constructor
    • ofMethodFormalParameter

      static TypeAnnotation.FormalParameterTargetPREVIEW ofMethodFormalParameter(int formalParameterIndex)
      Returns a target for annotations on the type in a formal parameter declaration of a method, constructor, or lambda expression.
      Parameters:
      formalParameterIndex - specifies which formal parameter declaration has an annotated type
      Returns:
      a target for annotations on the type in a formal parameter declaration of a method, constructor, or lambda expression
    • ofThrows

      static TypeAnnotation.ThrowsTargetPREVIEW ofThrows(int throwsTargetIndex)
      Returns a target for annotations on the i'th type in the throws clause of a method or constructor declaration.
      Parameters:
      throwsTargetIndex - the index into the exception table of the Exceptions attribute of the method
      Returns:
      a target for annotations on the i'th type in the throws clause of a method or constructor declaration
    • ofVariable

      Returns a target for annotations on the type in a local variable declaration, including a variable declared as a resource in a try-with-resources statement.
      Parameters:
      targetType - TypeAnnotation.TargetType.LOCAL_VARIABLEPREVIEW or TypeAnnotation.TargetType.RESOURCE_VARIABLEPREVIEW
      table - the list of local variable targets
      Returns:
      a target for annotations on the type in a local variable declaration, including a variable declared as a resource in a try-with-resources statement
    • ofLocalVariable

      Returns a target for annotations on the type in a local variable declaration.
      Parameters:
      table - the list of local variable targets
      Returns:
      a target for annotations on the type in a local variable declaration
    • ofResourceVariable

      Returns a target for annotations on the type in a local variable declared as a resource in a try-with-resources statement.
      Parameters:
      table - the list of local variable targets
      Returns:
      a target for annotations on the type in a local variable declared as a resource in a try-with-resources statement
    • ofExceptionParameter

      static TypeAnnotation.CatchTargetPREVIEW ofExceptionParameter(int exceptionTableIndex)
      Returns a target for annotations on the i'th type in an exception parameter declaration.
      Parameters:
      exceptionTableIndex - the index into the exception table of the Code attribute
      Returns:
      a target for annotations on the i'th type in an exception parameter declaration
    • ofOffset

      Returns a target for annotations on the type in an instanceof expression or a new expression, or the type before the :: in a method reference expression.
      Parameters:
      targetType - TypeAnnotation.TargetType.INSTANCEOFPREVIEW, TypeAnnotation.TargetType.NEWPREVIEW, TypeAnnotation.TargetType.CONSTRUCTOR_REFERENCEPREVIEW, or TypeAnnotation.TargetType.METHOD_REFERENCEPREVIEW
      target - the code label corresponding to the instruction
      Returns:
      a target for annotations on the type in an instanceof expression or a new expression, or the type before the :: in a method reference expression
    • ofInstanceofExpr

      static TypeAnnotation.OffsetTargetPREVIEW ofInstanceofExpr(LabelPREVIEW target)
      Returns a target for annotations on the type in an instanceof expression.
      Parameters:
      target - the code label corresponding to the instruction
      Returns:
      a target for annotations on the type in an instanceof expression
    • ofNewExpr

      Returns a target for annotations on the type in a new expression.
      Parameters:
      target - the code label corresponding to the instruction
      Returns:
      a target for annotations on the type in a new expression
    • ofConstructorReference

      static TypeAnnotation.OffsetTargetPREVIEW ofConstructorReference(LabelPREVIEW target)
      Returns a target for annotations on the type before the :: in a constructor reference expression.
      Parameters:
      target - the code label corresponding to the instruction
      Returns:
      a target for annotations on the type before the :: in a constructor reference expression
    • ofMethodReference

      static TypeAnnotation.OffsetTargetPREVIEW ofMethodReference(LabelPREVIEW target)
      Returns a target for annotations on the type before the :: in a method reference expression.
      Parameters:
      target - the code label corresponding to the instruction
      Returns:
      a target for annotations on the type before the :: in a method reference expression
    • ofTypeArgument

      static TypeAnnotation.TypeArgumentTargetPREVIEW ofTypeArgument(TypeAnnotation.TargetTypePREVIEW targetType, LabelPREVIEW target, int typeArgumentIndex)
      Returns a target for annotations on the i'th type in a cast expression, or on the i'th type argument in the explicit type argument list for any of the following: a new expression, an explicit constructor invocation statement, a method invocation expression, or a method reference expression.
      Parameters:
      targetType - TypeAnnotation.TargetType.CASTPREVIEW, TypeAnnotation.TargetType.CONSTRUCTOR_INVOCATION_TYPE_ARGUMENTPREVIEW, TypeAnnotation.TargetType.METHOD_INVOCATION_TYPE_ARGUMENTPREVIEW, TypeAnnotation.TargetType.CONSTRUCTOR_REFERENCE_TYPE_ARGUMENTPREVIEW, or TypeAnnotation.TargetType.METHOD_REFERENCE_TYPE_ARGUMENTPREVIEW
      target - the code label corresponding to the instruction
      typeArgumentIndex - specifies which type in the cast operator or argument is annotated
      Returns:
      a target for annotations on the i'th type in a cast expression, or on the i'th type argument in the explicit type argument list for any of the following: a new expression, an explicit constructor invocation statement, a method invocation expression, or a method reference expression
    • ofCastExpr

      static TypeAnnotation.TypeArgumentTargetPREVIEW ofCastExpr(LabelPREVIEW target, int typeArgumentIndex)
      Returns a target for annotations on the i'th type in a cast expression.
      Parameters:
      target - the code label corresponding to the instruction
      typeArgumentIndex - specifies which type in the cast operator is annotated
      Returns:
      a target for annotations on the i'th type in a cast expression
    • ofConstructorInvocationTypeArgument

      static TypeAnnotation.TypeArgumentTargetPREVIEW ofConstructorInvocationTypeArgument(LabelPREVIEW target, int typeArgumentIndex)
      Returns a target for annotations on the i'th type argument in the explicit type argument list for an explicit constructor invocation statement.
      Parameters:
      target - the code label corresponding to the instruction
      typeArgumentIndex - specifies which type in the argument is annotated
      Returns:
      a target for annotations on the i'th type argument in the explicit type argument list for an explicit constructor invocation statement
    • ofMethodInvocationTypeArgument

      static TypeAnnotation.TypeArgumentTargetPREVIEW ofMethodInvocationTypeArgument(LabelPREVIEW target, int typeArgumentIndex)
      Returns a target for annotations on the i'th type argument in the explicit type argument list for a method invocation expression.
      Parameters:
      target - the code label corresponding to the instruction
      typeArgumentIndex - specifies which type in the argument is annotated
      Returns:
      a target for annotations on the i'th type argument in the explicit type argument list for a method invocation expression
    • ofConstructorReferenceTypeArgument

      static TypeAnnotation.TypeArgumentTargetPREVIEW ofConstructorReferenceTypeArgument(LabelPREVIEW target, int typeArgumentIndex)
      Returns a target for annotations on the i'th type argument in the explicit type argument list for a new expression.
      Parameters:
      target - the code label corresponding to the instruction
      typeArgumentIndex - specifies which type in the argument is annotated
      Returns:
      a target for annotations on the i'th type argument in the explicit type argument list for a new expression
    • ofMethodReferenceTypeArgument

      static TypeAnnotation.TypeArgumentTargetPREVIEW ofMethodReferenceTypeArgument(LabelPREVIEW target, int typeArgumentIndex)
      Returns a target for annotations on the i'th type argument in the explicit type argument list for a method reference expression.
      Parameters:
      target - the code label corresponding to the instruction
      typeArgumentIndex - specifies which type in the argument is annotated
      Returns:
      a target for annotations on the i'th type argument in the explicit type argument list for a method reference expression