*/
	public void visit_ldc(final Instruction inst) {
		final Object value = inst.operand();
		Type type;

		if (value == null) {
			type = Type.NULL;
		} else if (value instanceof Integer) {
			type = Type.INTEGER;
		} else if (value instanceof Long) {
			type = Type.LONG;
		} else if (value instanceof Float) {
			type = Type.FLOAT;
		} else if (value instanceof Double) {
			type = Type.DOUBLE;
		} else if (value instanceof String) {
			type = Type.STRING;
		}
		// FIXME this won't work - check usages
		else if (value instanceof Type) {
			type = Type.CLASS;
		} else {
			throwClassFormatException("Illegal constant type: "
					+ value.getClass().getName() + ": " + value);
			return;
		}

		final Expr top = new ConstantExpr(value, type);
		stack.push(top);
	}