Class WasmArrayInstruction
java.lang.Object
de.inetsoftware.jwebassembly.module.WasmInstruction
de.inetsoftware.jwebassembly.module.WasmArrayInstruction
WasmInstruction for an array operation.
-
Nested Class Summary
Nested classes/interfaces inherited from class WasmInstruction
WasmInstruction.Type -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ArrayTypeprivate SyntheticFunctionNameprivate final ArrayOperatorprivate final AnyTypeprivate final TypeManager -
Constructor Summary
ConstructorsConstructorDescriptionWasmArrayInstruction(ArrayOperator op, AnyType type, TypeManager types, int javaCodePos, int lineNumber) Create an instance of an array operation. -
Method Summary
Modifier and TypeMethodDescription(package private) SyntheticFunctionNamecreateNonGcFunction(boolean useGC) Create the synthetic function of this instruction if required for the operation.(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) WasmInstruction.TypegetType()Get the type of instructionprivate static StringvalidJsName(AnyType type) Get a valid JavaScript name.voidwriteTo(ModuleWriter writer) Write this instruction to the WASM module.Methods inherited from class WasmInstruction
getCodePosition, getLineNumber, setCodePosition
-
Field Details
-
op
-
type
-
arrayType
-
types
-
functionName
-
-
Constructor Details
-
WasmArrayInstruction
WasmArrayInstruction(@Nonnull ArrayOperator op, @Nonnull AnyType type, TypeManager types, int javaCodePos, int lineNumber) Create an instance of an array operation.- Parameters:
op- the array operationtype- the type of the parameterstypes- the type managerjavaCodePos- the code position/offset in the Java methodlineNumber- the line number in the Java source code
-
-
Method Details
-
createNonGcFunction
Create the synthetic function of this instruction if required for the operation.- Parameters:
useGC- true, with GC code- Returns:
- the function or null if not needed
-
validJsName
-
getType
WasmInstruction.Type getType()Get the type of instruction- Specified by:
getTypein classWasmInstruction- Returns:
- the type
-
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
-