Class WasmBlockInstruction
- java.lang.Object
-
- de.inetsoftware.jwebassembly.module.WasmInstruction
-
- de.inetsoftware.jwebassembly.module.WasmBlockInstruction
-
class WasmBlockInstruction extends WasmInstruction
WasmInstruction for block operation.
-
-
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.Objectdataprivate WasmBlockOperatorop
-
Constructor Summary
Constructors Constructor Description WasmBlockInstruction(WasmBlockOperator op, java.lang.Object data, int javaCodePos, int lineNumber)Create an instance of block operation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) java.lang.ObjectgetData()Get the current data vale of the instruction(package private) WasmBlockOperatorgetOperation()Get the operation(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) voidsetData(java.lang.Object data)Set a new value for the datavoidwriteTo(ModuleWriter writer)Write this instruction to the WASM module.-
Methods inherited from class de.inetsoftware.jwebassembly.module.WasmInstruction
getCodePosition, getLineNumber, setCodePosition
-
-
-
-
Field Detail
-
op
private final WasmBlockOperator op
-
data
private java.lang.Object data
-
-
Constructor Detail
-
WasmBlockInstruction
WasmBlockInstruction(@Nonnull WasmBlockOperator op, @Nullable java.lang.Object data, int javaCodePos, int lineNumber)Create an instance of block operation.- Parameters:
op- the operationdata- extra data depending of the operatorjavaCodePos- the code position/offset in the Java methodlineNumber- the line number in the Java source code
-
-
Method Detail
-
getType
WasmInstruction.Type getType()
Get the type of instruction- Specified by:
getTypein classWasmInstruction- Returns:
- the type
-
getOperation
WasmBlockOperator getOperation()
Get the operation- Returns:
- the op
-
getData
java.lang.Object getData()
Get the current data vale of the instruction- Returns:
- the value
-
setData
void setData(java.lang.Object data)
Set a new value for the data- Parameters:
data- the new value
-
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
-
-