Class WasmStructuredControlflowCodeGenerator
java.lang.Object
de.mirkosertic.bytecoder.core.backend.wasm.WasmStructuredControlflowCodeGenerator
- All Implemented Interfaces:
StructuredControlflowCodeGenerator
public class WasmStructuredControlflowCodeGenerator
extends Object
implements StructuredControlflowCodeGenerator
-
Constructor Summary
ConstructorsConstructorDescriptionWasmStructuredControlflowCodeGenerator(CompileUnit compileUnit, Module module, Map<ResolvedClass, StructType> rtMappings, Map<ResolvedClass, StructType> objectTypeMappings, ExportableFunction exportableFunction, Function<org.objectweb.asm.Type, WasmType> typeConverter, Function<ResolvedMethod, FunctionType> functionTypeConverter, MethodToIDMapper methodToIDMapper, Graph graph, List<ResolvedClass> resolvedClasses, VTableResolver vTableResolver, GeneratedMethodsRegistry generatedMethodsRegistry, FunctionIndex functionIndex) -
Method Summary
Modifier and TypeMethodDescriptionstatic WasmValuecreateNewInstanceOf(org.objectweb.asm.Type instanceType, Module module, CompileUnit compileUnit, Map<ResolvedClass, StructType> objectTypeMappings, Map<ResolvedClass, StructType> rtMappings, WasmValue externRef, FunctionIndex functionIndex) voidfinishBlock(Sequencer.Block node, boolean stackEmpty) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidstartBlock(Sequencer.Block node) voidvoidstartCatchHandler(org.objectweb.asm.Type type) voidstartIfElseBlock(If node) voidstartIfWithTrueBlock(If node) voidvoidstartTableSwitch(TableSwitch node) voidvoidstartTryCatch(String label) voidwrite(ArrayStore node) voidwrite(ClassInitialization node) voidvoidwrite(FrameDebugInfo node) voidvoidwrite(LineNumberDebugInfo node) voidwrite(MethodInvocation invocation) voidwrite(MonitorEnter node) voidwrite(MonitorExit node) voidvoidwrite(ReturnValue node) voidwrite(SetClassField node) voidwrite(SetInstanceField node) voidvoidwriteBreakTo(String label) voidwriteContinueTo(String label) voidvoidwriteSwitchCase(int index) void
-
Constructor Details
-
WasmStructuredControlflowCodeGenerator
public WasmStructuredControlflowCodeGenerator(CompileUnit compileUnit, Module module, Map<ResolvedClass, StructType> rtMappings, Map<ResolvedClass, StructType> objectTypeMappings, ExportableFunction exportableFunction, Function<org.objectweb.asm.Type, WasmType> typeConverter, Function<ResolvedMethod, FunctionType> functionTypeConverter, MethodToIDMapper methodToIDMapper, Graph graph, List<ResolvedClass> resolvedClasses, VTableResolver vTableResolver, GeneratedMethodsRegistry generatedMethodsRegistry, FunctionIndex functionIndex)
-
-
Method Details
-
registerVariables
- Specified by:
registerVariablesin interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
createNewInstanceOf
public static WasmValue createNewInstanceOf(org.objectweb.asm.Type instanceType, Module module, CompileUnit compileUnit, Map<ResolvedClass, StructType> objectTypeMappings, Map<ResolvedClass, StructType> rtMappings, WasmValue externRef, FunctionIndex functionIndex) -
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
startIfWithTrueBlock
- Specified by:
startIfWithTrueBlockin interfaceStructuredControlflowCodeGenerator
-
startIfElseBlock
- Specified by:
startIfElseBlockin interfaceStructuredControlflowCodeGenerator
-
finishIfBlock
public void finishIfBlock()- Specified by:
finishIfBlockin interfaceStructuredControlflowCodeGenerator
-
startBlock
- Specified by:
startBlockin interfaceStructuredControlflowCodeGenerator
-
finishBlock
- Specified by:
finishBlockin interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
writeBreakTo
- Specified by:
writeBreakToin interfaceStructuredControlflowCodeGenerator
-
writeContinueTo
- Specified by:
writeContinueToin interfaceStructuredControlflowCodeGenerator
-
startTryCatch
- Specified by:
startTryCatchin interfaceStructuredControlflowCodeGenerator
-
startCatchBlock
public void startCatchBlock()- Specified by:
startCatchBlockin interfaceStructuredControlflowCodeGenerator
-
startCatchHandler
public void startCatchHandler(org.objectweb.asm.Type type) - Specified by:
startCatchHandlerin interfaceStructuredControlflowCodeGenerator
-
finishCatchHandler
public void finishCatchHandler()- Specified by:
finishCatchHandlerin interfaceStructuredControlflowCodeGenerator
-
writeRethrowException
public void writeRethrowException()- Specified by:
writeRethrowExceptionin interfaceStructuredControlflowCodeGenerator
-
finishTryCatch
public void finishTryCatch()- Specified by:
finishTryCatchin interfaceStructuredControlflowCodeGenerator
-
startTableSwitch
- Specified by:
startTableSwitchin interfaceStructuredControlflowCodeGenerator
-
finishTableSwitch
public void finishTableSwitch()- Specified by:
finishTableSwitchin interfaceStructuredControlflowCodeGenerator
-
startTableSwitchDefaultBlock
public void startTableSwitchDefaultBlock()- Specified by:
startTableSwitchDefaultBlockin interfaceStructuredControlflowCodeGenerator
-
finishTableSwitchDefaultBlock
public void finishTableSwitchDefaultBlock()- Specified by:
finishTableSwitchDefaultBlockin interfaceStructuredControlflowCodeGenerator
-
startLookupSwitch
- Specified by:
startLookupSwitchin interfaceStructuredControlflowCodeGenerator
-
finishLookupSwitch
public void finishLookupSwitch()- Specified by:
finishLookupSwitchin interfaceStructuredControlflowCodeGenerator
-
writeSwitchCase
public void writeSwitchCase(int index) - Specified by:
writeSwitchCasein interfaceStructuredControlflowCodeGenerator
-
writeSwitchDefaultCase
public void writeSwitchDefaultCase()- Specified by:
writeSwitchDefaultCasein interfaceStructuredControlflowCodeGenerator
-
finishSwitchDefault
public void finishSwitchDefault()- Specified by:
finishSwitchDefaultin interfaceStructuredControlflowCodeGenerator
-
finishSwitchCase
public void finishSwitchCase()- Specified by:
finishSwitchCasein interfaceStructuredControlflowCodeGenerator
-