| David Tolnay | dd26bd0 | 2020-09-06 23:00:17 -0700 | [diff] [blame^] | 1 | use syn::parse::{ParseStream, Result}; |
| 2 | use syn::{Ident, Path}; | ||||
| 3 | |||||
| 4 | pub struct QualifiedName { | ||||
| 5 | pub segments: Vec<Ident>, | ||||
| 6 | } | ||||
| 7 | |||||
| 8 | impl QualifiedName { | ||||
| 9 | pub fn parse_unquoted(input: ParseStream) -> Result<Self> { | ||||
| 10 | let path = input.call(Path::parse_mod_style)?; | ||||
| 11 | let mut segments = Vec::with_capacity(path.segments.len()); | ||||
| 12 | for segment in path.segments { | ||||
| 13 | segments.push(segment.ident); | ||||
| 14 | } | ||||
| 15 | Ok(QualifiedName { segments }) | ||||
| 16 | } | ||||
| 17 | } | ||||