Package proguard.backport
Class LambdaExpression
- java.lang.Object
-
- proguard.backport.LambdaExpression
-
public class LambdaExpression extends java.lang.Object
A small helper class that captures useful information about a lambda expression as encountered in a class file.
-
-
Field Summary
Fields Modifier and Type Field Description int
bootstrapMethodIndex
BootstrapMethodInfo
bootstrapMethodInfo
java.lang.String[]
bridgeMethodDescriptors
java.lang.String
factoryMethodDescriptor
java.lang.String
interfaceMethod
java.lang.String
interfaceMethodDescriptor
java.lang.String[]
interfaces
java.lang.String
invokedClassName
java.lang.String
invokedMethodDesc
java.lang.String
invokedMethodName
int
invokedReferenceKind
ProgramClass
lambdaClass
ProgramClass
referencedClass
Clazz
referencedInvokedClass
Method
referencedInvokedMethod
-
Constructor Summary
Constructors Constructor Description LambdaExpression(ProgramClass referencedClass, int bootstrapMethodIndex, BootstrapMethodInfo bootstrapMethodInfo, java.lang.String factoryMethodDescriptor, java.lang.String[] interfaces, java.lang.String[] bridgeMethodDescriptors, java.lang.String interfaceMethod, java.lang.String interfaceMethodDescriptor, int invokedReferenceKind, java.lang.String invokedClassName, java.lang.String invokedMethodName, java.lang.String invokedMethodDesc, Clazz referencedInvokedClass, Method referencedInvokedMethod, int lambdaExpressionIndex)
Creates a new initialized LambdaExpression (except for the lambdaClass).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getConstructorDescriptor()
java.lang.String
getLambdaClassName()
Returns the class name of the converted anonymous class.boolean
invokesStaticInterfaceMethod()
Returns whether the invoked method is a static interface method.boolean
isMethodReference()
Returns whether the lambda expression is actually a method reference.boolean
isSerializable()
Returns whether the lambda expression is serializable.boolean
isStateless()
Returns whether the lambda expression is stateless.boolean
needsAccessorMethod()
Returns whether an accessor method is needed to access the invoked method from the lambda class.boolean
referencesPrivateConstructor()
Returns whether the lambda expression is a method reference to a private constructor.
-
-
-
Field Detail
-
referencedClass
public ProgramClass referencedClass
-
bootstrapMethodIndex
public int bootstrapMethodIndex
-
bootstrapMethodInfo
public BootstrapMethodInfo bootstrapMethodInfo
-
factoryMethodDescriptor
public java.lang.String factoryMethodDescriptor
-
interfaces
public java.lang.String[] interfaces
-
bridgeMethodDescriptors
public java.lang.String[] bridgeMethodDescriptors
-
interfaceMethod
public java.lang.String interfaceMethod
-
interfaceMethodDescriptor
public java.lang.String interfaceMethodDescriptor
-
invokedReferenceKind
public int invokedReferenceKind
-
invokedClassName
public java.lang.String invokedClassName
-
invokedMethodName
public java.lang.String invokedMethodName
-
invokedMethodDesc
public java.lang.String invokedMethodDesc
-
referencedInvokedClass
public Clazz referencedInvokedClass
-
referencedInvokedMethod
public Method referencedInvokedMethod
-
lambdaClass
public ProgramClass lambdaClass
-
-
Constructor Detail
-
LambdaExpression
public LambdaExpression(ProgramClass referencedClass, int bootstrapMethodIndex, BootstrapMethodInfo bootstrapMethodInfo, java.lang.String factoryMethodDescriptor, java.lang.String[] interfaces, java.lang.String[] bridgeMethodDescriptors, java.lang.String interfaceMethod, java.lang.String interfaceMethodDescriptor, int invokedReferenceKind, java.lang.String invokedClassName, java.lang.String invokedMethodName, java.lang.String invokedMethodDesc, Clazz referencedInvokedClass, Method referencedInvokedMethod, int lambdaExpressionIndex)
Creates a new initialized LambdaExpression (except for the lambdaClass).
-
-
Method Detail
-
getLambdaClassName
public java.lang.String getLambdaClassName()
Returns the class name of the converted anonymous class.
-
getConstructorDescriptor
public java.lang.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.
-
-