Expression.Parse
let program: Parser_env.env => Flow_ast.Program.t(Loc.t, Loc.t);
let statement: Parser_env.env => Flow_ast.Statement.t(Loc.t, Loc.t);
let statement_list_item:
?decorators:list(Flow_ast.Class.Decorator.t(Loc.t, Loc.t)) =>
Parser_env.env =>
Flow_ast.Statement.t(Loc.t, Loc.t);
let statement_list:
term_fn:(Token.t => bool) =>
Parser_env.env =>
list(Flow_ast.Statement.t(Loc.t, Loc.t));
let statement_list_with_directives:
term_fn:(Token.t => bool) =>
Parser_env.env =>
(list(Flow_ast.Statement.t(Loc.t, Loc.t)), bool);
let module_body:
term_fn:(Token.t => bool) =>
Parser_env.env =>
list(Flow_ast.Statement.t(Loc.t, Loc.t));
let expression: Parser_env.env => Flow_ast.Expression.t(Loc.t, Loc.t);
let expression_or_pattern: Parser_env.env => Parser_common.pattern_cover;
let conditional: Parser_env.env => Flow_ast.Expression.t(Loc.t, Loc.t);
let assignment: Parser_env.env => Flow_ast.Expression.t(Loc.t, Loc.t);
let left_hand_side: Parser_env.env => Flow_ast.Expression.t(Loc.t, Loc.t);
let object_initializer:
Parser_env.env =>
(Loc.t, Flow_ast.Expression.Object.t(Loc.t, Loc.t), Parser_common.pattern_errors);
let identifier:
?restricted_error:Parse_error.t =>
Parser_env.env =>
Flow_ast.Identifier.t(Loc.t, Loc.t);
let identifier_with_type:
Parser_env.env =>
?no_optional:bool =>
Parse_error.t =>
(Loc.t, Flow_ast.Pattern.Identifier.t(Loc.t, Loc.t));
let block_body:
Parser_env.env =>
(Loc.t, Flow_ast.Statement.Block.t(Loc.t, Loc.t));
let function_block_body:
expression:bool =>
Parser_env.env =>
((Loc.t, Flow_ast.Statement.Block.t(Loc.t, Loc.t)), bool);
let jsx_element_or_fragment:
Parser_env.env =>
(Loc.t, [ `Element(Flow_ast.JSX.element(Loc.t, Loc.t))
| `Fragment(Flow_ast.JSX.fragment(Loc.t, Loc.t)) ]);
let pattern:
Parser_env.env =>
Parse_error.t =>
Flow_ast.Pattern.t(Loc.t, Loc.t);
let pattern_from_expr:
Parser_env.env =>
Flow_ast.Expression.t(Loc.t, Loc.t) =>
Flow_ast.Pattern.t(Loc.t, Loc.t);
let object_key:
?class_body:bool =>
Parser_env.env =>
(Loc.t, Flow_ast.Expression.Object.Property.key(Loc.t, Loc.t));
let class_declaration:
Parser_env.env =>
list(Flow_ast.Class.Decorator.t(Loc.t, Loc.t)) =>
Flow_ast.Statement.t(Loc.t, Loc.t);
let class_expression: Parser_env.env => Flow_ast.Expression.t(Loc.t, Loc.t);
let is_assignable_lhs: Flow_ast.Expression.t(Loc.t, Loc.t) => bool;
let number: Parser_env.env => Token.number_type => string => float;
let annot: Parser_env.env => Flow_ast.Type.annotation(Loc.t, Loc.t);