Class TypeManager.LambdaType

    • 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 name
        method - the name BootstrapMethod from the parsed class file
        params - the parameters of the constructor and type fields
        interfaceType - the implemented interface type
        syntheticLambdaFunctionName - the real method in the parent class that implements the lambda expression
        interfaceMethodName - the name of the implemented method in the interface
        manager - 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 interface AnyType
        Overrides:
        isSubTypeOf in class TypeManager.StructType
        Parameters:
        type - type to check
        Returns:
        true, if both are identical or this is a sub type of other. Or if other is a parent type of this.