- (+g-type-invalid+ (error "GValue is of invalid type (~A)" (g-type-name type)))
- (+g-type-void+ nil)
- (+g-type-char+ (g-value-get-char gvalue))
- (+g-type-uchar+ (g-value-get-uchar gvalue))
- (+g-type-boolean+ (g-value-get-boolean gvalue))
- (+g-type-int+ (g-value-get-int gvalue))
- (+g-type-uint+ (g-value-get-uint gvalue))
- (+g-type-long+ (g-value-get-long gvalue))
- (+g-type-ulong+ (g-value-get-ulong gvalue))
- (+g-type-int64+ (g-value-get-int64 gvalue))
- (+g-type-uint64+ (g-value-get-uint64 gvalue))
- (+g-type-enum+ (parse-gvalue-enum gvalue))
- (+g-type-flags+ (parse-gvalue-flags gvalue))
- (+g-type-float+ (g-value-get-float gvalue))
- (+g-type-double+ (g-value-get-double gvalue))
- (+g-type-string+ (g-value-get-string gvalue))
- (t (parse-gvalue-for-type gvalue type)))))
-
-(defmethod parse-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-pointer+)))
+ ((gtype +g-type-invalid+) (error "GValue is of invalid type (~A)" (gtype-name type)))
+ ((gtype +g-type-void+) nil)
+ ((gtype +g-type-char+) (g-value-get-char gvalue))
+ ((gtype +g-type-uchar+) (g-value-get-uchar gvalue))
+ ((gtype +g-type-boolean+) (g-value-get-boolean gvalue))
+ ((gtype +g-type-int+) (g-value-get-int gvalue))
+ ((gtype +g-type-uint+) (g-value-get-uint gvalue))
+ ((gtype +g-type-long+) (g-value-get-long gvalue))
+ ((gtype +g-type-ulong+) (g-value-get-ulong gvalue))
+ ((gtype +g-type-int64+) (g-value-get-int64 gvalue))
+ ((gtype +g-type-uint64+) (g-value-get-uint64 gvalue))
+ ((gtype +g-type-enum+) (parse-g-value-enum gvalue))
+ ((gtype +g-type-flags+) (parse-g-value-flags gvalue))
+ ((gtype +g-type-float+) (g-value-get-float gvalue))
+ ((gtype +g-type-double+) (g-value-get-double gvalue))
+ ((gtype +g-type-string+) (g-value-get-string gvalue))
+ (t (parse-g-value-for-type gvalue type parse-kind)))))
+
+(defmethod parse-g-value-for-type (gvalue-ptr (type (eql (gtype +g-type-pointer+))) parse-kind)
+ (declare (ignore parse-kind))