summary refs log tree commit diff
path: root/src/libsyntax/parse/token.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-01-09 14:12:28 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-01-10 10:37:22 -0800
commit982830c836b8c2c9cb3fd311c826bf5775ad1232 (patch)
tree212ecef83162bda78cf6e94bc42e2cd0c603387a /src/libsyntax/parse/token.rs
parent61210e01f97c304dece415c915458c3ad5db8973 (diff)
downloadrust-982830c836b8c2c9cb3fd311c826bf5775ad1232.tar.gz
rust-982830c836b8c2c9cb3fd311c826bf5775ad1232.zip
librustc: Allow the type parameter version of `Self` to be spelled with a capital S
Diffstat (limited to 'src/libsyntax/parse/token.rs')
-rw-r--r--src/libsyntax/parse/token.rs47
1 files changed, 38 insertions, 9 deletions
diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs
index 606247b8cbe..93c03063623 100644
--- a/src/libsyntax/parse/token.rs
+++ b/src/libsyntax/parse/token.rs
@@ -340,6 +340,7 @@ mod special_idents {
     const clownshoes_foreign_mod: ident = ident { repr: 33 };
     const unnamed_field: ident = ident { repr: 34 };
     const c_abi: ident = ident { repr: 35 };
+    const type_self: ident = ident { repr: 36 };    // `Self`
 }
 
 struct ident_interner {
@@ -379,15 +380,43 @@ fn mk_ident_interner() -> @ident_interner {
                 // the indices here must correspond to the numbers in
                 // special_idents.
                 let init_vec = ~[
-                    @~"_", @~"anon", @~"drop", @~"", @~"unary", @~"!",
-                    @~"[]", @~"unary-", @~"__extensions__", @~"self",
-                    @~"item", @~"block", @~"stmt", @~"pat", @~"expr",
-                    @~"ty", @~"ident", @~"path", @~"tt", @~"matchers",
-                    @~"str", @~"TyVisitor", @~"arg", @~"descrim",
-                    @~"__rust_abi", @~"__rust_stack_shim", @~"TyDesc",
-                    @~"dtor", @~"main", @~"<opaque>", @~"blk", @~"static",
-                    @~"intrinsic", @~"__foreign_mod__", @~"__field__",
-                    @~"C"
+                    @~"_",                  // 0
+                    @~"anon",               // 1
+                    @~"drop",               // 2
+                    @~"",                   // 3
+                    @~"unary",              // 4
+                    @~"!",                  // 5
+                    @~"[]",                 // 6
+                    @~"unary-",             // 7
+                    @~"__extensions__",     // 8
+                    @~"self",               // 9
+                    @~"item",               // 10
+                    @~"block",              // 11
+                    @~"stmt",               // 12
+                    @~"pat",                // 13
+                    @~"expr",               // 14
+                    @~"ty",                 // 15
+                    @~"ident",              // 16
+                    @~"path",               // 17
+                    @~"tt",                 // 18
+                    @~"matchers",           // 19
+                    @~"str",                // 20
+                    @~"TyVisitor",          // 21
+                    @~"arg",                // 22
+                    @~"descrim",            // 23
+                    @~"__rust_abi",         // 24
+                    @~"__rust_stack_shim",  // 25
+                    @~"TyDesc",             // 26
+                    @~"dtor",               // 27
+                    @~"main",               // 28
+                    @~"<opaque>",           // 29
+                    @~"blk",                // 30
+                    @~"static",             // 31
+                    @~"intrinsic",          // 32
+                    @~"__foreign_mod__",    // 33
+                    @~"__field__",          // 34
+                    @~"C",                  // 35
+                    @~"Self",               // 36
                 ];
 
                 let rv = @ident_interner {