Simplify
This commit is contained in:
parent
d3cc3bc00e
commit
0dbde71159
@ -75,7 +75,7 @@ macro_rules! eprintln {
|
||||
#[derive(Debug, PartialEq, Eq)]
|
||||
pub struct Parse<T> {
|
||||
green: GreenNode,
|
||||
errors: Arc<Vec<SyntaxError>>,
|
||||
errors: Arc<[SyntaxError]>,
|
||||
_ty: PhantomData<fn() -> T>,
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ fn clone(&self) -> Parse<T> {
|
||||
|
||||
impl<T> Parse<T> {
|
||||
fn new(green: GreenNode, errors: Vec<SyntaxError>) -> Parse<T> {
|
||||
Parse { green, errors: Arc::new(errors), _ty: PhantomData }
|
||||
Parse { green, errors: errors.into(), _ty: PhantomData }
|
||||
}
|
||||
|
||||
pub fn syntax_node(&self) -> SyntaxNode {
|
||||
@ -107,7 +107,7 @@ pub fn tree(&self) -> T {
|
||||
T::cast(self.syntax_node()).unwrap()
|
||||
}
|
||||
|
||||
pub fn ok(self) -> Result<T, Arc<Vec<SyntaxError>>> {
|
||||
pub fn ok(self) -> Result<T, Arc<[SyntaxError]>> {
|
||||
if self.errors.is_empty() {
|
||||
Ok(self.tree())
|
||||
} else {
|
||||
@ -144,7 +144,7 @@ fn incremental_reparse(&self, indel: &Indel) -> Option<Parse<SourceFile>> {
|
||||
parsing::incremental_reparse(self.tree().syntax(), indel, self.errors.to_vec()).map(
|
||||
|(green_node, errors, _reparsed_range)| Parse {
|
||||
green: green_node,
|
||||
errors: Arc::new(errors),
|
||||
errors: errors.into(),
|
||||
_ty: PhantomData,
|
||||
},
|
||||
)
|
||||
@ -168,7 +168,7 @@ pub fn parse(text: &str) -> Parse<SourceFile> {
|
||||
errors.extend(validation::validate(&root));
|
||||
|
||||
assert_eq!(root.kind(), SyntaxKind::SOURCE_FILE);
|
||||
Parse { green, errors: Arc::new(errors), _ty: PhantomData }
|
||||
Parse { green, errors: errors.into(), _ty: PhantomData }
|
||||
}
|
||||
}
|
||||
|
||||
@ -275,7 +275,7 @@ pub fn reparse_as_comma_separated_expr(self) -> Parse<ast::MacroEagerInput> {
|
||||
|
||||
let (green, errors) = builder.finish_raw();
|
||||
|
||||
Parse { green, errors: Arc::new(errors), _ty: PhantomData }
|
||||
Parse { green, errors: errors.into(), _ty: PhantomData }
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user