about summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-12-01 22:49:32 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-12-18 23:26:31 +0000
commit745ddf2aa78e4515d6a41e34a301d97afbde33ba (patch)
tree5c2a337c30fe17acf2d31dc3fa44e03764148877 /src/libsyntax/ext
parent6f040b48ef3f8bce0706d838f5672ca8a3e07880 (diff)
downloadrust-745ddf2aa78e4515d6a41e34a301d97afbde33ba.tar.gz
rust-745ddf2aa78e4515d6a41e34a301d97afbde33ba.zip
Refactor out `mark.as_placeholder_id()`.
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/expand.rs8
-rw-r--r--src/libsyntax/ext/hygiene.rs6
2 files changed, 9 insertions, 5 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index e6782884f38..5d62175fbf2 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -275,7 +275,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
             if expansions.len() < depth {
                 expansions.push(Vec::new());
             }
-            expansions[depth - 1].push((mark.as_u32(), expansion));
+            expansions[depth - 1].push((mark, expansion));
             if !self.cx.ecfg.single_step {
                 invocations.extend(new_invocations.into_iter().rev());
             }
@@ -286,7 +286,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
         let mut placeholder_expander = PlaceholderExpander::new(self.cx, self.monotonic);
         while let Some(expansions) = expansions.pop() {
             for (mark, expansion) in expansions.into_iter().rev() {
-                placeholder_expander.add(ast::NodeId::from_u32(mark), expansion);
+                placeholder_expander.add(mark.as_placeholder_id(), expansion);
             }
         }
 
@@ -586,7 +586,7 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
                 ..self.cx.current_expansion.clone()
             },
         });
-        placeholder(expansion_kind, ast::NodeId::from_u32(mark.as_u32()))
+        placeholder(expansion_kind, mark.as_placeholder_id())
     }
 
     fn collect_bang(&mut self, mac: ast::Mac, span: Span, kind: ExpansionKind) -> Expansion {
@@ -748,7 +748,7 @@ impl<'a, 'b> Folder for InvocationCollector<'a, 'b> {
 
                 item.and_then(|mut item| match item.node {
                     ItemKind::Mac(_) if is_macro_def => {
-                        item.id = ast::NodeId::from_u32(Mark::fresh().as_u32());
+                        item.id = Mark::fresh().as_placeholder_id();
                         SmallVector::one(P(item))
                     }
                     ItemKind::Mac(mac) => {
diff --git a/src/libsyntax/ext/hygiene.rs b/src/libsyntax/ext/hygiene.rs
index 8842cb55b1e..2af5c2ea999 100644
--- a/src/libsyntax/ext/hygiene.rs
+++ b/src/libsyntax/ext/hygiene.rs
@@ -51,7 +51,11 @@ impl Mark {
         Mark(id.as_u32())
     }
 
-    pub fn as_u32(&self) -> u32 {
+    pub fn as_placeholder_id(self) -> NodeId {
+        NodeId::from_u32(self.0)
+    }
+
+    pub fn as_u32(self) -> u32 {
         self.0
     }
 }