Commit aa09e7b639

Jimmi Holst Christensen <jhc@liab.dk>
2018-04-10 15:01:21
std.zig.tokinizer now treats string identifiers as identifiers
1 parent 3b80e66
Changed files (2)
std/zig/parser.zig
@@ -5041,3 +5041,11 @@ test "zig fmt: use" {
         \\
     );
 }
+
+test "zig fmt: string identifier" {
+    try testCanonical(
+        \\const @"a b" = @"c d".@"e f";
+        \\fn @"g h"() void {}
+        \\
+    );
+}
std/zig/tokenizer.zig
@@ -78,7 +78,6 @@ pub const Token = struct {
         StringLiteral: StrLitKind,
         MultilineStringLiteralLine: StrLitKind,
         CharLiteral,
-        StringIdentifier,
         Eof,
         Builtin,
         Bang,
@@ -434,7 +433,7 @@ pub const Tokenizer = struct {
 
                 State.SawAtSign => switch (c) {
                     '"' => {
-                        result.id = Token.Id.StringIdentifier;
+                        result.id = Token.Id.Identifier;
                         state = State.StringLiteral;
                     },
                     else => {
@@ -1136,7 +1135,7 @@ test "tokenizer - string identifier and builtin fns" {
     ,
         []Token.Id{
             Token.Id.Keyword_const,
-            Token.Id.StringIdentifier,
+            Token.Id.Identifier,
             Token.Id.Equal,
             Token.Id.Builtin,
             Token.Id.LParen,