Browse Source

[php7] remove redundant case in field access generation

Alexander Kuzmenko 8 years ago
parent
commit
a666e1b92b
1 changed files with 10 additions and 14 deletions
  1. 10 14
      src/generators/genphp7.ml

+ 10 - 14
src/generators/genphp7.ml

@@ -2390,22 +2390,18 @@ class virtual type_builder ctx wrapper =
 				);
 				);
 				self#write (!access_str ^ field_str)
 				self#write (!access_str ^ field_str)
 			in
 			in
-			match (follow expr.etype, access) with
-				| (TInst ({ cl_path = ([], "String") }, _), FInstance (_, _, { cf_name = "length"; cf_kind = Var _ })) ->
-					self#write "strlen(";
-					self#write_expr expr;
-					self#write ")"
-				| (_, FInstance ({ cl_path = [], "String"}, _, { cf_name = "length"; cf_kind = Var _ })) ->
+			match access with
+				| FInstance ({ cl_path = [], "String"}, _, { cf_name = "length"; cf_kind = Var _ }) ->
 					self#write "strlen(";
 					self#write "strlen(";
 					self#write_expr expr;
 					self#write_expr expr;
 					self#write ")"
 					self#write ")"
-				| (_, FInstance (_, _, field)) -> write_access "->" (field_name field)
-				| (_, FStatic (_, ({ cf_kind = Var _ } as field))) ->
+				| FInstance (_, _, field) -> write_access "->" (field_name field)
+				| FStatic (_, ({ cf_kind = Var _ } as field)) ->
 					(match (reveal_expr expr).eexpr with
 					(match (reveal_expr expr).eexpr with
 						| TTypeExpr _ -> write_access "::" ("$" ^ (field_name field))
 						| TTypeExpr _ -> write_access "::" ("$" ^ (field_name field))
 						| _ -> write_access "->" (field_name field)
 						| _ -> write_access "->" (field_name field)
 					)
 					)
-				| (_, FStatic (_, ({ cf_kind = Method MethDynamic } as field))) ->
+				| FStatic (_, ({ cf_kind = Method MethDynamic } as field)) ->
 					(match self#parent_expr with
 					(match self#parent_expr with
 						| Some { eexpr = TCall ({ eexpr = TField (e, a) }, _) } when a == access ->
 						| Some { eexpr = TCall ({ eexpr = TField (e, a) }, _) } when a == access ->
 							self#write "(";
 							self#write "(";
@@ -2414,15 +2410,15 @@ class virtual type_builder ctx wrapper =
 						| _ ->
 						| _ ->
 							write_access "::" ("$" ^ (field_name field))
 							write_access "::" ("$" ^ (field_name field))
 					)
 					)
-				| (_, FStatic (_, ({ cf_kind = Method _ } as field))) -> self#write_expr_field_static expr field
-				| (_, FAnon field) ->
+				| FStatic (_, ({ cf_kind = Method _ } as field)) -> self#write_expr_field_static expr field
+				| FAnon field ->
 					let written_as_probable_string = self#write_expr_field_if_string expr (field_name field) in
 					let written_as_probable_string = self#write_expr_field_if_string expr (field_name field) in
 					if not written_as_probable_string then write_access "->" (field_name field)
 					if not written_as_probable_string then write_access "->" (field_name field)
-				| (_, FDynamic field_name) ->
+				| FDynamic field_name ->
 					let written_as_probable_string = self#write_expr_field_if_string expr field_name in
 					let written_as_probable_string = self#write_expr_field_if_string expr field_name in
 					if not written_as_probable_string then write_access "->" field_name
 					if not written_as_probable_string then write_access "->" field_name
-				| (_, FClosure (tcls, field)) -> self#write_expr_field_closure tcls field expr
-				| (_, FEnum (_, field)) ->
+				| FClosure (tcls, field) -> self#write_expr_field_closure tcls field expr
+				| FEnum (_, field) ->
 					if is_enum_constructor_with_args field then
 					if is_enum_constructor_with_args field then
 						if not self#parent_expr_is_call then
 						if not self#parent_expr_is_call then
 							begin
 							begin