|
@@ -1382,31 +1382,32 @@ class hxb_reader
|
|
|
let flags = read_uleb128 ch in
|
|
|
|
|
|
let doc = self#read_option (fun () -> self#read_documentation) in
|
|
|
- let meta = self#read_metadata in
|
|
|
+ cf.cf_meta <- self#read_metadata;
|
|
|
let kind = self#read_field_kind in
|
|
|
|
|
|
let expr,expr_unoptimized = match read_byte ch with
|
|
|
| 0 ->
|
|
|
None,None
|
|
|
- | _ ->
|
|
|
+ | 1 ->
|
|
|
let fctx = self#start_texpr in
|
|
|
let e,e_unopt = self#read_expression fctx in
|
|
|
(Some e,e_unopt)
|
|
|
+ | 2 ->
|
|
|
+ (* store type parameter info for EXD *)
|
|
|
+ let info = ClassFieldInfo.create field_type_parameters in
|
|
|
+ ClassFieldInfos.set class_field_infos info cf;
|
|
|
+ None,None
|
|
|
+ | _ ->
|
|
|
+ die "" __LOC__
|
|
|
in
|
|
|
|
|
|
cf.cf_type <- t;
|
|
|
cf.cf_doc <- doc;
|
|
|
- cf.cf_meta <- meta;
|
|
|
cf.cf_kind <- kind;
|
|
|
cf.cf_expr <- expr;
|
|
|
cf.cf_expr_unoptimized <- expr_unoptimized;
|
|
|
cf.cf_params <- params;
|
|
|
- cf.cf_flags <- flags;
|
|
|
-
|
|
|
- (* store type parameter info for EXD *)
|
|
|
- let info = ClassFieldInfo.create field_type_parameters in
|
|
|
- ClassFieldInfos.set class_field_infos info cf;
|
|
|
-
|
|
|
+ cf.cf_flags <- flags
|
|
|
|
|
|
method read_class_field_and_overloads_data (cf : tclass_field) =
|
|
|
let rec loop depth cfl = match cfl with
|