test(parser): some adjustments after rebase with @ktorz fix
This commit is contained in:
parent
b25db429be
commit
47567c5e6f
|
@ -24,7 +24,7 @@ pub fn module(
|
||||||
) -> Result<(ast::UntypedModule, ModuleExtra), Vec<ParseError>> {
|
) -> Result<(ast::UntypedModule, ModuleExtra), Vec<ParseError>> {
|
||||||
let lexer::LexInfo { tokens, extra } = lexer::run(src)?;
|
let lexer::LexInfo { tokens, extra } = lexer::run(src)?;
|
||||||
|
|
||||||
let stream = chumsky::Stream::from_iter(ast::Span::create(tokens.len()), tokens.into_iter());
|
let stream = chumsky::Stream::from_iter(ast::Span::create(tokens.len(), 1), tokens.into_iter());
|
||||||
|
|
||||||
let definitions = definition().repeated().then_ignore(end()).parse(stream)?;
|
let definitions = definition().repeated().then_ignore(end()).parse(stream)?;
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@ macro_rules! assert_expr {
|
||||||
|
|
||||||
let $crate::parser::lexer::LexInfo { tokens, .. } = $crate::parser::lexer::run(indoc::indoc! { $code }).unwrap();
|
let $crate::parser::lexer::LexInfo { tokens, .. } = $crate::parser::lexer::run(indoc::indoc! { $code }).unwrap();
|
||||||
|
|
||||||
let stream = chumsky::Stream::from_iter($crate::ast::Span::create(tokens.len()), tokens.into_iter());
|
let stream = chumsky::Stream::from_iter($crate::ast::Span::create(tokens.len(), 1), tokens.into_iter());
|
||||||
|
|
||||||
let result = $crate::parser::expr::sequence().parse(stream).unwrap();
|
let result = $crate::parser::expr::sequence().parse(stream).unwrap();
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ macro_rules! assert_annotation {
|
||||||
|
|
||||||
let $crate::parser::lexer::LexInfo { tokens, .. } = $crate::parser::lexer::run(indoc::indoc! { $code }).unwrap();
|
let $crate::parser::lexer::LexInfo { tokens, .. } = $crate::parser::lexer::run(indoc::indoc! { $code }).unwrap();
|
||||||
|
|
||||||
let stream = chumsky::Stream::from_iter($crate::ast::Span::create(tokens.len()), tokens.into_iter());
|
let stream = chumsky::Stream::from_iter($crate::ast::Span::create(tokens.len(), 1), tokens.into_iter());
|
||||||
|
|
||||||
let result = $crate::parser::annotation().parse(stream).unwrap();
|
let result = $crate::parser::annotation().parse(stream).unwrap();
|
||||||
|
|
||||||
|
@ -159,7 +159,7 @@ macro_rules! assert_definition {
|
||||||
|
|
||||||
let $crate::parser::lexer::LexInfo { tokens, .. } = $crate::parser::lexer::run(indoc::indoc! { $code }).unwrap();
|
let $crate::parser::lexer::LexInfo { tokens, .. } = $crate::parser::lexer::run(indoc::indoc! { $code }).unwrap();
|
||||||
|
|
||||||
let stream = chumsky::Stream::from_iter($crate::ast::Span::create(tokens.len()), tokens.into_iter());
|
let stream = chumsky::Stream::from_iter($crate::ast::Span::create(tokens.len(), 1), tokens.into_iter());
|
||||||
|
|
||||||
let result = $crate::parser::definition().parse(stream).unwrap();
|
let result = $crate::parser::definition().parse(stream).unwrap();
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
---
|
||||||
|
source: crates/aiken-lang/src/tests/parser.rs
|
||||||
|
description: "Code:\n\nfn foo() {\n let x = \"★\"\n x\n}\n"
|
||||||
|
---
|
||||||
|
Module {
|
||||||
|
name: "",
|
||||||
|
docs: [],
|
||||||
|
type_info: (),
|
||||||
|
definitions: [
|
||||||
|
Fn(
|
||||||
|
Function {
|
||||||
|
arguments: [],
|
||||||
|
body: Sequence {
|
||||||
|
location: 13..30,
|
||||||
|
expressions: [
|
||||||
|
Assignment {
|
||||||
|
location: 13..26,
|
||||||
|
value: ByteArray {
|
||||||
|
location: 21..26,
|
||||||
|
bytes: [
|
||||||
|
226,
|
||||||
|
152,
|
||||||
|
133,
|
||||||
|
],
|
||||||
|
preferred_format: Utf8String,
|
||||||
|
},
|
||||||
|
pattern: Var {
|
||||||
|
location: 17..18,
|
||||||
|
name: "x",
|
||||||
|
},
|
||||||
|
kind: Let,
|
||||||
|
annotation: None,
|
||||||
|
},
|
||||||
|
Var {
|
||||||
|
location: 29..30,
|
||||||
|
name: "x",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
doc: None,
|
||||||
|
location: 0..8,
|
||||||
|
name: "foo",
|
||||||
|
public: false,
|
||||||
|
return_annotation: None,
|
||||||
|
return_type: (),
|
||||||
|
end_position: 31,
|
||||||
|
can_error: true,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
kind: Validator,
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
---
|
||||||
|
source: crates/aiken-lang/src/tests/parser.rs
|
||||||
|
description: "Code:\n\nfn foo() {\n let x = \"*\"\n x\n}\n"
|
||||||
|
---
|
||||||
|
Module {
|
||||||
|
name: "",
|
||||||
|
docs: [],
|
||||||
|
type_info: (),
|
||||||
|
definitions: [
|
||||||
|
Fn(
|
||||||
|
Function {
|
||||||
|
arguments: [],
|
||||||
|
body: Sequence {
|
||||||
|
location: 13..28,
|
||||||
|
expressions: [
|
||||||
|
Assignment {
|
||||||
|
location: 13..24,
|
||||||
|
value: ByteArray {
|
||||||
|
location: 21..24,
|
||||||
|
bytes: [
|
||||||
|
42,
|
||||||
|
],
|
||||||
|
preferred_format: Utf8String,
|
||||||
|
},
|
||||||
|
pattern: Var {
|
||||||
|
location: 17..18,
|
||||||
|
name: "x",
|
||||||
|
},
|
||||||
|
kind: Let,
|
||||||
|
annotation: None,
|
||||||
|
},
|
||||||
|
Var {
|
||||||
|
location: 27..28,
|
||||||
|
name: "x",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
doc: None,
|
||||||
|
location: 0..8,
|
||||||
|
name: "foo",
|
||||||
|
public: false,
|
||||||
|
return_annotation: None,
|
||||||
|
return_type: (),
|
||||||
|
end_position: 29,
|
||||||
|
can_error: true,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
kind: Validator,
|
||||||
|
}
|
Loading…
Reference in New Issue