diff options
author | 星外之神 <wszqkzqk@qq.com> | 2022-10-28 23:47:56 +0800 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2022-10-30 16:11:11 +0100 |
commit | 3c3ee793b499be959b3ed7f1f74014713382a438 (patch) | |
tree | feb077276aa853d7d7d05659e4689c24a6f231cd /vala/valaparser.vala | |
parent | 2b69b8accac817f23bd51ca41d14deec131d83c5 (diff) | |
download | vala-3c3ee793b499be959b3ed7f1f74014713382a438.tar.gz |
vala: Add support for verbatim template string
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1373
Diffstat (limited to 'vala/valaparser.vala')
-rw-r--r-- | vala/valaparser.vala | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vala/valaparser.vala b/vala/valaparser.vala index f703e9c86..23b1e7db4 100644 --- a/vala/valaparser.vala +++ b/vala/valaparser.vala @@ -384,6 +384,11 @@ public class Vala.Parser : CodeVisitor { string raw_string = get_last_string (); string escaped_string = raw_string.substring (3, raw_string.length - 6).escape (""); return new StringLiteral ("\"%s\"".printf (escaped_string), get_src (begin)); + case TokenType.VERBATIM_TEMPLATE_STRING_LITERAL: + next (); + string raw_string = get_last_string (); + string escaped_string = raw_string.escape (""); + return new StringLiteral ("\"%s\"".printf (escaped_string), get_src (begin)); case TokenType.NULL: next (); return new NullLiteral (get_src (begin)); @@ -719,6 +724,7 @@ public class Vala.Parser : CodeVisitor { case TokenType.REGEX_LITERAL: case TokenType.TEMPLATE_STRING_LITERAL: case TokenType.VERBATIM_STRING_LITERAL: + case TokenType.VERBATIM_TEMPLATE_STRING_LITERAL: case TokenType.NULL: expr = parse_literal (); break; @@ -1269,6 +1275,7 @@ public class Vala.Parser : CodeVisitor { case TokenType.STRING_LITERAL: case TokenType.TEMPLATE_STRING_LITERAL: case TokenType.VERBATIM_STRING_LITERAL: + case TokenType.VERBATIM_TEMPLATE_STRING_LITERAL: case TokenType.REGEX_LITERAL: case TokenType.NULL: case TokenType.THIS: |