Interface TypeWriter.Default.ValidatingClassVisitor.Constraint

All Known Implementing Classes:
TypeWriter.Default.ValidatingClassVisitor.Constraint.Compound, TypeWriter.Default.ValidatingClassVisitor.Constraint.ForAnnotation, TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClass, TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClassFileVersion, TypeWriter.Default.ValidatingClassVisitor.Constraint.ForInterface, TypeWriter.Default.ValidatingClassVisitor.Constraint.ForPackageType, TypeWriter.Default.ValidatingClassVisitor.Constraint.ForRecord
Enclosing class:
TypeWriter.Default.ValidatingClassVisitor

protected static interface TypeWriter.Default.ValidatingClassVisitor.Constraint
A constraint for members that are legal for a given type.
  • Method Details

    • assertType

      void assertType(int modifier, boolean definesInterfaces, boolean isGeneric)
      Asserts if the type can legally represent a package description.
      Parameters:
      modifier - The modifier that is to be written to the type.
      definesInterfaces - true if this type implements at least one interface.
      isGeneric - true if this type defines a generic type signature.
    • assertField

      void assertField(String name, boolean isPublic, boolean isStatic, boolean isFinal, boolean isGeneric)
      Asserts a field for being valid.
      Parameters:
      name - The name of the field.
      isPublic - true if this field is public.
      isStatic - true if this field is static.
      isFinal - true if this field is final.
      isGeneric - true if this field defines a generic signature.
    • assertMethod

      void assertMethod(String name, boolean isAbstract, boolean isPublic, boolean isPrivate, boolean isStatic, boolean isVirtual, boolean isConstructor, boolean isDefaultValueIncompatible, boolean isGeneric)
      Asserts a method for being valid.
      Parameters:
      name - The name of the method.
      isAbstract - true if the method is abstract.
      isPublic - true if this method is public.
      isPrivate - true if this method is private.
      isStatic - true if this method is static.
      isVirtual - true if this method is virtual.
      isConstructor - true if this method is a constructor.
      isDefaultValueIncompatible - true if a method's signature cannot describe an annotation property method.
      isGeneric - true if this method defines a generic signature.
    • assertAnnotation

      void assertAnnotation()
      Asserts the legitimacy of an annotation for the instrumented type.
    • assertTypeAnnotation

      void assertTypeAnnotation()
      Asserts the legitimacy of a type annotation for the instrumented type.
    • assertDefaultValue

      void assertDefaultValue(String name)
      Asserts if a default value is legal for a method.
      Parameters:
      name - The name of the method.
    • assertDefaultMethodCall

      void assertDefaultMethodCall()
      Asserts if it is legal to invoke a default method from a type.
    • assertTypeInConstantPool

      void assertTypeInConstantPool()
      Asserts the capability to store a type constant in the class's constant pool.
    • assertMethodTypeInConstantPool

      void assertMethodTypeInConstantPool()
      Asserts the capability to store a method type constant in the class's constant pool.
    • assertHandleInConstantPool

      void assertHandleInConstantPool()
      Asserts the capability to store a method handle in the class's constant pool.
    • assertInvokeDynamic

      void assertInvokeDynamic()
      Asserts the capability to invoke a method dynamically.
    • assertSubRoutine

      void assertSubRoutine()
      Asserts the capability of executing a subroutine.
    • assertDynamicValueInConstantPool

      void assertDynamicValueInConstantPool()
      Asserts the capability of storing a dynamic value in the constant pool.
    • assertNestMate

      void assertNestMate()
      Asserts the capability of storing nest mate information.
    • assertRecord

      void assertRecord()
      Asserts the presence of a record component.
    • assertPermittedSubclass

      void assertPermittedSubclass()
      Asserts the presence of a permitted subclass.