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

		genPostponed(stmt);

		// All the children are stack variables, so don't so anything.

		switch (stmt.kind()) {
		case StackManipStmt.SWAP:
			method.addInstruction(Opcode.opcx_swap);
			break;
		case StackManipStmt.DUP:
			method.addInstruction(Opcode.opcx_dup);
			stackHeight += 1;
			break;
		case StackManipStmt.DUP_X1:
			method.addInstruction(Opcode.opcx_dup_x1);
			stackHeight += 1;
			break;
		case StackManipStmt.DUP_X2:
			method.addInstruction(Opcode.opcx_dup_x2);
			stackHeight += 1;
			break;
		case StackManipStmt.DUP2:
			method.addInstruction(Opcode.opcx_dup2);
			stackHeight += 2;
			break;
		case StackManipStmt.DUP2_X1:
			method.addInstruction(Opcode.opcx_dup2_x1);
			stackHeight += 2;
			break;
		case StackManipStmt.DUP2_X2:
			method.addInstruction(Opcode.opcx_dup2_x2);
			stackHeight += 2;
			break;
		}
	}