Add structs.
[wrappi.git] / generator-lib / wrappi_accumulator.ml
index e2af4f8..237bb0b 100644 (file)
@@ -101,7 +101,8 @@ let rec resolve_typedefs thing name loc = function
       exit 1
 
 let resolve_typedefs_in_ret thing name loc = function
-  | RErr as t -> t
+  | (RVoid
+        | RStaticString) as t -> t
   | Return t -> Return (resolve_typedefs thing name loc t)
 
 let get_api () =
@@ -116,7 +117,11 @@ let get_api () =
     fun sd ->
       let fields = sd.sd_fields in
       let fields =
-        Array.map (resolve_typedefs "enum" sd.sd_name sd.sd_loc) fields in
+        Array.map (
+          fun (name, t) ->
+            let t = resolve_typedefs "enum" sd.sd_name sd.sd_loc t in
+            (name, t)
+        ) fields in
       { sd with sd_fields = fields }
   ) sds in
 
@@ -124,7 +129,11 @@ let get_api () =
     fun un ->
       let fields = un.un_fields in
       let fields =
-        Array.map (resolve_typedefs "union" un.un_name un.un_loc) fields in
+        Array.map (
+          fun (name, t) ->
+            let t = resolve_typedefs "union" un.un_name un.un_loc t in
+            (name, t)
+        ) fields in
       { un with un_fields = fields }
   ) uns in