Class WasmCallInstruction
java.lang.Object
de.inetsoftware.jwebassembly.module.WasmInstruction
de.inetsoftware.jwebassembly.module.WasmCallInstruction
- Direct Known Subclasses:
WasmCallIndirectInstruction
WasmInstruction for a function call.
-
Nested Class Summary
Nested classes/interfaces inherited from class WasmInstruction
WasmInstruction.Type -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Stringprivate FunctionNameprivate final booleanprivate intprivate final TypeManagerprivate AnyType -
Constructor Summary
ConstructorsConstructorDescriptionWasmCallInstruction(FunctionName name, int javaCodePos, int lineNumber, TypeManager types, boolean needThisParameter) Create an instance of a function call instructionWasmCallInstruction(FunctionName name, int javaCodePos, int lineNumber, TypeManager types, boolean needThisParameter, String comment) Create an instance of a function call instruction -
Method Summary
Modifier and TypeMethodDescriptionprivate voidCount the parameters in the signature(package private) FunctionNameGet the function name that should be called(package private) intGet the count of values that are removed from the stack.(package private) AnyType[](package private) AnyTypeGet the ValueType if this instruction push a value on the stack.(package private) WasmInstruction.TypegetType()Get the type of instruction(package private) TypeManagerGet the type manager.voidwriteTo(ModuleWriter writer) Write this instruction to the WASM module.Methods inherited from class WasmInstruction
getCodePosition, getLineNumber, setCodePosition
-
Field Details
-
valueType
-
name
-
paramCount
private int paramCount -
types
-
needThisParameter
private final boolean needThisParameter -
comment
-
-
Constructor Details
-
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 calledjavaCodePos- the code position/offset in the Java methodlineNumber- the line number in the Java source codetypes- the type managerneedThisParameter- 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, String comment) Create an instance of a function call instruction- Parameters:
name- the function name that should be calledjavaCodePos- the code position/offset in the Java methodlineNumber- the line number in the Java source codetypes- the type managerneedThisParameter- true, if this function need additional to the parameter of the signature an extra "this" parametercomment- optional comment for the text format
-
-
Method Details
-
getType
WasmInstruction.Type getType()Get the type of instruction- Specified by:
getTypein classWasmInstruction- Returns:
- the type
-
getFunctionName
Get the function name that should be called- Returns:
- the name
-
getTypeManager
-
writeTo
Write this instruction to the WASM module.- Specified by:
writeToin classWasmInstruction- Parameters:
writer- the target writer- Throws:
IOException- if any I/O error occur
-
getPushValueType
AnyType getPushValueType()Get the ValueType if this instruction push a value on the stack.- Specified by:
getPushValueTypein classWasmInstruction- 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:
getPopCountin classWasmInstruction- Returns:
- the count
-
getPopValueTypes
AnyType[] getPopValueTypes()- Specified by:
getPopValueTypesin classWasmInstruction
-
countParams
private void countParams()Count the parameters in the signature
-