Introduce the ConstFun attribute
[hiphop-php.git] / hphp / hack / test / decl / xhp_self.php.exp
blobfa1ae6f428496b079dae667248a1c12f1a7b39ed
1 [("\\REACT_XHP_FIX",
2 (Shallow_decl_defs.Typedef
3 { Typing_defs.td_pos = [3:6-19]; td_vis = Transparent;
4 td_tparams =
5 [{ Typing_defs_core.tp_variance = Covariant;
6 tp_name = ([3:21-22], "T"); tp_tparams = []; tp_constraints = [];
7 tp_reified = Erased; tp_user_attributes = [] }
8 ];
9 td_constraint = None;
10 td_type =
11 (Rhint (root|xhp_self.php line 3, characters 26-26),
12 (Tgeneric ("T", [])))
13 }));
14 ("\\:Foo",
15 (Shallow_decl_defs.Class
16 { Shallow_decl_defs.sc_mode = Mstrict; sc_final = true;
17 sc_is_xhp = true; sc_has_xhp_keyword = false; sc_kind = Cnormal;
18 sc_name = ([5:13-17], "\\:Foo"); sc_tparams = [];
19 sc_where_constraints = []; sc_extends = []; sc_uses = [];
20 sc_xhp_attr_uses = []; sc_req_extends = []; sc_req_implements = [];
21 sc_implements = []; sc_implements_dynamic = false; sc_consts = [];
22 sc_typeconsts =
23 [{ Shallow_decl_defs.stc_abstract = Typing_defs.TCConcrete;
24 stc_as_constraint = None; stc_name = ([6:14-20], "TProps");
25 stc_type =
26 (Some (Rhint (root|xhp_self.php line 6, characters 23-39),
27 (Tshape (Typing_defs_core.Closed_shape,
28 { (Typing_defs_core.TSFlit_str ([6:29-32], "x")) ->
29 { sft_optional = false;
30 sft_ty =
31 (Rhint (root|xhp_self.php line 6, characters 36-38),
32 (Tprim Tint))
33 } }
34 ))));
35 stc_enforceable = ([Pos.none], false); stc_reifiable = None }
37 sc_props =
38 [{ Shallow_decl_defs.sp_name = ([8:41-46], ":props");
39 sp_xhp_attr =
40 (Some { Typing_defs_core.xa_tag = (Some Typing_defs_core.Required);
41 xa_has_default = false });
42 sp_type =
43 (Some (Rhint (root|xhp_self.php line 8, characters 13-39),
44 (Tapply (([8:13-26], "\\REACT_XHP_FIX"),
45 [(Rhint (root|xhp_self.php line 8, characters 27-38),
46 (Taccess
47 ((Rhint (root|xhp_self.php line 8, characters 27-38),
48 (Tapply (([5:13-17], "\\:Foo"), []))),
49 [([8:33-39], "TProps")])))
51 ))));
52 sp_visibility = Public; sp_flags = needs_init }
54 sc_sprops = []; sc_constructor = None; sc_static_methods = [];
55 sc_methods =
56 [{ Shallow_decl_defs.sm_name = ([10:22-30], "getProps");
57 sm_reactivity = None;
58 sm_type =
59 (Rwitness (root|xhp_self.php line 10, characters 22-29),
60 (Tfun
61 { ft_arity = (Fstandard ()); ft_tparams = [];
62 ft_where_constraints = []; ft_params = [];
63 ft_implicit_params =
64 { capability = (CapDefaults [10:22-30]) };
65 ft_ret =
66 { et_enforced = false;
67 et_type =
68 (Rhint (root|xhp_self.php line 10, characters 34-45),
69 (Taccess
70 ((Rhint (root|xhp_self.php line 10, characters 34-45),
71 (Tapply (([5:13-17], "\\:Foo"), []))),
72 [([10:40-46], "TProps")])))
74 ft_flags =
75 (make_ft_flags FSync None ~return_disposable:false
76 ~returns_mutable:false ~returns_void_to_rx:false
77 ~returns_readonly:false ~readonly_this:false
78 ~is_const:false);
79 ft_reactive = Nonreactive; ft_ifc_decl = FDPolicied {PUBLIC}
80 }));
81 sm_visibility = Protected; sm_deprecated = None;
82 sm_flags = (empty) }
84 sc_user_attributes = []; sc_enum_type = None }))
87 They matched!