diff options
| author | Nicholas Nethercote <nnethercote@mozilla.com> | 2019-06-01 07:24:51 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <nnethercote@mozilla.com> | 2019-06-05 07:43:14 +1000 |
| commit | 7bec8c94b47054c09e01564e478f044850fbf178 (patch) | |
| tree | 583998181e085a9e2a26e107d0600e67821da0a0 | |
| parent | 0ba36ea7c1d67d852b5f68a186c338ac8e54c7fc (diff) | |
| download | rust-7bec8c94b47054c09e01564e478f044850fbf178.tar.gz rust-7bec8c94b47054c09e01564e478f044850fbf178.zip | |
Add `HygieneData::default_transparency`.
Also use `HygieneData::expn_info` in an appropriate place.
| -rw-r--r-- | src/libsyntax_pos/hygiene.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libsyntax_pos/hygiene.rs b/src/libsyntax_pos/hygiene.rs index c23d27879f7..1f09bb1df71 100644 --- a/src/libsyntax_pos/hygiene.rs +++ b/src/libsyntax_pos/hygiene.rs @@ -98,7 +98,7 @@ impl Mark { #[inline] pub fn expn_info(self) -> Option<ExpnInfo> { - HygieneData::with(|data| data.marks[self.0 as usize].expn_info.clone()) + HygieneData::with(|data| data.expn_info(self)) } #[inline] @@ -214,6 +214,10 @@ impl HygieneData { true } + fn default_transparency(&self, mark: Mark) -> Transparency { + self.marks[mark.0 as usize].default_transparency + } + fn modern(&self, ctxt: SyntaxContext) -> SyntaxContext { self.syntax_contexts[ctxt.0 as usize].opaque } @@ -287,7 +291,7 @@ impl SyntaxContext { pub fn apply_mark(self, mark: Mark) -> SyntaxContext { assert_ne!(mark, Mark::root()); self.apply_mark_with_transparency( - mark, HygieneData::with(|data| data.marks[mark.0 as usize].default_transparency) + mark, HygieneData::with(|data| data.default_transparency(mark)) ) } |
