about summary refs log tree commit diff
path: root/src/libsyntax_pos
diff options
context:
space:
mode:
authorNicholas Nethercote <nnethercote@mozilla.com>2019-06-02 08:35:37 +1000
committerNicholas Nethercote <nnethercote@mozilla.com>2019-06-05 07:43:14 +1000
commit58a486928e4bf78cc33aaae43ad835eb482b14f1 (patch)
tree6106357e4c6b005637d9840bafc47daecdf3e1bc /src/libsyntax_pos
parent4527a868d6e8bac66a9115bb581686ce71b710aa (diff)
downloadrust-58a486928e4bf78cc33aaae43ad835eb482b14f1.tar.gz
rust-58a486928e4bf78cc33aaae43ad835eb482b14f1.zip
Add `HygieneData::apply_mark`.
This combines two `HygieneData::with` calls into one.
Diffstat (limited to 'src/libsyntax_pos')
-rw-r--r--src/libsyntax_pos/hygiene.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libsyntax_pos/hygiene.rs b/src/libsyntax_pos/hygiene.rs
index f3b0937701e..ff17256b732 100644
--- a/src/libsyntax_pos/hygiene.rs
+++ b/src/libsyntax_pos/hygiene.rs
@@ -265,6 +265,11 @@ impl HygieneData {
         scope
     }
 
+    fn apply_mark(&mut self, ctxt: SyntaxContext, mark: Mark) -> SyntaxContext {
+        assert_ne!(mark, Mark::root());
+        self.apply_mark_with_transparency(ctxt, mark, self.default_transparency(mark))
+    }
+
     fn apply_mark_with_transparency(&mut self, ctxt: SyntaxContext, mark: Mark,
                                     transparency: Transparency) -> SyntaxContext {
         assert_ne!(mark, Mark::root());
@@ -407,10 +412,7 @@ impl SyntaxContext {
 
     /// Extend a syntax context with a given mark and default transparency for that mark.
     pub fn apply_mark(self, mark: Mark) -> SyntaxContext {
-        assert_ne!(mark, Mark::root());
-        self.apply_mark_with_transparency(
-            mark, HygieneData::with(|data| data.default_transparency(mark))
-        )
+        HygieneData::with(|data| data.apply_mark(self, mark))
     }
 
     /// Extend a syntax context with a given mark and transparency