public void visitSwitchStmt(final SwitchStmt stmt) {
		if (CodeGenerator.DEBUG) {
			System.out.println("code for " + stmt);
		}

		stmt.visitChildren(this);

		genPostponed(stmt);

		final Label[] targets = new Label[stmt.targets().length];

		for (int i = 0; i < targets.length; i++) {
			targets[i] = stmt.targets()[i].label();
		}

		method.addInstruction(Opcode.opcx_switch, new Switch(stmt
				.defaultTarget().label(), targets, stmt.values()));
		stackHeight -= 1;
	}