public void visitNegExpr(final NegExpr expr) {
		expr.visitChildren(this);

		genPostponed(expr);

		if (expr.type().isIntegral()) {
			method.addInstruction(Opcode.opcx_ineg);
		} else if (expr.type().equals(Type.FLOAT)) {
			method.addInstruction(Opcode.opcx_fneg);
		} else if (expr.type().equals(Type.LONG)) {
			method.addInstruction(Opcode.opcx_lneg);
		} else if (expr.type().equals(Type.DOUBLE)) {
			method.addInstruction(Opcode.opcx_dneg);
		} else {
			throw new IllegalArgumentException("Can't generate code for type: "
					+ expr.type() + " (expr " + expr + ")");
		}
	}