Browse Source

fix bug with static bindable methods

Nicolas Cannasse 18 years ago
parent
commit
36a4194a0b
1 changed files with 3 additions and 3 deletions
  1. 3 3
      genswf9.ml

+ 3 - 3
genswf9.ml

@@ -1283,9 +1283,7 @@ let generate_class_statics ctx c =
 	let nslot = ref 0 in
 	let nslot = ref 0 in
 	List.iter (fun f ->
 	List.iter (fun f ->
 		match f.cf_expr with
 		match f.cf_expr with
-		| Some { eexpr = TFunction _ } -> ()
-		| None ->
-			incr nslot;
+		| Some { eexpr = TFunction _ } when f.cf_set <> NormalAccess -> ()
 		| Some e ->
 		| Some e ->
 			incr nslot;
 			incr nslot;
 			if !first then begin
 			if !first then begin
@@ -1297,6 +1295,8 @@ let generate_class_statics ctx c =
 			write ctx (A3Reg r.rid);
 			write ctx (A3Reg r.rid);
 			gen_expr ctx true (Transform.block_vars e);
 			gen_expr ctx true (Transform.block_vars e);
 			write ctx (A3SetSlot !nslot);
 			write ctx (A3SetSlot !nslot);
+		| _ ->
+			incr nslot
 	) c.cl_ordered_statics;
 	) c.cl_ordered_statics;
 	free_reg ctx r
 	free_reg ctx r