Cst_phptype tok = Parse_info.tand info = tokand 'a wrap = 'a * tokand 'a comma_list = ('a, tok) Common.either listand 'a comma_list_dots = ('a, tok, tok) Common.either3 listtype qualified_ident = qualified_ident_element listtype hint_type = | Hint of name * type_args option| HintArray of tok| HintQuestion of tok * hint_type| HintTuple of hint_type comma_list paren| HintCallback of (tok
* hint_type comma_list_dots paren
* (tok * tok option * hint_type) option)
paren| HintShape of tok * (string_const_expr * tok * hint_type) comma_list paren| HintTypeConst of hint_type * tok * hint_type| HintVariadic of tok * hint_type optionand type_args = hint_type comma_list single_angleand type_params = type_param comma_list single_angleand class_name = hint_typeand expr = | Id of name| IdVar of dname * Scope_php.phpscope ref| This of tok| Call of expr * argument comma_list paren| ObjGet of expr * tok * expr| ClassGet of class_name_reference * tok * expr| ArrayGet of expr * expr option bracket| HashGet of expr * expr brace| BraceIdent of expr brace| Deref of tok * expr| Sc of scalar| Binary of expr * binaryOp wrap * expr| Unary of unaryOp wrap * expr| Assign of lvalue * tok * expr| AssignOp of lvalue * assignOp wrap * expr| Postfix of rw_variable * fixOp wrap| Infix of fixOp wrap * rw_variable| CondExpr of expr * tok * expr option * tok * expr| AssignList of tok * list_assign comma_list paren * tok * expr| ArrayLong of tok * array_pair comma_list paren| ArrayShort of array_pair comma_list bracket| Collection of name * array_pair comma_list brace| New of tok * class_name_reference * argument comma_list paren option| Clone of tok * expr| AssignRef of lvalue * tok * tok * lvalue| AssignNew of lvalue
* tok
* tok
* tok
* class_name_reference
* argument comma_list paren option| Cast of castOp wrap * expr| CastUnset of tok * expr| InstanceOf of expr * tok * class_name_reference| Eval of tok * expr paren| Lambda of lambda_def| ShortLambda of short_lambda_def| Exit of tok * expr option paren option| At of tok * expr| Print of tok * expr| BackQuote of tok * encaps list * tok| Include of tok * expr| IncludeOnce of tok * expr| Require of tok * expr| RequireOnce of tok * expr| Empty of tok * lvalue paren| Isset of tok * lvalue comma_list paren| XhpHtml of xhp_html| Yield of tok * array_pair| YieldBreak of tok * tok| Await of tok * expr| SgrepExprDots of tok| ParenExpr of expr parenand constant = | Int of string wrap| Double of string wrap| String of string wrap| PreProcess of cpp_directive wrap| XdebugClass of name * class_stmt list| XdebugResourceand fixOp = Ast_generic.incr_decrand castOp = ptypeand xhp_attribute = xhp_attr_name * tok * xhp_attr_valueand xhp_attr_name = string wrapand lvalue = exprand class_name_reference = exprand rw_variable = lvalueand r_variable = lvalueand w_variable = lvalueand static_scalar = exprand string_const_expr = exprand stmt = | ExprStmt of expr * tok| EmptyStmt of tok| Block of stmt_and_def list brace| If of tok * expr paren * stmt * if_elseif list * if_else option| IfColon of tok
* expr paren
* tok
* stmt_and_def list
* new_elseif list
* new_else option
* tok
* tok| While of tok * expr paren * colon_stmt| Do of tok * stmt * tok * expr paren * tok| For of tok
* tok
* for_expr
* tok
* for_expr
* tok
* for_expr
* tok
* colon_stmt| Switch of tok * expr paren * switch_case_list| Foreach of tok
* tok
* expr
* tok option
* tok
* foreach_pattern
* tok
* colon_stmt| Break of tok * expr option * tok| Continue of tok * expr option * tok| Return of tok * expr option * tok| Throw of tok * expr * tok| Try of tok * stmt_and_def list brace * catch list * finally list| Echo of tok * expr comma_list * tok| Globals of tok * global_var comma_list * tok| StaticVars of tok * static_var comma_list * tok| InlineHtml of string wrap| Use of tok * use_filename * tok| Unset of tok * lvalue comma_list paren * tok| Declare of tok * declare comma_list paren * colon_stmt| FuncDefNested of func_def| ClassDefNested of class_defand for_expr = expr comma_listand foreach_pattern = | ForeachVar of foreach_variable| ForeachArrow of foreach_pattern * tok * foreach_pattern| ForeachList of tok * list_assign comma_list parenand catch = tok * (class_name * dname) paren * stmt_and_def list braceand finally = tok * stmt_and_def list braceand declare = ident * static_scalar_affectand new_elseif = tok * expr paren * tok * stmt_and_def listand new_else = tok * tok * stmt_and_def listand stmt_and_def = stmtand func_def = {f_attrs : attributes option;f_tok : tok;f_type : function_type;f_modifiers : modifier wrap list;f_ref : is_ref;f_name : ident;f_tparams : type_params option;f_params : parameter comma_list_dots paren;f_return_type : (tok * tok option * hint_type) option;f_body : stmt_and_def list brace;}and parameter = {p_attrs : attributes option;p_modifier : modifier wrap option;p_soft_type : tok option;p_type : hint_type option;p_ref : is_ref;p_name : dname;p_default : static_scalar_affect option;p_variadic : tok option;}and is_ref = tok optionand lambda_def = lexical_vars option * func_defand lexical_vars = tok * lexical_var comma_list parenand short_lambda_def = {sl_modifiers : modifier wrap list;sl_params : short_lambda_params;sl_tok : tok option;sl_body : short_lambda_body;}and short_lambda_params = | SLSingleParam of parameter| SLParams of parameter comma_list_dots paren| SLParamsOmittedand class_def = {c_attrs : attributes option;c_type : class_type;c_name : ident;c_tparams : type_params option;c_extends : extend option;c_implements : interface option;c_enum_type : enum_type option;c_body : class_stmt list brace;}and extend = tok * class_nameand interface = tok * class_name comma_listand class_stmt = | ClassConstants of tok option
* tok
* hint_type option
* class_constant comma_list
* tok| ClassVariables of class_var_modifier
* hint_type option
* class_variable comma_list
* tok| Method of method_def| XhpDecl of xhp_decl| UseTrait of tok
* class_name comma_list
* (tok, trait_rule list brace) Common.either| TraitConstraint of tok * trait_constraint_kind wrap * hint_type * tok| ClassType of type_defand class_constant = ident * static_scalar_affect optionand class_variable = dname * static_scalar_affect optionand method_def = func_defand xhp_decl = | XhpAttributesDecl of tok * xhp_attribute_decl comma_list * tok| XhpChildrenDecl of tok * xhp_children_decl * tok| XhpCategoriesDecl of tok * xhp_category_decl comma_list * tokand xhp_attribute_decl = | XhpAttrInherit of xhp_tag wrap| XhpAttrDecl of xhp_attribute_type
* xhp_attr_name
* xhp_value_affect option
* tok optionand xhp_value_affect = tok * static_scalarand xhp_children_decl = | XhpChild of xhp_tag wrap| XhpChildCategory of xhp_tag wrap| XhpChildAny of tok| XhpChildEmpty of tok| XhpChildPcdata of tok| XhpChildSequence of xhp_children_decl * tok * xhp_children_decl| XhpChildAlternative of xhp_children_decl * tok * xhp_children_decl| XhpChildMul of xhp_children_decl * tok| XhpChildOption of xhp_children_decl * tok| XhpChildPlus of xhp_children_decl * tok| XhpChildParen of xhp_children_decl parenand type_def = {t_tok : tok;t_name : ident;t_tparams : type_params option;t_tconstraint : (tok * hint_type) option;t_tokeq : tok;t_kind : type_def_kind;t_sc : tok;}and static_var = dname * static_scalar_affect optionand static_scalar_affect = tok * static_scalarand namespace_use_rule = | ImportNamespace of qualified_ident| AliasNamespace of qualified_ident * tok * identand attribute = | Attribute of string wrap| AttributeWithArgs of string wrap * static_scalar comma_list parenand attributes = attribute comma_list angleand toplevel = | StmtList of stmt list| FuncDef of func_def| ClassDef of class_def| ConstantDef of constant_def| TypeDef of type_def| NamespaceDef of tok * qualified_ident * tok| NamespaceBracketDef of tok * qualified_ident option * toplevel list brace| NamespaceUse of tok * namespace_use_rule comma_list * tok| NotParsedCorrectly of tok list| FinalDef of tokand program = toplevel listtype entity = | FunctionE of func_def| ClassE of class_def| ConstantE of constant_def| TypedefE of type_def| StmtListE of stmt list| MethodE of method_def| ClassConstantE of class_constant| ClassVariableE of class_variable * modifier list| XhpAttrE of xhp_attribute_decl| MiscE of tok listtype any = | Expr of expr| Stmt2 of stmt| StmtAndDefs of stmt_and_def list| Toplevel of toplevel| Program of program| Entity of entity| Argument of argument| Arguments of argument comma_list| Parameter of parameter| Parameters of parameter comma_list_dots paren| Body of stmt_and_def list brace| ClassStmt of class_stmt| ClassConstant2 of class_constant| ClassVariable of class_variable| ListAssign of list_assign| ColonStmt2 of colon_stmt| Case2 of case| XhpAttribute of xhp_attribute| XhpAttrValue of xhp_attr_value| XhpHtml2 of xhp_html| XhpChildrenDecl2 of xhp_children_decl| Info of tok| InfoList of tok list| Ident2 of ident| Hint2 of hint_typeval noScope : unit -> Scope_code.t refval fakeInfo :
?next_to:(Parse_info.token_location * int) option ->
string ->
Parse_info.token_mutableval uncomma : ('a, 'b) Common.either list -> 'a listval uncomma_dots : ('a, 'b, 'b) Common.either3 list -> 'a listval unargs : (argument, 'a) Common.either list -> expr list * w_variable listval unmodifiers : class_var_modifier -> modifier listval map_comma_list :
('a -> 'b) ->
('a, 'c) Common.either list ->
('b, 'c) Common.either listval al_info : Parse_info.token_mutable -> Parse_info.token_mutableval str_of_ident : ident -> stringval str_of_dname : dname -> stringval info_of_qualified_ident : qualified_ident_element list -> tokexception TodoNamespace of tokval str_of_name : name -> stringval str_of_name_namespace : name -> stringval str_of_class_name : hint_type -> string