diff options
Diffstat (limited to 'crates/ra_hir/src/path.rs')
-rw-r--r-- | crates/ra_hir/src/path.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/crates/ra_hir/src/path.rs b/crates/ra_hir/src/path.rs index 9fdfa0d13..dcf4cf8b6 100644 --- a/crates/ra_hir/src/path.rs +++ b/crates/ra_hir/src/path.rs | |||
@@ -65,6 +65,11 @@ impl Path { | |||
65 | } | 65 | } |
66 | } | 66 | } |
67 | 67 | ||
68 | /// Converts an `ast::NameRef` into a single-identifier `Path`. | ||
69 | pub fn from_name_ref(name_ref: ast::NameRef) -> Path { | ||
70 | name_ref.as_name().into() | ||
71 | } | ||
72 | |||
68 | /// `true` is this path is a single identifier, like `foo` | 73 | /// `true` is this path is a single identifier, like `foo` |
69 | pub fn is_ident(&self) -> bool { | 74 | pub fn is_ident(&self) -> bool { |
70 | self.kind == PathKind::Plain && self.segments.len() == 1 | 75 | self.kind == PathKind::Plain && self.segments.len() == 1 |
@@ -84,6 +89,15 @@ impl Path { | |||
84 | } | 89 | } |
85 | } | 90 | } |
86 | 91 | ||
92 | impl From<Name> for Path { | ||
93 | fn from(name: Name) -> Path { | ||
94 | Path { | ||
95 | kind: PathKind::Plain, | ||
96 | segments: vec![name], | ||
97 | } | ||
98 | } | ||
99 | } | ||
100 | |||
87 | fn expand_use_tree( | 101 | fn expand_use_tree( |
88 | prefix: Option<Path>, | 102 | prefix: Option<Path>, |
89 | tree: ast::UseTree, | 103 | tree: ast::UseTree, |