Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/tt/src/buffer.rs')
-rw-r--r--crates/tt/src/buffer.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/crates/tt/src/buffer.rs b/crates/tt/src/buffer.rs
index cd41af03c6..1319739371 100644
--- a/crates/tt/src/buffer.rs
+++ b/crates/tt/src/buffer.rs
@@ -134,6 +134,15 @@ pub enum TokenTreeRef<'a, Span> {
Leaf(&'a Leaf<Span>, &'a TokenTree<Span>),
}
+impl<'a, Span: Copy> TokenTreeRef<'a, Span> {
+ pub fn span(&self) -> Span {
+ match self {
+ TokenTreeRef::Subtree(subtree, _) => subtree.delimiter.open,
+ TokenTreeRef::Leaf(leaf, _) => *leaf.span(),
+ }
+ }
+}
+
impl<Span: Clone> TokenTreeRef<'_, Span> {
pub fn cloned(&self) -> TokenTree<Span> {
match self {