JavascriptParserPlugin

Trait JavascriptParserPlugin 

Source
pub trait JavascriptParserPlugin {
Show 50 methods // Provided methods fn pre_statement( &self, _parser: &mut JavascriptParser<'_>, _stmt: Statement<'_>, ) -> Option<bool> { ... } fn block_pre_statement( &self, _parser: &mut JavascriptParser<'_>, _stmt: Statement<'_>, ) -> Option<bool> { ... } fn top_level_await_expr( &self, _parser: &mut JavascriptParser<'_>, _expr: &AwaitExpr, ) { ... } fn top_level_for_of_await_stmt( &self, _parser: &mut JavascriptParser<'_>, _stmt: &ForOfStmt, ) { ... } fn can_rename( &self, _parser: &mut JavascriptParser<'_>, _str: &str, ) -> Option<bool> { ... } fn rename( &self, _parser: &mut JavascriptParser<'_>, _expr: &Expr, _str: &str, ) -> Option<bool> { ... } fn program( &self, _parser: &mut JavascriptParser<'_>, _ast: &Program, ) -> Option<bool> { ... } fn statement( &self, _parser: &mut JavascriptParser<'_>, _stmt: Statement<'_>, ) -> Option<bool> { ... } fn module_declaration( &self, _parser: &mut JavascriptParser<'_>, _decl: &ModuleDecl, ) -> Option<bool> { ... } fn block_pre_module_declaration( &self, _parser: &mut JavascriptParser<'_>, _decl: &ModuleDecl, ) -> Option<bool> { ... } fn pre_declarator( &self, _parser: &mut JavascriptParser<'_>, _declarator: &VarDeclarator, _declaration: VariableDeclaration<'_>, ) -> Option<bool> { ... } fn evaluate<'a>( &self, _parser: &mut JavascriptParser<'_>, _expr: &'a Expr, ) -> Option<BasicEvaluatedExpression<'a>> { ... } fn evaluate_typeof<'a>( &self, _parser: &mut JavascriptParser<'_>, _expr: &'a UnaryExpr, _for_name: &str, ) -> Option<BasicEvaluatedExpression<'a>> { ... } fn evaluate_identifier( &self, _parser: &mut JavascriptParser<'_>, _for_name: &str, _start: u32, _end: u32, ) -> Option<BasicEvaluatedExpression<'static>> { ... } fn evaluate_call_expression_member<'a>( &self, _parser: &mut JavascriptParser<'_>, _property: &str, _expr: &'a CallExpr, _param: BasicEvaluatedExpression<'a>, ) -> Option<BasicEvaluatedExpression<'a>> { ... } fn can_collect_destructuring_assignment_properties( &self, _parser: &mut JavascriptParser<'_>, _expr: &Expr, ) -> Option<bool> { ... } fn pattern( &self, _parser: &mut JavascriptParser<'_>, _ident: &Ident, _for_name: &str, ) -> Option<bool> { ... } fn call( &self, _parser: &mut JavascriptParser<'_>, _expr: &CallExpr, _for_name: &str, ) -> Option<bool> { ... } fn call_member_chain( &self, _parser: &mut JavascriptParser<'_>, _expr: &CallExpr, _for_name: &str, _members: &[Atom], _members_optionals: &[bool], _member_ranges: &[Span], ) -> Option<bool> { ... } fn member( &self, _parser: &mut JavascriptParser<'_>, _expr: &MemberExpr, _for_name: &str, ) -> Option<bool> { ... } fn member_chain( &self, _parser: &mut JavascriptParser<'_>, _expr: &MemberExpr, _for_name: &str, _members: &[Atom], _members_optionals: &[bool], _member_ranges: &[Span], ) -> Option<bool> { ... } fn unhandled_expression_member_chain( &self, _parser: &mut JavascriptParser<'_>, _root_info: &ExportedVariableInfo, _expr: &MemberExpr, ) -> Option<bool> { ... } fn member_chain_of_call_member_chain( &self, _parser: &mut JavascriptParser<'_>, _member_expr: &MemberExpr, _callee_members: &[Atom], _call_expr: &CallExpr, _members: &[Atom], _member_ranges: &[Span], _for_name: &str, ) -> Option<bool> { ... } fn call_member_chain_of_call_member_chain( &self, _parser: &mut JavascriptParser<'_>, _call_expr: &CallExpr, _callee_members: &[Atom], _inner_call_expr: &CallExpr, _members: &[Atom], _member_ranges: &[Span], _for_name: &str, ) -> Option<bool> { ... } fn typeof( &self, _parser: &mut JavascriptParser<'_>, _expr: &UnaryExpr, _for_name: &str, ) -> Option<bool> { ... } fn expression_logical_operator( &self, _parser: &mut JavascriptParser<'_>, _expr: &BinExpr, ) -> Option<bool> { ... } fn binary_expression( &self, _parser: &mut JavascriptParser<'_>, _expr: &BinExpr, ) -> Option<bool> { ... } fn statement_if( &self, _parser: &mut JavascriptParser<'_>, _expr: &IfStmt, ) -> Option<bool> { ... } fn class_extends_expression( &self, _parser: &mut JavascriptParser<'_>, _super_class: &Expr, _class_decl_or_expr: ClassDeclOrExpr<'_>, ) -> Option<bool> { ... } fn class_body_element( &self, _parser: &mut JavascriptParser<'_>, _element: &ClassMember, _class_decl_or_expr: ClassDeclOrExpr<'_>, ) -> Option<bool> { ... } fn class_body_value( &self, _parser: &mut JavascriptParser<'_>, _element: &ClassMember, _expr_span: Span, _class_decl_or_expr: ClassDeclOrExpr<'_>, ) -> Option<bool> { ... } fn declarator( &self, _parser: &mut JavascriptParser<'_>, _expr: &VarDeclarator, _stmt: VariableDeclaration<'_>, ) -> Option<bool> { ... } fn new_expression( &self, _parser: &mut JavascriptParser<'_>, _expr: &NewExpr, _for_name: &str, ) -> Option<bool> { ... } fn identifier( &self, _parser: &mut JavascriptParser<'_>, _ident: &Ident, _for_name: &str, ) -> Option<bool> { ... } fn this( &self, _parser: &mut JavascriptParser<'_>, _expr: &ThisExpr, _for_name: &str, ) -> Option<bool> { ... } fn assign( &self, _parser: &mut JavascriptParser<'_>, _expr: &AssignExpr, _for_name: &str, ) -> Option<bool> { ... } fn assign_member_chain( &self, _parser: &mut JavascriptParser<'_>, _expr: &AssignExpr, _members: &[Atom], _for_name: &str, ) -> Option<bool> { ... } fn import_call( &self, _parser: &mut JavascriptParser<'_>, _expr: &CallExpr, _import_then: Option<&CallExpr>, ) -> Option<bool> { ... } fn meta_property( &self, _parser: &mut JavascriptParser<'_>, _root_name: &Atom, _span: Span, ) -> Option<bool> { ... } fn import( &self, _parser: &mut JavascriptParser<'_>, _statement: &ImportDecl, _source: &str, ) -> Option<bool> { ... } fn import_specifier( &self, _parser: &mut JavascriptParser<'_>, _statement: &ImportDecl, _source: &Atom, _export_name: Option<&Atom>, _identifier_name: &Atom, ) -> Option<bool> { ... } fn export_import( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportImport<'_>, _source: &Atom, ) -> Option<bool> { ... } fn export( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportLocal<'_>, ) -> Option<bool> { ... } fn export_import_specifier( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportImport<'_>, _source: &Atom, _local_id: Option<&Atom>, _export_name: Option<&Atom>, _export_name_span: Option<Span>, ) -> Option<bool> { ... } fn export_specifier( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportLocal<'_>, _local_id: &Atom, _export_name: &Atom, _export_name_span: Span, ) -> Option<bool> { ... } fn export_expression( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportDefaultDeclaration<'_>, _expr: ExportDefaultExpression<'_>, ) -> Option<bool> { ... } fn optional_chaining( &self, _parser: &mut JavascriptParser<'_>, _expr: &OptChainExpr, ) -> Option<bool> { ... } fn expression_conditional_operation( &self, _parser: &mut JavascriptParser<'_>, _expr: &CondExpr, ) -> Option<bool> { ... } fn finish(&self, _parser: &mut JavascriptParser<'_>) -> Option<bool> { ... } fn is_pure( &self, _parser: &mut JavascriptParser<'_>, _expr: &Expr, ) -> Option<bool> { ... }
}

