Class WasmCallInstruction

    • Field Detail

      • valueType

        private AnyType valueType
      • paramCount

        private int paramCount
      • needThisParameter

        private final boolean needThisParameter
      • comment

        private final java.lang.String comment
    • Constructor Detail

      • WasmCallInstruction

        WasmCallInstruction​(FunctionName name,
                            int javaCodePos,
                            int lineNumber,
                            @Nonnull
                            TypeManager types,
                            boolean needThisParameter)
        Create an instance of a function call instruction
        Parameters:
        name - the function name that should be called
        javaCodePos - the code position/offset in the Java method
        lineNumber - the line number in the Java source code
        types - the type manager
        needThisParameter - true, if this function need additional to the parameter of the signature an extra "this" parameter
      • WasmCallInstruction

        WasmCallInstruction​(FunctionName name,
                            int javaCodePos,
                            int lineNumber,
                            @Nonnull
                            TypeManager types,
                            boolean needThisParameter,
                            java.lang.String comment)
        Create an instance of a function call instruction
        Parameters:
        name - the function name that should be called
        javaCodePos - the code position/offset in the Java method
        lineNumber - the line number in the Java source code
        types - the type manager
        needThisParameter - true, if this function need additional to the parameter of the signature an extra "this" parameter
        comment - optional comment for the text format
    • Method Detail

      • getFunctionName

        @Nonnull
        FunctionName getFunctionName()
        Get the function name that should be called
        Returns:
        the name
      • getTypeManager

        TypeManager getTypeManager()
        Get the type manager.
        Returns:
        the manager
      • writeTo

        public void writeTo​(@Nonnull
                            ModuleWriter writer)
                     throws java.io.IOException
        Write this instruction to the WASM module.
        Specified by:
        writeTo in class WasmInstruction
        Parameters:
        writer - the target writer
        Throws:
        java.io.IOException - if any I/O error occur
      • getPushValueType

        AnyType getPushValueType()
        Get the ValueType if this instruction push a value on the stack.
        Specified by:
        getPushValueType in class WasmInstruction
        Returns:
        the ValueType or null if no value is push
      • getPopCount

        int getPopCount()
        Get the count of values that are removed from the stack.
        Specified by:
        getPopCount in class WasmInstruction
        Returns:
        the count
      • countParams

        private void countParams()
        Count the parameters in the signature