mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-23 02:24:08 +00:00
Add ast::Expr::parse
This commit is contained in:
parent
c4573b26f6
commit
e989f22015
2 changed files with 32 additions and 0 deletions
|
@ -18,6 +18,15 @@ pub(crate) fn parse_text(text: &str, edition: parser::Edition) -> (GreenNode, Ve
|
|||
(node, errors)
|
||||
}
|
||||
|
||||
pub(crate) fn parse_text_at(text: &str, entry: parser::TopEntryPoint, edition: parser::Edition) -> (GreenNode, Vec<SyntaxError>) {
|
||||
let _p = tracing::span!(tracing::Level::INFO, "parse_text_at").entered();
|
||||
let lexed = parser::LexedStr::new(text);
|
||||
let parser_input = lexed.to_input();
|
||||
let parser_output = entry.parse(&parser_input, edition);
|
||||
let (node, errors, _eof) = build_tree(lexed, parser_output);
|
||||
(node, errors)
|
||||
}
|
||||
|
||||
pub(crate) fn build_tree(
|
||||
lexed: parser::LexedStr<'_>,
|
||||
parser_output: parser::Output,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue