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 WasmInstruction
WasmInstruction.Type -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate LocaleVariableManagerprivate intprivate WasmCallIndirectInstruction -
Constructor Summary
ConstructorsConstructorDescriptionDupThis(WasmCallIndirectInstruction virtualCall, int tempVarSlot, LocaleVariableManager localVariables, int javaCodePos) Create a instance. -
Method Summary
Modifier and TypeMethodDescription(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 instruction(package private) voidwriteTo(ModuleWriter writer) Write this instruction to the WASM module.Methods inherited from class 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:
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
-