package pfff
Tools and APIs for program analysis, code visualization, refactoring
Install
Dune Dependency
Authors
Maintainers
Sources
0.37.7.tar.gz
md5=d069f379342be72574b4cdc52f4ed9b4
sha512=68e9971364f5e016bad8f94bb72fd15252f19c7964424992309cdb4a9fc922dbe15d07619f500f4bcbc72f820c93d4da20f0759bb4276cd073a29a179bef9300
doc/pfff-lang_js/Cst_js/index.html
Module Cst_js
module PI = Parse_info
type tok = Parse_info.info
and 'a wrap = 'a * tok
and 'a comma_list = ('a, tok) Common.either list
and sc = tok option
type name = string wrap
type module_path = string wrap
type expr =
| L of literal
| V of name
| This of tok
| Super of tok
| U of unop wrap * expr
| B of expr * binop wrap * expr
| Period of expr * tok * name
| Bracket of expr * expr bracket
| Object of property comma_list brace
| Array of expr comma_list bracket
| Apply of expr * expr comma_list paren
| Conditional of expr * tok * expr * tok * expr
| Assign of expr * assignment_operator wrap * expr
| Seq of expr * tok * expr
| Function of func_decl
| Class of class_decl
| Arrow of arrow_func
| Yield of tok * tok option * expr option
| Await of tok * expr
| NewTarget of tok * tok * tok
| Encaps of name option * tok * encaps list * tok
| XhpHtml of xhp_html
| Paren of expr paren
and xhp_attribute =
| XhpAttrValue of xhp_attr_name * tok * xhp_attr_value
| XhpAttrNoValue of xhp_attr_name
| XhpAttrSpread of (tok * expr) brace
and xhp_attr_name = string wrap
and stmt =
| VarsDecl of var_kind wrap * var_binding comma_list * sc
| Block of item list brace
| Nop of sc
| ExprStmt of expr * sc
| If of tok * expr paren * stmt * (tok * stmt) option
| Do of tok * stmt * tok * expr paren * sc
| While of tok * expr paren * stmt
| For of tok * tok * lhs_or_vars option * tok * expr option * tok * expr option * tok * stmt
| ForIn of tok * tok * lhs_or_var * tok * expr * tok * stmt
| ForOf of tok * tok * lhs_or_var * tok * expr * tok * stmt
| Switch of tok * expr paren * case_clause list brace
| Continue of tok * label option * sc
| Break of tok * label option * sc
| Return of tok * expr option * sc
| With of tok * expr paren * stmt
| Labeled of label * tok * stmt
| Throw of tok * expr * sc
| Try of tok * stmt * (tok * arg_catch paren * stmt) option * (tok * stmt) option
and label = string wrap
and arg_catch = string wrap
and type_ =
| TName of nominal_type
| TQuestion of tok * type_
| TFun of param_types * tok * type_
| TObj of obj_type_member list brace
| TTodo
and nominal_type = expr * type_argument comma_list angle option
and param_types = (param_name * annotation) comma_list paren
and obj_type_member = property_name * annotation * sc
and type_argument = type_
and type_parameters = type_parameter comma_list angle
and type_parameter = name
and type_opt = annotation option
and annotation =
| TAnnot of tok * type_
| TFunAnnot of type_parameters option * param_types * tok * type_
and func_decl = {
f_kind : func_kind;
f_properties : func_property list;
f_params : parameter_binding comma_list paren;
f_body : item list brace;
f_type_params : type_parameters option;
f_return_type : type_opt;
}
and func_kind =
| F_func of tok * name option
| F_method of property_name
| F_get of tok * property_name
| F_set of tok * property_name
and arrow_func = {
a_params : arrow_params;
a_return_type : type_opt;
a_tok : tok;
a_body : arrow_body;
}
and arrow_params =
| ASingleParam of parameter_binding
| AParams of parameter_binding comma_list paren
and pattern =
| PatObj of pattern comma_list brace
| PatArr of pattern comma_list bracket
| PatId of name * init option
| PatProp of property_name * tok * pattern
| PatDots of tok * pattern
| PatNest of pattern * init option
and class_decl = {
c_tok : tok;
c_name : name option;
c_type_params : type_parameter comma_list angle option;
c_extends : (tok * nominal_type) option;
c_body : class_element list brace;
}
and class_element =
| C_method of static_opt * func_decl
| C_field of field_decl * sc
| C_extrasemicolon of sc
and static_opt = tok option
and field_decl = {
fld_static : static_opt;
fld_name : property_name;
fld_type : type_opt;
fld_init : init option;
}
and interface_decl = {
i_tok : tok;
i_name : name;
i_type_params : type_parameter comma_list angle option;
i_type : type_;
}
and item =
| St of stmt
| FunDecl of func_decl
| ClassDecl of class_decl
| InterfaceDecl of interface_decl
| ItemTodo of tok
and import_clause = import_default option * name_import option
and name_import =
| ImportNamespace of tok * tok * name
| ImportNames of import_name comma_list brace
| ImportTypes of tok * import_name comma_list brace
and import_default = name
and export =
| ExportDecl of item
| ExportDefaultDecl of tok * item
| ExportDefaultExpr of tok * expr * sc
| ExportNames of import_name comma_list brace * sc
| ReExportNamespace of tok * tok * module_path * sc
| ReExportNames of import_name comma_list brace * tok * module_path * sc
and program = module_item list
val uncomma : ('a, 'b) Common.either list -> 'a list
val al_info : PI.token_mutable -> PI.token_mutable
val fakeInfoAttach : PI.info -> PI.token_mutable
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>