Package jodd.asm9

Class ConstantDynamic


  • public final class ConstantDynamic
    extends java.lang.Object
    A constant whose value is computed at runtime, with a bootstrap method.
    • Constructor Summary

      Constructors 
      Constructor Description
      ConstantDynamic​(java.lang.String name, java.lang.String descriptor, Handle bootstrapMethod, java.lang.Object... bootstrapMethodArguments)
      Constructs a new ConstantDynamic.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object object)  
      Handle getBootstrapMethod()
      Returns the bootstrap method used to compute the value of this constant.
      java.lang.Object getBootstrapMethodArgument​(int index)
      Returns an argument passed to the bootstrap method, in order to compute the value of this constant.
      int getBootstrapMethodArgumentCount()
      Returns the number of arguments passed to the bootstrap method, in order to compute the value of this constant.
      java.lang.String getDescriptor()
      Returns the type of this constant.
      java.lang.String getName()
      Returns the name of this constant.
      int getSize()
      Returns the size of this constant.
      int hashCode()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ConstantDynamic

        public ConstantDynamic​(java.lang.String name,
                               java.lang.String descriptor,
                               Handle bootstrapMethod,
                               java.lang.Object... bootstrapMethodArguments)
        Constructs a new ConstantDynamic.
        Parameters:
        name - the constant name (can be arbitrary).
        descriptor - the constant type (must be a field descriptor).
        bootstrapMethod - the bootstrap method to use to compute the constant value at runtime.
        bootstrapMethodArguments - the arguments to pass to the bootstrap method, in order to compute the constant value at runtime.
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns the name of this constant.
        Returns:
        the name of this constant.
      • getDescriptor

        public java.lang.String getDescriptor()
        Returns the type of this constant.
        Returns:
        the type of this constant, as a field descriptor.
      • getBootstrapMethod

        public Handle getBootstrapMethod()
        Returns the bootstrap method used to compute the value of this constant.
        Returns:
        the bootstrap method used to compute the value of this constant.
      • getBootstrapMethodArgumentCount

        public int getBootstrapMethodArgumentCount()
        Returns the number of arguments passed to the bootstrap method, in order to compute the value of this constant.
        Returns:
        the number of arguments passed to the bootstrap method, in order to compute the value of this constant.
      • getBootstrapMethodArgument

        public java.lang.Object getBootstrapMethodArgument​(int index)
        Returns an argument passed to the bootstrap method, in order to compute the value of this constant.
        Parameters:
        index - an argument index, between 0 and getBootstrapMethodArgumentCount() (exclusive).
        Returns:
        the argument passed to the bootstrap method, with the given index.
      • getSize

        public int getSize()
        Returns the size of this constant.
        Returns:
        the size of this constant, i.e., 2 for long and double, 1 otherwise.
      • equals

        public boolean equals​(java.lang.Object object)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object