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
class TypeManager.LambdaType extends TypeManager.StructType
A generated type that represent a lambda expression
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
interfaceMethodName
private TypeManager.StructType
interfaceType
private FunctionName
methodName
private java.util.ArrayList<NamedStorageType>
paramFields
-
Constructor Summary
Constructors Constructor Description LambdaType(java.lang.String name, BootstrapMethod method, java.util.ArrayList<AnyType> params, TypeManager.StructType interfaceType, FunctionName syntheticLambdaFunctionName, java.lang.String interfaceMethodName, TypeManager manager)
Create a lambda type
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) java.lang.String
getInterfaceMethodName()
The name of the implemented method in the interface(package private) TypeManager.StructType
getInterfaceType()
The implemented interface type(package private) FunctionName
getLambdaMethod()
The real method in the parent class that implements the lambda expression(package private) java.util.ArrayList<NamedStorageType>
getParamFields()
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 Detail
-
paramFields
private java.util.ArrayList<NamedStorageType> paramFields
-
interfaceType
private TypeManager.StructType interfaceType
-
methodName
private FunctionName methodName
-
interfaceMethodName
private java.lang.String interfaceMethodName
-
-
Constructor Detail
-
LambdaType
LambdaType(@Nonnull java.lang.String name, @Nonnull BootstrapMethod method, java.util.ArrayList<AnyType> params, TypeManager.StructType interfaceType, FunctionName syntheticLambdaFunctionName, java.lang.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 Detail
-
getParamFields
java.util.ArrayList<NamedStorageType> getParamFields()
The parameters of the constructor- Returns:
- the parameters
-
getInterfaceType
TypeManager.StructType getInterfaceType()
The implemented interface type- Returns:
- the interface type
-
getLambdaMethod
@Nonnull FunctionName getLambdaMethod()
The real method in the parent class that implements the lambda expression- Returns:
- the function name
-
getInterfaceMethodName
java.lang.String getInterfaceMethodName()
The name of the implemented method in the interface- Returns:
- the name
-
isSubTypeOf
public boolean isSubTypeOf(AnyType type)
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.
-
-