Class DupThis
java.lang.Object
de.inetsoftware.jwebassembly.module.WasmInstruction
de.inetsoftware.jwebassembly.module.DupThis
This class save a reference of THIS to a temporary variable for a later virtual caLL. The reference of THIS is used for accessing the vtable of the object.
-
Nested Class Summary
Nested classes/interfaces inherited from class de.inetsoftware.jwebassembly.module.WasmInstruction
WasmInstruction.Type
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate LocaleVariableManager
private int
private WasmCallIndirectInstruction
-
Constructor Summary
ConstructorsConstructorDescriptionDupThis
(WasmCallIndirectInstruction virtualCall, int tempVarSlot, LocaleVariableManager localVariables, int javaCodePos) Create a instance. -
Method Summary
Modifier and TypeMethodDescription(package private) int
Get the count of values that are removed from the stack.(package private) AnyType[]
(package private) AnyType
Get the ValueType if this instruction push a value on the stack.(package private) WasmInstruction.Type
getType()
Get the type of instruction(package private) void
writeTo
(ModuleWriter writer) Write this instruction to the WASM module.Methods inherited from class de.inetsoftware.jwebassembly.module.WasmInstruction
getCodePosition, getLineNumber, setCodePosition
-
Field Details
-
virtualCall
-
tempVarSlot
private int tempVarSlot -
localVariables
-
-
Constructor Details
-
DupThis
DupThis(WasmCallIndirectInstruction virtualCall, int tempVarSlot, LocaleVariableManager localVariables, int javaCodePos) Create a instance.- Parameters:
virtualCall
- the related virtual function call.tempVarSlot
- the slot of the temporary variablelocalVariables
- the manager for local variablesjavaCodePos
- the code position
-
-
Method Details
-
getType
WasmInstruction.Type getType()Get the type of instruction- Specified by:
getType
in classWasmInstruction
- Returns:
- the type
-
writeTo
Write this instruction to the WASM module.- Specified by:
writeTo
in 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:
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
-