Interface TypeAnnotation.TargetInfo

All Known Subinterfaces:
TypeAnnotation.CatchTarget, TypeAnnotation.EmptyTarget, TypeAnnotation.FormalParameterTarget, TypeAnnotation.LocalVarTarget, TypeAnnotation.OffsetTarget, TypeAnnotation.SupertypeTarget, TypeAnnotation.ThrowsTarget, TypeAnnotation.TypeArgumentTarget, TypeAnnotation.TypeParameterBoundTarget, TypeAnnotation.TypeParameterTarget
Enclosing interface:
TypeAnnotation

  • Field Details

  • 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.TypeParameterTarget ofTypeParameter(TypeAnnotation.TargetType targetType, int typeParameterIndex)
      Returns a target for annotations on a class or method type parameter declaration.
      Parameters:
      targetType - TypeAnnotation.TargetType.CLASS_TYPE_PARAMETER or TypeAnnotation.TargetType.METHOD_TYPE_PARAMETER
      typeParameterIndex - specifies which type parameter declaration is annotated
      Returns:
      a target for annotations on a class or method type parameter declaration
    • ofClassTypeParameter

      static TypeAnnotation.TypeParameterTarget 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.TypeParameterTarget 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.SupertypeTarget 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.TypeParameterBoundTarget ofTypeParameterBound(TypeAnnotation.TargetType 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_BOUND or TypeAnnotation.TargetType.METHOD_TYPE_PARAMETER_BOUND
      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.TypeParameterBoundTarget 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.TypeParameterBoundTarget 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

      Returns a target for annotations.
      Parameters:
      targetType - TypeAnnotation.TargetType.FIELD, TypeAnnotation.TargetType.METHOD_RETURN or TypeAnnotation.TargetType.METHOD_RECEIVER
      Returns:
      a target for annotations
    • ofField

      static TypeAnnotation.EmptyTarget 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.EmptyTarget 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.EmptyTarget 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.FormalParameterTarget 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.ThrowsTarget 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_VARIABLE or TypeAnnotation.TargetType.RESOURCE_VARIABLE
      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.CatchTarget 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

      static TypeAnnotation.OffsetTarget ofOffset(TypeAnnotation.TargetType targetType, Label target)
      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.INSTANCEOF, TypeAnnotation.TargetType.NEW, TypeAnnotation.TargetType.CONSTRUCTOR_REFERENCE, or TypeAnnotation.TargetType.METHOD_REFERENCE
      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.OffsetTarget ofInstanceofExpr(Label 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

      static TypeAnnotation.OffsetTarget ofNewExpr(Label target)
      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.OffsetTarget ofConstructorReference(Label 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.OffsetTarget ofMethodReference(Label 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.TypeArgumentTarget ofTypeArgument(TypeAnnotation.TargetType targetType, Label 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.CAST, TypeAnnotation.TargetType.CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT, TypeAnnotation.TargetType.METHOD_INVOCATION_TYPE_ARGUMENT, TypeAnnotation.TargetType.CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT, or TypeAnnotation.TargetType.METHOD_REFERENCE_TYPE_ARGUMENT
      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.TypeArgumentTarget ofCastExpr(Label 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.TypeArgumentTarget ofConstructorInvocationTypeArgument(Label 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.TypeArgumentTarget ofMethodInvocationTypeArgument(Label 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.TypeArgumentTarget ofConstructorReferenceTypeArgument(Label 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.TypeArgumentTarget ofMethodReferenceTypeArgument(Label 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