diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2015-08-27 05:41:53 +0530 |
|---|---|---|
| committer | Manish Goregaokar <manishsmail@gmail.com> | 2015-08-28 03:37:13 +0530 |
| commit | 25cbb4385ee58804cb2483af56d1333fbee6e27d (patch) | |
| tree | 9a74f5e9796a15356f53fc9b66ec2b642e46e395 /src/libsyntax/codemap.rs | |
| parent | 4ec7b713dd2de43f4b0b03d33271f9c7dbb56d1c (diff) | |
| download | rust-25cbb4385ee58804cb2483af56d1333fbee6e27d.tar.gz rust-25cbb4385ee58804cb2483af56d1333fbee6e27d.zip | |
Move ExpnInfo to Name
Diffstat (limited to 'src/libsyntax/codemap.rs')
| -rw-r--r-- | src/libsyntax/codemap.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs index ce2adccbfc3..e07cd7b5847 100644 --- a/src/libsyntax/codemap.rs +++ b/src/libsyntax/codemap.rs @@ -29,6 +29,8 @@ use std::io::{self, Read}; use serialize::{Encodable, Decodable, Encoder, Decoder}; +use parse::token::intern; +use ast::Name; // _____________________________________________________________________________ // Pos, BytePos, CharPos @@ -260,9 +262,9 @@ pub struct FileMapAndBytePos { pub fm: Rc<FileMap>, pub pos: BytePos } #[derive(Clone, Hash, Debug, PartialEq, Eq)] pub enum ExpnFormat { /// e.g. #[derive(...)] <item> - MacroAttribute(String), + MacroAttribute(Name), /// e.g. `format!()` - MacroBang(String), + MacroBang(Name), /// Syntax sugar expansion performed by the compiler (libsyntax::expand). CompilerExpansion(CompilerExpansionFormat), } @@ -302,13 +304,13 @@ pub struct NameAndSpan { } impl NameAndSpan { - pub fn name(&self) -> &str{ + pub fn name(&self) -> Name { match self.format { - ExpnFormat::MacroAttribute(ref s) => &s, - ExpnFormat::MacroBang(ref s) => &s, - ExpnFormat::CompilerExpansion(ce) => ce.name(), + ExpnFormat::MacroAttribute(s) => s, + ExpnFormat::MacroBang(s) => s, + ExpnFormat::CompilerExpansion(ce) => intern(ce.name()), } - } + } } /// Extra information for tracking spans of macro and syntax sugar expansion |
