Class TypeManager.LambdaType
java.lang.Object
de.inetsoftware.jwebassembly.module.TypeManager.StructType
de.inetsoftware.jwebassembly.module.TypeManager.LambdaType
- All Implemented Interfaces:
AnyType
- Enclosing class:
TypeManager
A generated type that represent a lambda expression
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
private TypeManager.StructType
private FunctionName
private ArrayList
<NamedStorageType> -
Constructor Summary
ConstructorsConstructorDescriptionLambdaType
(String name, BootstrapMethod method, ArrayList<AnyType> params, TypeManager.StructType interfaceType, FunctionName syntheticLambdaFunctionName, String interfaceMethodName, TypeManager manager) Create a lambda type -
Method Summary
Modifier and TypeMethodDescription(package private) String
The name of the implemented method in the interface(package private) TypeManager.StructType
The implemented interface type(package private) FunctionName
The real method in the parent class that implements the lambda expression(package private) ArrayList
<NamedStorageType> The parameters of the constructorboolean
isSubTypeOf
(AnyType type) Check if this is a sub type of given type.Methods inherited from class de.inetsoftware.jwebassembly.module.TypeManager.StructType
getClassIndex, getCode, getComponentClassIndex, getFields, getKind, getName, getVTable, isRefType, toString, useFieldName, writeToStream
-
Field Details
-
paramFields
-
interfaceType
-
methodName
-
interfaceMethodName
-
-
Constructor Details
-
LambdaType
LambdaType(@Nonnull String name, @Nonnull BootstrapMethod method, ArrayList<AnyType> params, TypeManager.StructType interfaceType, FunctionName syntheticLambdaFunctionName, String interfaceMethodName, @Nonnull TypeManager manager) Create a lambda type- Parameters:
name
- the Lambda Java class namemethod
- the name BootstrapMethod from the parsed class fileparams
- the parameters of the constructor and type fieldsinterfaceType
- the implemented interface typesyntheticLambdaFunctionName
- the real method in the parent class that implements the lambda expressioninterfaceMethodName
- the name of the implemented method in the interfacemanager
- the manager which hold all StructTypes
-
-
Method Details
-
getParamFields
ArrayList<NamedStorageType> getParamFields()The parameters of the constructor- Returns:
- the parameters
-
getInterfaceType
TypeManager.StructType getInterfaceType()The implemented interface type- Returns:
- the interface type
-
getLambdaMethod
The real method in the parent class that implements the lambda expression- Returns:
- the function name
-
getInterfaceMethodName
String getInterfaceMethodName()The name of the implemented method in the interface- Returns:
- the name
-
isSubTypeOf
Check if this is a sub type of given type.- Specified by:
isSubTypeOf
in interfaceAnyType
- Overrides:
isSubTypeOf
in classTypeManager.StructType
- Parameters:
type
- type to check- Returns:
- true, if both are identical or this is a sub type of
other
. Or ifother
is a parent type of this.
-