Provided Methods§

Source

fn pre_statement( &self, _parser: &mut JavascriptParser<'_>, _stmt: Statement<'_>, ) -> Option<bool>

Return:

  • Some(true) signifies the termination of the current statement’s visit during the pre-walk phase.
  • Other return values imply that the walk operation ought to continue
Source

fn block_pre_statement( &self, _parser: &mut JavascriptParser<'_>, _stmt: Statement<'_>, ) -> Option<bool>

Source

fn top_level_await_expr( &self, _parser: &mut JavascriptParser<'_>, _expr: &AwaitExpr, )

The return value will have no effect.

Source

fn top_level_for_of_await_stmt( &self, _parser: &mut JavascriptParser<'_>, _stmt: &ForOfStmt, )

The return value will have no effect.

Source

fn can_rename( &self, _parser: &mut JavascriptParser<'_>, _str: &str, ) -> Option<bool>

Source

fn rename( &self, _parser: &mut JavascriptParser<'_>, _expr: &Expr, _str: &str, ) -> Option<bool>

Source

fn program( &self, _parser: &mut JavascriptParser<'_>, _ast: &Program, ) -> Option<bool>

Source

fn statement( &self, _parser: &mut JavascriptParser<'_>, _stmt: Statement<'_>, ) -> Option<bool>

Source

fn module_declaration( &self, _parser: &mut JavascriptParser<'_>, _decl: &ModuleDecl, ) -> Option<bool>

Source

fn block_pre_module_declaration( &self, _parser: &mut JavascriptParser<'_>, _decl: &ModuleDecl, ) -> Option<bool>

Return: None means continue this ModuleDecl Others means skip this.

This is similar hooks.block_pre_statement in webpack

Source

fn pre_declarator( &self, _parser: &mut JavascriptParser<'_>, _declarator: &VarDeclarator, _declaration: VariableDeclaration<'_>, ) -> Option<bool>

Source

fn evaluate<'a>( &self, _parser: &mut JavascriptParser<'_>, _expr: &'a Expr, ) -> Option<BasicEvaluatedExpression<'a>>

Source

fn evaluate_typeof<'a>( &self, _parser: &mut JavascriptParser<'_>, _expr: &'a UnaryExpr, _for_name: &str, ) -> Option<BasicEvaluatedExpression<'a>>

Source

fn evaluate_identifier( &self, _parser: &mut JavascriptParser<'_>, _for_name: &str, _start: u32, _end: u32, ) -> Option<BasicEvaluatedExpression<'static>>

Source

fn evaluate_call_expression_member<'a>( &self, _parser: &mut JavascriptParser<'_>, _property: &str, _expr: &'a CallExpr, _param: BasicEvaluatedExpression<'a>, ) -> Option<BasicEvaluatedExpression<'a>>

Source

fn can_collect_destructuring_assignment_properties( &self, _parser: &mut JavascriptParser<'_>, _expr: &Expr, ) -> Option<bool>

Source

fn pattern( &self, _parser: &mut JavascriptParser<'_>, _ident: &Ident, _for_name: &str, ) -> Option<bool>

Source

fn call( &self, _parser: &mut JavascriptParser<'_>, _expr: &CallExpr, _for_name: &str, ) -> Option<bool>

Source

fn call_member_chain( &self, _parser: &mut JavascriptParser<'_>, _expr: &CallExpr, _for_name: &str, _members: &[Atom], _members_optionals: &[bool], _member_ranges: &[Span], ) -> Option<bool>

Source

fn member( &self, _parser: &mut JavascriptParser<'_>, _expr: &MemberExpr, _for_name: &str, ) -> Option<bool>

Source

fn member_chain( &self, _parser: &mut JavascriptParser<'_>, _expr: &MemberExpr, _for_name: &str, _members: &[Atom], _members_optionals: &[bool], _member_ranges: &[Span], ) -> Option<bool>

Source

fn unhandled_expression_member_chain( &self, _parser: &mut JavascriptParser<'_>, _root_info: &ExportedVariableInfo, _expr: &MemberExpr, ) -> Option<bool>

Source

fn member_chain_of_call_member_chain( &self, _parser: &mut JavascriptParser<'_>, _member_expr: &MemberExpr, _callee_members: &[Atom], _call_expr: &CallExpr, _members: &[Atom], _member_ranges: &[Span], _for_name: &str, ) -> Option<bool>

Source

fn call_member_chain_of_call_member_chain( &self, _parser: &mut JavascriptParser<'_>, _call_expr: &CallExpr, _callee_members: &[Atom], _inner_call_expr: &CallExpr, _members: &[Atom], _member_ranges: &[Span], _for_name: &str, ) -> Option<bool>

Source

fn typeof( &self, _parser: &mut JavascriptParser<'_>, _expr: &UnaryExpr, _for_name: &str, ) -> Option<bool>

Source

fn expression_logical_operator( &self, _parser: &mut JavascriptParser<'_>, _expr: &BinExpr, ) -> Option<bool>

Return:

  • None means should walk left and right;
  • Some(true) means should walk right;
  • Some(false) means nothing need to do.
Source

fn binary_expression( &self, _parser: &mut JavascriptParser<'_>, _expr: &BinExpr, ) -> Option<bool>

Return:

  • None means should walk left and right;
Source

fn statement_if( &self, _parser: &mut JavascriptParser<'_>, _expr: &IfStmt, ) -> Option<bool>

Return:

  • None means need walk stmt.test, stmt.cons and stmt.alt;
  • Some(true) means only need walk stmt.cons;
  • Some(false) means only need walk stmt.alt;
Source

fn class_extends_expression( &self, _parser: &mut JavascriptParser<'_>, _super_class: &Expr, _class_decl_or_expr: ClassDeclOrExpr<'_>, ) -> Option<bool>

Source

fn class_body_element( &self, _parser: &mut JavascriptParser<'_>, _element: &ClassMember, _class_decl_or_expr: ClassDeclOrExpr<'_>, ) -> Option<bool>

Source

fn class_body_value( &self, _parser: &mut JavascriptParser<'_>, _element: &ClassMember, _expr_span: Span, _class_decl_or_expr: ClassDeclOrExpr<'_>, ) -> Option<bool>

Source

fn declarator( &self, _parser: &mut JavascriptParser<'_>, _expr: &VarDeclarator, _stmt: VariableDeclaration<'_>, ) -> Option<bool>

Source

fn new_expression( &self, _parser: &mut JavascriptParser<'_>, _expr: &NewExpr, _for_name: &str, ) -> Option<bool>

Source

fn identifier( &self, _parser: &mut JavascriptParser<'_>, _ident: &Ident, _for_name: &str, ) -> Option<bool>

Source

fn this( &self, _parser: &mut JavascriptParser<'_>, _expr: &ThisExpr, _for_name: &str, ) -> Option<bool>

Source

fn assign( &self, _parser: &mut JavascriptParser<'_>, _expr: &AssignExpr, _for_name: &str, ) -> Option<bool>

Source

fn assign_member_chain( &self, _parser: &mut JavascriptParser<'_>, _expr: &AssignExpr, _members: &[Atom], _for_name: &str, ) -> Option<bool>

Source

fn import_call( &self, _parser: &mut JavascriptParser<'_>, _expr: &CallExpr, _import_then: Option<&CallExpr>, ) -> Option<bool>

Source

fn meta_property( &self, _parser: &mut JavascriptParser<'_>, _root_name: &Atom, _span: Span, ) -> Option<bool>

Source

fn import( &self, _parser: &mut JavascriptParser<'_>, _statement: &ImportDecl, _source: &str, ) -> Option<bool>

Source

fn import_specifier( &self, _parser: &mut JavascriptParser<'_>, _statement: &ImportDecl, _source: &Atom, _export_name: Option<&Atom>, _identifier_name: &Atom, ) -> Option<bool>

Source

fn export_import( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportImport<'_>, _source: &Atom, ) -> Option<bool>

Source

fn export( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportLocal<'_>, ) -> Option<bool>

Source

fn export_import_specifier( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportImport<'_>, _source: &Atom, _local_id: Option<&Atom>, _export_name: Option<&Atom>, _export_name_span: Option<Span>, ) -> Option<bool>

Source

fn export_specifier( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportLocal<'_>, _local_id: &Atom, _export_name: &Atom, _export_name_span: Span, ) -> Option<bool>

Source

fn export_expression( &self, _parser: &mut JavascriptParser<'_>, _statement: ExportDefaultDeclaration<'_>, _expr: ExportDefaultExpression<'_>, ) -> Option<bool>

Source

fn optional_chaining( &self, _parser: &mut JavascriptParser<'_>, _expr: &OptChainExpr, ) -> Option<bool>

Source

fn expression_conditional_operation( &self, _parser: &mut JavascriptParser<'_>, _expr: &CondExpr, ) -> Option<bool>

Source

fn finish(&self, _parser: &mut JavascriptParser<'_>) -> Option<bool>

Source

fn is_pure( &self, _parser: &mut JavascriptParser<'_>, _expr: &Expr, ) -> Option<bool>

Implementors§