Class CFVersion

java.lang.Object
org.openjdk.asmtools.common.structure.CFVersion

public class CFVersion extends Object
  • Field Details

    • DEFAULT_MAJOR_VERSION

      public static final int DEFAULT_MAJOR_VERSION
      Default versions of class file
      See Also:
    • DEFAULT_MINOR_VERSION

      public static final int DEFAULT_MINOR_VERSION
      See Also:
    • DEFAULT_MODULE_MAJOR_VERSION

      public static final int DEFAULT_MODULE_MAJOR_VERSION
      See Also:
    • DEFAULT_MODULE_MINOR_VERSION

      public static final int DEFAULT_MODULE_MINOR_VERSION
      See Also:
    • UNDEFINED_VERSION

      public static final int UNDEFINED_VERSION
      See Also:
    • SPLIT_VERIFIER_CFV

      public static final int SPLIT_VERIFIER_CFV
      See Also:
    • VALUE_OBJECTS_MAJOR_VERSION

      public static final int VALUE_OBJECTS_MAJOR_VERSION
      See Also:
    • VALUE_OBJECTS_MINOR_VERSION

      public static final int VALUE_OBJECTS_MINOR_VERSION
      See Also:
    • major_version

      private int major_version
    • minor_version

      private int minor_version
    • threshold_major_version

      private int threshold_major_version
    • threshold_minor_version

      private int threshold_minor_version
    • frozen

      private boolean frozen
    • isSetByParameter

      private boolean isSetByParameter
  • Constructor Details

    • CFVersion

      public CFVersion()
    • CFVersion

      public CFVersion(CFVersion other)
    • CFVersion

      public CFVersion(int major_version, int minor_version)
  • Method Details

    • setFrozen

      public CFVersion setFrozen(boolean frozen)
    • setThreshold

      public CFVersion setThreshold(int major_version, int minor_version)
    • setVersion

      public CFVersion setVersion(int major_version, int minor_version)
    • setFileVersion

      public CFVersion setFileVersion(int major_version, int minor_version)
    • setMajorVersion

      public CFVersion setMajorVersion(int major_version)
    • setMinorVersion

      public CFVersion setMinorVersion(int minor_version)
    • setByParameter

      public CFVersion setByParameter(boolean parameter)
    • isSet

      public boolean isSet()
    • isThresholdSet

      public boolean isThresholdSet()
    • isSetByParameter

      public boolean isSetByParameter()
    • isFrozen

      public boolean isFrozen()
    • asString

      public String asString()
    • asThresholdString

      public String asThresholdString()
    • isTypeCheckingVerifier

      public boolean isTypeCheckingVerifier()
    • initModuleDefaultVersion

      public CFVersion initModuleDefaultVersion()
    • initClassDefaultVersion

      public CFVersion initClassDefaultVersion()
    • copyOf

      public static CFVersion copyOf(CFVersion cfv)
    • minor_version

      public int minor_version()
    • major_version

      public int major_version()
    • isValueObjectContext

      public boolean isValueObjectContext()
    • isValueObjectContext

      public static boolean isValueObjectContext(int major_version, int minor_version)
    • ValueObjectsVersion

      public static CFVersion ValueObjectsVersion()
    • isSyntheticAttributeContext

      public boolean isSyntheticAttributeContext()
      Returns true if the class file version only supports Synthetic attribute and doesn't support the ACC_SYNTHETIC flag

      When jasm processes files with classfile version <= 45, it shouldn't set the ACC_SYNTHETIC bit but add the Synthetic attribute instead. The ACC_SYNTHETIC bit wasn't introduced until classfile version 46.

      Returns:
      true if only Synthetic attribute is supported, false otherwise