Class IRSwitchStatementCompiler
java.lang.Object
gw.internal.gosu.ir.compiler.bytecode.AbstractBytecodeCompiler
gw.internal.gosu.ir.compiler.bytecode.statement.IRSwitchStatementCompiler
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
-
Field Summary
Fields inherited from class gw.internal.gosu.ir.compiler.bytecode.AbstractBytecodeCompiler
OBJECT_TYPE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static org.objectweb.asm.Label[]
collectLabels
(org.objectweb.asm.Label defaultL, IRSwitchStatementCompiler.ConstantCase[] cases) static void
compile
(IRSwitchStatement statement, IRBytecodeContext context) private static void
compileCaseBody
(org.objectweb.asm.Label endSwitchLabel, List<IRStatement> statements, IRBytecodeContext context) private static void
compileWithTableSwitch
(IRSwitchStatement switchStmt, IRBytecodeContext context) private static void
emitCaseBodies
(org.objectweb.asm.Label endSwitch, IRSwitchStatementCompiler.ConstantCase[] cases, IRBytecodeContext context) private static IRSwitchStatementCompiler.ConstantCase[]
generateConstantCases
(IRSwitchStatement switchStmt) Methods inherited from class gw.internal.gosu.ir.compiler.bytecode.AbstractBytecodeCompiler
compileConditionAssignment, getIns, isNotPartOfBooleanExpr, isWide, negateOpcode
-
Constructor Details
-
IRSwitchStatementCompiler
public IRSwitchStatementCompiler()
-
-
Method Details
-
compile
-
generateConstantCases
private static IRSwitchStatementCompiler.ConstantCase[] generateConstantCases(IRSwitchStatement switchStmt) -
compileWithTableSwitch
-
emitCaseBodies
private static void emitCaseBodies(org.objectweb.asm.Label endSwitch, IRSwitchStatementCompiler.ConstantCase[] cases, IRBytecodeContext context) -
collectLabels
private static org.objectweb.asm.Label[] collectLabels(org.objectweb.asm.Label defaultL, IRSwitchStatementCompiler.ConstantCase[] cases) -
compileCaseBody
private static void compileCaseBody(org.objectweb.asm.Label endSwitchLabel, List<IRStatement> statements, IRBytecodeContext context)
-