Class WasmCallInstruction
- java.lang.Object
-
- de.inetsoftware.jwebassembly.module.WasmInstruction
-
- de.inetsoftware.jwebassembly.module.WasmCallInstruction
-
- Direct Known Subclasses:
WasmCallIndirectInstruction
class WasmCallInstruction extends WasmInstruction
WasmInstruction for a function call.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.inetsoftware.jwebassembly.module.WasmInstruction
WasmInstruction.Type
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Stringcommentprivate FunctionNamenameprivate booleanneedThisParameterprivate intparamCountprivate TypeManagertypesprivate AnyTypevalueType
-
Constructor Summary
Constructors Constructor Description WasmCallInstruction(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, java.lang.String comment)Create an instance of a function call instruction
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcountParams()Count the parameters in the signature(package private) FunctionNamegetFunctionName()Get the function name that should be called(package private) intgetPopCount()Get the count of values that are removed from the stack.(package private) AnyType[]getPopValueTypes()(package private) AnyTypegetPushValueType()Get the ValueType if this instruction push a value on the stack.(package private) WasmInstruction.TypegetType()Get the type of instruction(package private) TypeManagergetTypeManager()Get the type manager.voidwriteTo(ModuleWriter writer)Write this instruction to the WASM module.-
Methods inherited from class de.inetsoftware.jwebassembly.module.WasmInstruction
getCodePosition, getLineNumber, setCodePosition
-
-
-
-
Field Detail
-
valueType
private AnyType valueType
-
name
private FunctionName name
-
paramCount
private int paramCount
-
types
@Nonnull private final TypeManager types
-
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 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, java.lang.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 Detail
-
getType
WasmInstruction.Type getType()
Get the type of instruction- Specified by:
getTypein classWasmInstruction- Returns:
- the type
-
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.IOExceptionWrite this instruction to the WASM module.- Specified by:
writeToin classWasmInstruction- 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:
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
-
-