Class LambdaExpression

java.lang.Object
proguard.backport.LambdaExpression

public class LambdaExpression extends Object
A small helper class that captures useful information about a lambda expression as encountered in a class file.
  • Field Details

    • referencedClass

      public ProgramClass referencedClass
    • bootstrapMethodIndex

      public int bootstrapMethodIndex
    • bootstrapMethodInfo

      public BootstrapMethodInfo bootstrapMethodInfo
    • factoryMethodDescriptor

      public String factoryMethodDescriptor
    • interfaces

      public String[] interfaces
    • bridgeMethodDescriptors

      public String[] bridgeMethodDescriptors
    • interfaceMethod

      public String interfaceMethod
    • interfaceMethodDescriptor

      public String interfaceMethodDescriptor
    • invokedReferenceKind

      public int invokedReferenceKind
    • invokedClassName

      public String invokedClassName
    • invokedMethodName

      public String invokedMethodName
    • invokedMethodDesc

      public String invokedMethodDesc
    • referencedInvokedClass

      public Clazz referencedInvokedClass
    • referencedInvokedMethod

      public Method referencedInvokedMethod
    • lambdaClass

      public ProgramClass lambdaClass
  • Constructor Details

    • LambdaExpression

      public LambdaExpression(ProgramClass referencedClass, int bootstrapMethodIndex, BootstrapMethodInfo bootstrapMethodInfo, String factoryMethodDescriptor, String[] interfaces, String[] bridgeMethodDescriptors, String interfaceMethod, String interfaceMethodDescriptor, int invokedReferenceKind, String invokedClassName, String invokedMethodName, String invokedMethodDesc, Clazz referencedInvokedClass, Method referencedInvokedMethod, int lambdaExpressionIndex)
      Creates a new initialized LambdaExpression (except for the lambdaClass).
  • Method Details

    • getLambdaClassName

      public String getLambdaClassName()
      Returns the class name of the converted anonymous class.
    • getConstructorDescriptor

      public String getConstructorDescriptor()
    • isSerializable

      public boolean isSerializable()
      Returns whether the lambda expression is serializable.
    • isMethodReference

      public boolean isMethodReference()
      Returns whether the lambda expression is actually a method reference.
    • isStateless

      public boolean isStateless()
      Returns whether the lambda expression is stateless.
    • invokesStaticInterfaceMethod

      public boolean invokesStaticInterfaceMethod()
      Returns whether the invoked method is a static interface method.
    • needsAccessorMethod

      public boolean needsAccessorMethod()
      Returns whether an accessor method is needed to access the invoked method from the lambda class.
    • referencesPrivateConstructor

      public boolean referencesPrivateConstructor()
      Returns whether the lambda expression is a method reference to a private constructor.