func parse_members_source(source: String) -> ParseOutcomeParse a whole input as nominal-body members (ADR 0026): the grammar struct and extension bodies use, so a macro expansion spliced into a declaration body yields member declarations — methods, not plain functions.
View Source
pub func parse_members_source(source: String) -> ParseOutcome {
let result = scan(source: source)
let comments = result.comments
let parser = scan_parser(source: source, result: result)
parser.skip_semicolons_and_newlines()
loop parser.current().kind != .eof {
if parser.is_failed() { break }
let item = parser.decl(context: .struct_body, is_static: false)
if parser.is_failed() { break }
parser.items.push(item)
parser.skip_semicolons_and_newlines()
}
parser.finish(comments: comments)
}