refactor(paresr): move some structs to js module (#3341)

This commit is contained in:
Boshen 2024-05-18 14:41:32 +00:00
parent 9ced605487
commit 6b3d019631
6 changed files with 33 additions and 35 deletions

View file

@ -5,23 +5,7 @@ use oxc_span::{GetSpan, Span};
use crate::{diagnostics, lexer::Kind, ParserImpl, StatementContext}; use crate::{diagnostics, lexer::Kind, ParserImpl, StatementContext};
#[derive(Clone, Debug, Copy, Eq, PartialEq)] use super::{VariableDeclarationContext, VariableDeclarationParent};
pub enum VariableDeclarationParent {
For,
Statement,
Clause,
}
#[derive(Clone, Debug, Copy, Eq, PartialEq)]
pub struct VariableDeclarationContext {
pub parent: VariableDeclarationParent,
}
impl VariableDeclarationContext {
pub(crate) fn new(parent: VariableDeclarationParent) -> Self {
Self { parent }
}
}
impl<'a> ParserImpl<'a> { impl<'a> ParserImpl<'a> {
pub(crate) fn parse_let(&mut self, stmt_ctx: StatementContext) -> Result<Statement<'a>> { pub(crate) fn parse_let(&mut self, stmt_ctx: StatementContext) -> Result<Statement<'a>> {

View file

@ -5,16 +5,9 @@ use oxc_ast::ast::*;
use oxc_diagnostics::Result; use oxc_diagnostics::Result;
use oxc_span::Span; use oxc_span::Span;
use super::list::FormalParameterList;
use crate::{diagnostics, lexer::Kind, list::SeparatedList, Context, ParserImpl, StatementContext}; use crate::{diagnostics, lexer::Kind, list::SeparatedList, Context, ParserImpl, StatementContext};
#[derive(Debug, Clone, Copy, Eq, PartialEq)] use super::{list::FormalParameterList, FunctionKind};
pub enum FunctionKind {
Declaration { single_statement: bool },
Expression,
DefaultExport,
TSDeclaration,
}
impl FunctionKind { impl FunctionKind {
pub(crate) fn is_id_required(self) -> bool { pub(crate) fn is_id_required(self) -> bool {

View file

@ -8,9 +8,9 @@ pub mod list;
mod arrow; mod arrow;
mod binding; mod binding;
mod class; mod class;
pub mod declaration; mod declaration;
mod expression; mod expression;
pub mod function; mod function;
mod module; mod module;
mod object; mod object;
mod operator; mod operator;
@ -22,3 +22,29 @@ pub enum Tristate {
False, False,
Maybe, Maybe,
} }
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
pub enum FunctionKind {
Declaration { single_statement: bool },
Expression,
DefaultExport,
TSDeclaration,
}
#[derive(Clone, Debug, Copy, Eq, PartialEq)]
pub enum VariableDeclarationParent {
For,
Statement,
Clause,
}
#[derive(Clone, Debug, Copy, Eq, PartialEq)]
pub struct VariableDeclarationContext {
pub parent: VariableDeclarationParent,
}
impl VariableDeclarationContext {
pub(crate) fn new(parent: VariableDeclarationParent) -> Self {
Self { parent }
}
}

View file

@ -4,8 +4,8 @@ use oxc_diagnostics::Result;
use oxc_span::Span; use oxc_span::Span;
use super::{ use super::{
function::FunctionKind,
list::{AssertEntries, ExportNamedSpecifiers, ImportSpecifierList}, list::{AssertEntries, ExportNamedSpecifiers, ImportSpecifierList},
FunctionKind,
}; };
use crate::{diagnostics, lexer::Kind, list::SeparatedList, Context, ParserImpl}; use crate::{diagnostics, lexer::Kind, list::SeparatedList, Context, ParserImpl};

View file

@ -4,9 +4,7 @@ use oxc_diagnostics::Result;
use oxc_span::{Atom, GetSpan, Span}; use oxc_span::{Atom, GetSpan, Span};
use super::{ use super::{
declaration::{VariableDeclarationContext, VariableDeclarationParent}, grammar::CoverGrammar, list::SwitchCases, VariableDeclarationContext, VariableDeclarationParent,
grammar::CoverGrammar,
list::SwitchCases,
}; };
use crate::{diagnostics, lexer::Kind, list::NormalList, Context, ParserImpl, StatementContext}; use crate::{diagnostics, lexer::Kind, list::NormalList, Context, ParserImpl, StatementContext};

View file

@ -8,10 +8,7 @@ use super::{
types::ModifierFlags, types::ModifierFlags,
}; };
use crate::{ use crate::{
js::{ js::{FunctionKind, VariableDeclarationContext, VariableDeclarationParent},
declaration::{VariableDeclarationContext, VariableDeclarationParent},
function::FunctionKind,
},
lexer::Kind, lexer::Kind,
list::{NormalList, SeparatedList}, list::{NormalList, SeparatedList},
ParserImpl, StatementContext, ParserImpl, StatementContext,