Class WasmLocalInstruction
java.lang.Object
de.inetsoftware.jwebassembly.module.WasmInstruction
de.inetsoftware.jwebassembly.module.WasmLocalInstruction
- Direct Known Subclasses:
WasmLoadStoreInstruction
WasmInstruction for load and store local variables.
-
Nested Class Summary
Nested classes/interfaces inherited from class WasmInstruction
WasmInstruction.Type -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intThe variable slot (Java) for WasmLoadStoreInstruction and the WebAssembly variable index for a WasmLocalInstruction instance.(package private) final LocaleVariableManagerprivate VariableOperatorprivate AnyType -
Constructor Summary
ConstructorsConstructorDescriptionWasmLocalInstruction(VariableOperator op, int idx, LocaleVariableManager localVariables, int javaCodePos, int lineNumber) Create an instance of a load/store instruction for a local variable. -
Method Summary
Modifier and TypeMethodDescription(package private) intgetIndex()Get the number of the locals(package private) VariableOperatorGet the operator(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) intgetSlot()Get the slot of the locals(package private) WasmInstruction.TypegetType()Get the type of instruction(package private) voidSet the operatorvoidwriteTo(ModuleWriter writer) Write this instruction to the WASM module.Methods inherited from class WasmInstruction
getCodePosition, getLineNumber, setCodePosition
-
Field Details
-
op
-
idx
private int idxThe variable slot (Java) for WasmLoadStoreInstruction and the WebAssembly variable index for a WasmLocalInstruction instance. -
localVariables
-
pushValueType
-
-
Constructor Details
-
WasmLocalInstruction
WasmLocalInstruction(@Nonnull VariableOperator op, @Nonnegative int idx, LocaleVariableManager localVariables, int javaCodePos, int lineNumber) Create an instance of a load/store instruction for a local variable.- Parameters:
op- the operationidx- the memory/slot idx of the variablelocalVariables- the manager for local variablesjavaCodePos- the code position/offset in the Java methodlineNumber- the line number in the Java source code
-
-
Method Details
-
getType
WasmInstruction.Type getType()Get the type of instruction- Specified by:
getTypein classWasmInstruction- Returns:
- the type
-
getOperator
-
setOperator
-
getSlot
-
getIndex
-
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
-