Class WasmConstInstruction
- java.lang.Object
-
- de.inetsoftware.jwebassembly.module.WasmInstruction
-
- de.inetsoftware.jwebassembly.module.WasmConstInstruction
-
class WasmConstInstruction extends WasmInstruction
WasmInstruction for constant values.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.inetsoftware.jwebassembly.module.WasmInstruction
WasmInstruction.Type
-
-
Constructor Summary
Constructors Constructor Description WasmConstInstruction(java.lang.Number value, int javaCodePos, int lineNumber)Create an instance of a constant instructionWasmConstInstruction(java.lang.Number value, ValueType valueType, int javaCodePos, int lineNumber)Create an instance of a constant instruction
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (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 instructionprivate static ValueTypegetValueType(java.lang.Number value)Find the matching ValueType for the given value.voidwriteTo(ModuleWriter writer)Write this instruction to the WASM module.-
Methods inherited from class de.inetsoftware.jwebassembly.module.WasmInstruction
getCodePosition, getLineNumber, setCodePosition
-
-
-
-
Field Detail
-
value
private final java.lang.Number value
-
valueType
private final ValueType valueType
-
-
Constructor Detail
-
WasmConstInstruction
WasmConstInstruction(java.lang.Number value, ValueType valueType, int javaCodePos, int lineNumber)Create an instance of a constant instruction- Parameters:
value- the constant valuevalueType- the data type of the numberjavaCodePos- the code position/offset in the Java methodlineNumber- the line number in the Java source code
-
WasmConstInstruction
WasmConstInstruction(java.lang.Number value, int javaCodePos, int lineNumber)Create an instance of a constant instruction- Parameters:
value- the constant valuejavaCodePos- 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
-
getValueType
@Nonnull private static ValueType getValueType(java.lang.Number value)
Find the matching ValueType for the given value.- Parameters:
value- the constant value- Returns:
- the ValueType
-
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
-
-