2 [3:14-18] The type `this` cannot be used as a constraint
on a class generic
, or as the type of a static member
variable
3 [7:23-27] The type `this` cannot be used as a constraint
on a class generic
, or as the type of a static member
variable
4 [7:23-27] `this` must be an identifier
for a class
, `self`
, or `this`
6 { c_span
= [3:1-5:2]; c_annotation
= (); c_mode
= Mstrict
; c_final
= false
;
7 c_is_xhp
= false
; c_has_xhp_keyword
= false
; c_kind
= (Cclass Concrete
);
8 c_name
= ([3:7-8], "\\C");
9 c_tparams
= [{ tp_variance
= Invariant
; tp_name
= ([3:9-10], "T"); tp_parameters = []; tp_constraints = [(Constraint_as, ([3:14-18], Herr))]; tp_reified = Erased; tp_user_attributes = [] }];
10 c_extends
= []; c_uses
= []; c_xhp_attr_uses
= []; c_xhp_category
= None;
11 c_reqs
= []; c_implements
= []; c_where_constraints
= []; c_consts
= [];
14 [{ cv_final
= false
; cv_xhp_attr
= None; cv_abstract
= false
; cv_readonly
= false
;
15 cv_visibility
= Private
; cv_type
= ((), (Some
([4:11-13], (Hoption
([4:12-13], (Habstr
("T", [])))))));
16 cv_id
= ([4:14-16], "x"); cv_expr = None; cv_user_attributes = [];
17 cv_doc_comment
= None; cv_is_promoted_variadic
= false
; cv_is_static
= false
;
20 c_methods
= []; c_xhp_children
= []; c_xhp_attrs
= [];
22 { Namespace_env.ns_ns_uses
= <opaque
>; ns_class_uses
= <opaque
>;
23 ns_fun_uses
= <opaque
>; ns_const_uses
= <opaque
>; ns_name
= None;
24 ns_auto_ns_map
= []; ns_is_codegen
= false
; ns_disable_xhp_element_mangling
= false
};
25 c_user_attributes
= []; c_file_attributes
= []; c_docs_url
= None;
26 c_enum
= None; c_doc_comment
= None; c_emit_id
= None; c_internal
= false
;
29 { c_span
= [7:1-9:2]; c_annotation
= (); c_mode
= Mstrict
; c_final
= false
;
30 c_is_xhp
= false
; c_has_xhp_keyword
= false
; c_kind
= (Cclass Abstract
);
31 c_name
= ([7:16-17], "\\C");
33 [{ tp_variance
= Invariant
; tp_name
= ([7:18-19], "T"); tp_parameters = [];
34 tp_constraints
= [(Constraint_as
, ([7:23-30], (Haccess
(([7:23-27], Herr
), [([7:29-30], "X")]))))];
35 tp_reified
= Erased
; tp_user_attributes
= [] }
37 c_extends
= []; c_uses
= []; c_xhp_attr_uses
= []; c_xhp_category
= None;
38 c_reqs
= []; c_implements
= []; c_where_constraints
= []; c_consts
= [];
40 [{ c_tconst_user_attributes
= []; c_tconst_name
= ([8:23-24], "X");
41 c_tconst_kind
= (TCAbstract
{ c_atc_as_constraint
= None; c_atc_super_constraint
= None; c_atc_default
= None });
42 c_tconst_span
= [8:3-25]; c_tconst_doc_comment
= None; c_tconst_is_ctx
= false
}
44 c_vars
= []; c_methods
= []; c_xhp_children
= []; c_xhp_attrs
= [];
46 { Namespace_env.ns_ns_uses
= <opaque
>; ns_class_uses
= <opaque
>;
47 ns_fun_uses
= <opaque
>; ns_const_uses
= <opaque
>; ns_name
= None;
48 ns_auto_ns_map
= []; ns_is_codegen
= false
; ns_disable_xhp_element_mangling
= false
};
49 c_user_attributes
= []; c_file_attributes
= []; c_docs_url
= None;
50 c_enum
= None; c_doc_comment
= None; c_emit_id
= None; c_internal
= false
;