瀏覽代碼

[jvm] handle field annotations

see #10397
Simon Krajewski 4 年之前
父節點
當前提交
0c89b91432
共有 2 個文件被更改,包括 3 次插入1 次删除
  1. 2 1
      src/generators/genjvm.ml
  2. 1 0
      src/generators/jvm/jvmMethod.ml

+ 2 - 1
src/generators/genjvm.ml

@@ -2475,7 +2475,8 @@ class tclass_to_jvm gctx c = object(self)
 		end;
 		let ssig = generate_signature true (jsignature_of_type gctx cf.cf_type) in
 		let offset = jc#get_pool#add_string ssig in
-		jm#add_attribute (AttributeSignature offset)
+		jm#add_attribute (AttributeSignature offset);
+		AnnotationHandler.generate_annotations (jm :> JvmBuilder.base_builder) cf.cf_meta;
 
 	method generate_main e =
 		let jsig = method_sig [array_sig string_sig] None in

+ 1 - 0
src/generators/jvm/jvmMethod.ml

@@ -1139,6 +1139,7 @@ class builder jc name jsig = object(self)
 		assert (code#get_fp = 0);
 		assert (not was_exported);
 		was_exported <- true;
+		self#commit_annotations jc#get_pool;
 		let attributes = self#export_attributes jc#get_pool in
 		let offset_name = jc#get_pool#add_string name in
 		let jsig = generate_signature false jsig in