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 voidcompile(IRSwitchStatement statement, IRBytecodeContext context) private static voidcompileCaseBody(org.objectweb.asm.Label endSwitchLabel, List<IRStatement> statements, IRBytecodeContext context) private static voidcompileWithTableSwitch(IRSwitchStatement switchStmt, IRBytecodeContext context) private static voidemitCaseBodies(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)
-