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) int
getPopCount()
Get the count of values that are removed from the stack.(package private) AnyType[]
getPopValueTypes()
(package private) AnyType
getPushValueType()
Get the ValueType if this instruction push a value on the stack.(package private) WasmInstruction.Type
getType()
Get the type of instructionprivate static ValueType
getValueType(java.lang.Number value)
Find the matching ValueType for the given value.void
writeTo(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:
getType
in 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.IOException
Write this instruction to the WASM module.- Specified by:
writeTo
in 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:
getPushValueType
in 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:
getPopCount
in classWasmInstruction
- Returns:
- the count
-
getPopValueTypes
AnyType[] getPopValueTypes()
- Specified by:
getPopValueTypes
in classWasmInstruction
-
-