commit aa09e7b63995639084d25329954b1972a72ad12d (tree)
parent 3b80e665074cd56d9e24fb8ae0fb9d86e8cd841a
Author: Jimmi Holst Christensen <jhc@liab.dk>
Date: Tue, 10 Apr 2018 15:01:21 +0200
std.zig.tokinizer now treats string identifiers as identifiers
Diffstat:
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/std/zig/parser.zig b/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 {}
+ \\
+ );
+}
diff --git a/std/zig/tokenizer.zig b/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,