Packages

t

org.opalj.br.reader

BootstrapArgumentLoading

trait BootstrapArgumentLoading extends AnyRef

Provides functionality to produce bytecode that loads a bootstrap argument. Loading of dynamic constants is rewritten to not use ldc/ldc_w/ldc2_w instructions where possible.

Source
BootstrapArgumentLoading.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BootstrapArgumentLoading
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  6. def createObjectMethodsTarget(bootstrapArgs: BootstrapArguments, methodName: String, newMethodName: String, classFile: ClassFile): Option[(ClassFile, MethodDescriptor)]

    Creates the code required to perform the action of a method created by java.lang.runtime.ObjectMethods.bootstrap.

    Creates the code required to perform the action of a method created by java.lang.runtime.ObjectMethods.bootstrap.

    bootstrapArgs

    The arguments to the bootstrap method

    methodName

    Name of the represented method (either equals, toString or hashCode)

    newMethodName

    The name for the newly created method

    returns

    Either a tuple of the updated class file and the descriptor of the new method or None

    Attributes
    protected[this]
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def loadBootstrapArgument(argument: ConstantValue[_], instructions: InstructionsBuilder, classFile: ClassFile, boxed: Boolean = false): (Int, ClassFile)

    Generate instructions to load a constant argument for a bootstrap method.

    Generate instructions to load a constant argument for a bootstrap method.

    argument

    The argument to be loaded

    instructions

    The instruction builder the instructions are appended to

    classFile

    The class file the constant is in

    boxed

    If true, ensures the argument is of a reference type, boxing it if necessary

    returns

    The maximum stack height the generated instructions require and the (potentially new!) class file

  13. def loadDynamicConstant(bootstrapMethod: BootstrapMethod, name: String, descriptor: FieldType, instructions: InstructionsBuilder, classFile: ClassFile, boxed: Boolean = false): (Int, ClassFile)

    Generate instructions to load a dynamic constant.

    Generate instructions to load a dynamic constant.

    bootstrapMethod

    The constant's bootstrap method

    name

    The constant's name information, passed as the bootstrap method's 2. argument

    descriptor

    The constant's type, passed as the bootstrap method's 3. argument

    instructions

    The instruction builder the instructions are appended to

    classFile

    The class file the constant is in

    boxed

    If true, ensures the constant is of a reference type, boxing it if necessary

    returns

    The maximum stack height the generated instructions require and the (potentially new!) class file

  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def newTargetMethodName(cp: Constant_Pool, surroundingMethodNameIndex: Int, surroundingMethodDescriptorIndex: Int, pc: Int, targetMethodName: String): String

    Generates a new, internal name for a method to be inserted.

    Generates a new, internal name for a method to be inserted.

    It follows the pattern: $targetMethodName${surroundingMethodName}{surroundingMethodDescriptor}:pc, where surroundingMethodDescriptor is the JVM descriptor of the method sanitized to not contain characters illegal in method names (replacing /, [, ;, < and > by $, ], :, _ and _ respectively) and where pc is the pc of the invokedynamic that is rewritten.

    Attributes
    protected[this]
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  18. def replaceChars(in: String, oldChars: String, newChars: String): String

    Replaces each of several characters in a String with a given corresponding character.

    Replaces each of several characters in a String with a given corresponding character.

    Attributes
    protected[this]
  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped