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 Stringprivate TypeManager.StructTypeprivate FunctionNameprivate 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) StringThe name of the implemented method in the interface(package private) TypeManager.StructTypeThe implemented interface type(package private) FunctionNameThe real method in the parent class that implements the lambda expression(package private) ArrayList<NamedStorageType> The parameters of the constructorbooleanisSubTypeOf(AnyType type) Check if this is a sub type of given type.Methods inherited from class 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:
isSubTypeOfin interfaceAnyType- Overrides:
isSubTypeOfin classTypeManager.StructType- Parameters:
type- type to check- Returns:
- true, if both are identical or this is a sub type of
other. Or ifotheris a parent type of this.
-