Class OpenCLStructuredControlflowCodeGenerator
java.lang.Object
de.mirkosertic.bytecoder.core.backend.opencl.OpenCLStructuredControlflowCodeGenerator
- All Implemented Interfaces:
StructuredControlflowCodeGenerator
public class OpenCLStructuredControlflowCodeGenerator
extends Object
implements StructuredControlflowCodeGenerator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ResolvedClassprivate final CompileUnitprivate final OpenCLInputOutputs(package private) intprivate final PrintWriterprivate final Map<AbstractVar, String> -
Constructor Summary
ConstructorsConstructorDescriptionOpenCLStructuredControlflowCodeGenerator(CompileUnit compileUnit, ResolvedClass cl, PrintWriter pw, OpenCLInputOutputs inputOutputs) -
Method Summary
Modifier and TypeMethodDescriptionvoidfinishBlock(Sequencer.Block block, boolean stackEmpty) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidstartBlock(Sequencer.Block block) 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) private voidprivate voidwriteDirect(MethodInvocation node) private voidwriteExpression(AbstractVar node) private voidwriteExpression(Add node) private voidwriteExpression(And node) private voidwriteExpression(ArrayLength node) private voidwriteExpression(ArrayLoad node) private voidwriteExpression(Cast node) private voidwriteExpression(CMP node) private voidwriteExpression(Div node) private voidprivate voidprivate voidwriteExpression(Mul node) private voidwriteExpression(Neg node) private voidwriteExpression(New node) private voidwriteExpression(Node node) private voidwriteExpression(NullReference node) private voidwriteExpression(NullTest node) private voidwriteExpression(NumericalTest node) private voidwriteExpression(Or node) private voidprivate voidprivate voidwriteExpression(PrimitiveInt node) private voidwriteExpression(PrimitiveLong node) private voidprivate voidprivate voidprivate voidwriteExpression(ReferenceTest node) private voidwriteExpression(Rem node) private voidwriteExpression(SHL node) private voidwriteExpression(SHR node) private voidwriteExpression(Sub node) private voidwriteExpression(This node) private voidprivate voidwriteExpression(USHR node) private voidwriteExpression(XOr node) private voidprivate voidprivate voidprivate voidprivate voidvoidprivate voidwriteStatic(MethodInvocation node) voidwriteSwitchCase(int index) voidprivate voidwriteVirtual(MethodInvocation node)
-
Field Details
-
level
int level -
variableToName
-
pw
-
cl
-
compileUnit
-
inputOutputs
-
-
Constructor Details
-
OpenCLStructuredControlflowCodeGenerator
public OpenCLStructuredControlflowCodeGenerator(CompileUnit compileUnit, ResolvedClass cl, PrintWriter pw, OpenCLInputOutputs inputOutputs)
-
-
Method Details
-
registerVariables
- Specified by:
registerVariablesin interfaceStructuredControlflowCodeGenerator
-
writeIndent
private void writeIndent() -
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
-
writeDirect
-
writeExpression
-
writeExpressionDirectInvocation
-
writeExpression
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
writeDelegateInputOutputs
private void writeDelegateInputOutputs() -
writeVirtual
-
writeExpressionVirtualInvocation
-
writeInterface
-
writeStatic
-
writeExpressionStaticInvocation
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
writeExpression
-
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
-
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
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
write
- Specified by:
writein interfaceStructuredControlflowCodeGenerator
-
writeBreakTo
- Specified by:
writeBreakToin interfaceStructuredControlflowCodeGenerator
-
writeContinueTo
- Specified by:
writeContinueToin interfaceStructuredControlflowCodeGenerator
-
startTableSwitch
- Specified by:
startTableSwitchin interfaceStructuredControlflowCodeGenerator
-
startTableSwitchDefaultBlock
public void startTableSwitchDefaultBlock()- Specified by:
startTableSwitchDefaultBlockin interfaceStructuredControlflowCodeGenerator
-
finishTableSwitchDefaultBlock
public void finishTableSwitchDefaultBlock()- Specified by:
finishTableSwitchDefaultBlockin interfaceStructuredControlflowCodeGenerator
-
startLookupSwitch
- Specified by:
startLookupSwitchin 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
-
finishLookupSwitch
public void finishLookupSwitch()- Specified by:
finishLookupSwitchin interfaceStructuredControlflowCodeGenerator
-
finishTableSwitch
public void finishTableSwitch()- Specified by:
finishTableSwitchin interfaceStructuredControlflowCodeGenerator
-