llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Jonas Devlieghere (JDevlieghere)

<details>
<summary>Changes</summary>

This adds tree-sitter based Swift syntax highlighting to LLDB. It consists of 
the SwiftTreeSitterHighlighter plugin and the vendored Swift grammar [1], which 
is licensed under MIT.

[1] https://github.com/alex-pinkus/tree-sitter-swift

Depends on:
*  https://github.com/llvm/llvm-project/pull/181282
*  https://github.com/llvm/llvm-project/pull/181279

---

Patch is 20.70 MiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/181297.diff


11 Files Affected:

- (modified) lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt (+1) 
- (added) lldb/source/Plugins/Highlighter/TreeSitter/Swift/CMakeLists.txt (+11) 
- (added) 
lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.cpp 
(+381) 
- (added) 
lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.h 
(+41) 
- (modified) 
lldb/source/Plugins/Highlighter/TreeSitter/third-party/CMakeLists.txt (+1) 
- (added) 
lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/CMakeLists.txt
 (+16) 
- (added) 
lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/LICENSE
 (+21) 
- (added) 
lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/parser.c
 (+591510) 
- (added) 
lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/scanner.c
 (+865) 
- (modified) lldb/unittests/Highlighter/CMakeLists.txt (+2) 
- (modified) lldb/unittests/Highlighter/HighlighterTest.cpp (+18-1) 


``````````diff
diff --git a/lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt 
b/lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt
index 7e2fa37b02af4..6279626ae56c0 100644
--- a/lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt
+++ b/lldb/source/Plugins/Highlighter/TreeSitter/CMakeLists.txt
@@ -1,5 +1,6 @@
 add_subdirectory(third-party)
 add_subdirectory(Rust)
+add_subdirectory(Swift)
 
 add_lldb_library(lldbTreeSitter
   TreeSitterHighlighter.cpp
diff --git a/lldb/source/Plugins/Highlighter/TreeSitter/Swift/CMakeLists.txt 
b/lldb/source/Plugins/Highlighter/TreeSitter/Swift/CMakeLists.txt
new file mode 100644
index 0000000000000..36e653c240929
--- /dev/null
+++ b/lldb/source/Plugins/Highlighter/TreeSitter/Swift/CMakeLists.txt
@@ -0,0 +1,11 @@
+add_lldb_library(lldbPluginHighlighterTreeSitterSwift PLUGIN
+  SwiftTreeSitterHighlighter.cpp
+
+  LINK_COMPONENTS
+    Support
+  LINK_LIBS
+    lldbCore
+    lldbUtility
+    lldbTreeSitter
+    tree-sitter-swift
+)
diff --git 
a/lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.cpp
 
b/lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.cpp
new file mode 100644
index 0000000000000..3b7cbeaeaec59
--- /dev/null
+++ 
b/lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.cpp
@@ -0,0 +1,381 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "SwiftTreeSitterHighlighter.h"
+#include "lldb/Target/Language.h"
+
+LLDB_PLUGIN_DEFINE_ADV(SwiftTreeSitterHighlighter, HighlighterTreeSitterSwift)
+
+extern "C" {
+const TSLanguage *tree_sitter_swift();
+}
+
+using namespace lldb_private;
+
+const TSLanguage *SwiftTreeSitterHighlighter::GetLanguage() const {
+  return tree_sitter_swift();
+}
+
+llvm::StringRef SwiftTreeSitterHighlighter::GetHighlightQuery() const {
+  static constexpr const llvm::StringLiteral query = R"__(
+[
+  "."
+  ";"
+  ":"
+  ","
+] @punctuation.delimiter
+
+[
+  "("
+  ")"
+  "["
+  "]"
+  "{"
+  "}"
+] @punctuation.bracket
+
+; Identifiers
+(type_identifier) @type
+
+[
+  (self_expression)
+  (super_expression)
+] @variable.builtin
+
+; Declarations
+[
+  "func"
+  "deinit"
+] @keyword.function
+
+[
+  (visibility_modifier)
+  (member_modifier)
+  (function_modifier)
+  (property_modifier)
+  (parameter_modifier)
+  (inheritance_modifier)
+  (mutation_modifier)
+] @keyword.modifier
+
+(simple_identifier) @variable
+
+(function_declaration
+  (simple_identifier) @function.method)
+
+(protocol_function_declaration
+  name: (simple_identifier) @function.method)
+
+(init_declaration
+  "init" @constructor)
+
+(parameter
+  external_name: (simple_identifier) @variable.parameter)
+
+(parameter
+  name: (simple_identifier) @variable.parameter)
+
+(type_parameter
+  (type_identifier) @variable.parameter)
+
+(inheritance_constraint
+  (identifier
+    (simple_identifier) @variable.parameter))
+
+(equality_constraint
+  (identifier
+    (simple_identifier) @variable.parameter))
+
+[
+  "protocol"
+  "extension"
+  "indirect"
+  "nonisolated"
+  "override"
+  "convenience"
+  "required"
+  "some"
+  "any"
+  "weak"
+  "unowned"
+  "didSet"
+  "willSet"
+  "subscript"
+  "let"
+  "var"
+  (throws)
+  (where_keyword)
+  (getter_specifier)
+  (setter_specifier)
+  (modify_specifier)
+  (else)
+  (as_operator)
+] @keyword
+
+[
+  "enum"
+  "struct"
+  "class"
+  "typealias"
+] @keyword.type
+
+[
+  "async"
+  "await"
+] @keyword.coroutine
+
+(shebang_line) @keyword.directive
+
+(class_body
+  (property_declaration
+    (pattern
+      (simple_identifier) @variable.member)))
+
+(protocol_property_declaration
+  (pattern
+    (simple_identifier) @variable.member))
+
+(navigation_expression
+  (navigation_suffix
+    (simple_identifier) @variable.member))
+
+(value_argument
+  name: (value_argument_label
+    (simple_identifier) @variable.member))
+
+(import_declaration
+  "import" @keyword.import)
+
+(enum_entry
+  "case" @keyword)
+
+(modifiers
+  (attribute
+    "@" @attribute
+    (user_type
+      (type_identifier) @attribute)))
+
+; Function calls
+(call_expression
+  (simple_identifier) @function.call) ; foo()
+
+(call_expression
+  ; foo.bar.baz(): highlight the baz()
+  (navigation_expression
+    (navigation_suffix
+      (simple_identifier) @function.call)))
+
+(call_expression
+  (prefix_expression
+    (simple_identifier) @function.call)) ; .foo()
+
+((navigation_expression
+  (simple_identifier) @type) ; SomeType.method(): highlight SomeType as a type
+  (#match? @type "^[A-Z]"))
+
+(directive) @keyword.directive
+
+; See 
https://docs.swift.org/swift-book/documentation/the-swift-programming-language/lexicalstructure/#Keywords-and-Punctuation
+[
+  (diagnostic)
+  (availability_condition)
+  (playground_literal)
+  (key_path_string_expression)
+  (selector_expression)
+  (external_macro_definition)
+] @function.macro
+
+(special_literal) @constant.macro
+
+; Statements
+(for_statement
+  "for" @keyword.repeat)
+
+(for_statement
+  "in" @keyword.repeat)
+
+[
+  "while"
+  "repeat"
+  "continue"
+  "break"
+] @keyword.repeat
+
+(guard_statement
+  "guard" @keyword.conditional)
+
+(if_statement
+  "if" @keyword.conditional)
+
+(switch_statement
+  "switch" @keyword.conditional)
+
+(switch_entry
+  "case" @keyword)
+
+(switch_entry
+  "fallthrough" @keyword)
+
+(switch_entry
+  (default_keyword) @keyword)
+
+"return" @keyword.return
+
+(ternary_expression
+  [
+    "?"
+    ":"
+  ] @keyword.conditional.ternary)
+
+[
+  (try_operator)
+  "do"
+  (throw_keyword)
+  (catch_keyword)
+] @keyword.exception
+
+(statement_label) @label
+
+; Comments
+[
+  (comment)
+  (multiline_comment)
+] @comment @spell
+
+((comment) @comment.documentation
+  (#match? @comment.documentation "^///[^/]"))
+
+((comment) @comment.documentation
+  (#match? @comment.documentation "^///$"))
+
+((multiline_comment) @comment.documentation
+  (#match? @comment.documentation "^/[*][*][^*].*[*]/$"))
+
+; String literals
+(line_str_text) @string
+
+(str_escaped_char) @string.escape
+
+(multi_line_str_text) @string
+
+(raw_str_part) @string
+
+(raw_str_end_part) @string
+
+(line_string_literal
+  [
+    "\\("
+    ")"
+  ] @punctuation.special)
+
+(multi_line_string_literal
+  [
+    "\\("
+    ")"
+  ] @punctuation.special)
+
+(raw_str_interpolation
+  [
+    (raw_str_interpolation_start)
+    ")"
+  ] @punctuation.special)
+
+[
+  "\""
+  "\"\"\""
+] @string
+
+; Lambda literals
+(lambda_literal
+  "in" @keyword.operator)
+
+; Basic literals
+[
+  (integer_literal)
+  (hex_literal)
+  (oct_literal)
+  (bin_literal)
+] @number
+
+(real_literal) @number.float
+
+(boolean_literal) @boolean
+
+"nil" @constant.builtin
+
+(wildcard_pattern) @character.special
+
+; Regex literals
+(regex_literal) @string.regexp
+
+; Operators
+(custom_operator) @operator
+
+[
+  "+"
+  "-"
+  "*"
+  "/"
+  "%"
+  "="
+  "+="
+  "-="
+  "*="
+  "/="
+  "<"
+  ">"
+  "<<"
+  ">>"
+  "<="
+  ">="
+  "++"
+  "--"
+  "^"
+  "&"
+  "&&"
+  "|"
+  "||"
+  "~"
+  "%="
+  "!="
+  "!=="
+  "=="
+  "==="
+  "?"
+  "??"
+  "->"
+  "..<"
+  "..."
+  (bang)
+] @operator
+
+(type_arguments
+  [
+    "<"
+    ">"
+  ] @punctuation.bracket)
+)__";
+
+  return query;
+}
+
+Highlighter *
+SwiftTreeSitterHighlighter::CreateInstance(lldb::LanguageType language) {
+  if (language == lldb::eLanguageTypeSwift)
+    return new SwiftTreeSitterHighlighter();
+  return nullptr;
+}
+
+void SwiftTreeSitterHighlighter::Initialize() {
+  PluginManager::RegisterPlugin(GetPluginNameStatic(), GetPluginNameStatic(),
+                                CreateInstance);
+}
+
+void SwiftTreeSitterHighlighter::Terminate() {
+  PluginManager::UnregisterPlugin(CreateInstance);
+}
diff --git 
a/lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.h 
b/lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.h
new file mode 100644
index 0000000000000..3723991100fa8
--- /dev/null
+++ 
b/lldb/source/Plugins/Highlighter/TreeSitter/Swift/SwiftTreeSitterHighlighter.h
@@ -0,0 +1,41 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef 
LLDB_SOURCE_PLUGINS_LANGUAGE_TREESITTERCOMMON_SWIFTTREESITTERHIGHLIGHTER_H
+#define 
LLDB_SOURCE_PLUGINS_LANGUAGE_TREESITTERCOMMON_SWIFTTREESITTERHIGHLIGHTER_H
+
+#include "../TreeSitterHighlighter.h"
+#include "llvm/ADT/StringRef.h"
+
+namespace lldb_private {
+
+class SwiftTreeSitterHighlighter : public TreeSitterHighlighter {
+public:
+  SwiftTreeSitterHighlighter() = default;
+  ~SwiftTreeSitterHighlighter() override = default;
+
+  llvm::StringRef GetName() const override { return "tree-sitter-swift"; }
+
+  static Highlighter *CreateInstance(lldb::LanguageType language);
+
+  static void Terminate();
+  static void Initialize();
+
+  static llvm::StringRef GetPluginNameStatic() {
+    return "Tree-sitter Swift Highlighter";
+  }
+  llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
+
+protected:
+  const TSLanguage *GetLanguage() const override;
+  llvm::StringRef GetHighlightQuery() const override;
+};
+
+} // namespace lldb_private
+
+#endif // 
LLDB_SOURCE_PLUGINS_LANGUAGE_TREESITTERCOMMON_SWIFTTREESITTERHIGHLIGHTER_H
diff --git 
a/lldb/source/Plugins/Highlighter/TreeSitter/third-party/CMakeLists.txt 
b/lldb/source/Plugins/Highlighter/TreeSitter/third-party/CMakeLists.txt
index 9df7f064c62c6..c612d12f01271 100644
--- a/lldb/source/Plugins/Highlighter/TreeSitter/third-party/CMakeLists.txt
+++ b/lldb/source/Plugins/Highlighter/TreeSitter/third-party/CMakeLists.txt
@@ -1,2 +1,3 @@
 add_subdirectory(tree-sitter)
 add_subdirectory(tree-sitter-rust)
+add_subdirectory(tree-sitter-swift)
diff --git 
a/lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/CMakeLists.txt
 
b/lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/CMakeLists.txt
new file mode 100644
index 0000000000000..4d2946fdd918a
--- /dev/null
+++ 
b/lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/CMakeLists.txt
@@ -0,0 +1,16 @@
+add_lldb_library(tree-sitter-swift
+  parser.c
+  scanner.c
+
+  LINK_LIBS
+    tree-sitter
+)
+
+set_property(TARGET tree-sitter-swift PROPERTY C_STANDARD 11)
+
+target_compile_options(tree-sitter-swift PRIVATE
+    "-Wno-everything"
+)
+
+target_include_directories(tree-sitter-swift PRIVATE
+  ${TreeSitter_INCLUDE_DIR})
diff --git 
a/lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/LICENSE
 
b/lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/LICENSE
new file mode 100644
index 0000000000000..f158d70053113
--- /dev/null
+++ 
b/lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 alex-pinkus
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git 
a/lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/parser.c
 
b/lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/parser.c
new file mode 100644
index 0000000000000..817df0cbb62f0
--- /dev/null
+++ 
b/lldb/source/Plugins/Highlighter/TreeSitter/third-party/tree-sitter-swift/parser.c
@@ -0,0 +1,591510 @@
+/* Automatically @generated by tree-sitter v0.25.6 */
+
+#include "tree_sitter/parser.h"
+
+#if defined(__GNUC__) || defined(__clang__)
+#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
+#endif
+
+#ifdef _MSC_VER
+#pragma optimize("", off)
+#elif defined(__clang__)
+#pragma clang optimize off
+#elif defined(__GNUC__)
+#pragma GCC optimize("O0")
+#endif
+
+#define LANGUAGE_VERSION 15
+#define STATE_COUNT 9028
+#define LARGE_STATE_COUNT 1918
+#define SYMBOL_COUNT 547
+#define ALIAS_COUNT 5
+#define TOKEN_COUNT 213
+#define EXTERNAL_TOKEN_COUNT 33
+#define FIELD_COUNT 46
+#define MAX_ALIAS_SEQUENCE_LENGTH 10
+#define MAX_RESERVED_WORD_SET_SIZE 0
+#define PRODUCTION_ID_COUNT 259
+#define SUPERTYPE_COUNT 0
+
+enum ts_symbol_identifiers {
+  anon_sym_BANG = 1,
+  aux_sym_shebang_line_token1 = 2,
+  sym_comment = 3,
+  aux_sym_simple_identifier_token1 = 4,
+  aux_sym_simple_identifier_token2 = 5,
+  aux_sym_simple_identifier_token3 = 6,
+  aux_sym_simple_identifier_token4 = 7,
+  anon_sym_actor = 8,
+  anon_sym_async = 9,
+  anon_sym_each = 10,
+  anon_sym_lazy = 11,
+  anon_sym_repeat = 12,
+  anon_sym_package = 13,
+  anon_sym_nil = 14,
+  sym_real_literal = 15,
+  sym_integer_literal = 16,
+  sym_hex_literal = 17,
+  sym_oct_literal = 18,
+  sym_bin_literal = 19,
+  anon_sym_true = 20,
+  anon_sym_false = 21,
+  anon_sym_DQUOTE = 22,
+  aux_sym_line_str_text_token1 = 23,
+  anon_sym_BSLASH = 24,
+  anon_sym_u = 25,
+  aux_sym__uni_character_literal_token1 = 26,
+  anon_sym_DQUOTE_DQUOTE_DQUOTE = 27,
+  anon_sym_RPAREN = 28,
+  sym_raw_str_interpolation_start = 29,
+  anon_sym_BSLASH_LPAREN = 30,
+  anon_sym_COMMA = 31,
+  sym__escaped_identifier = 32,
+  aux_sym__extended_regex_literal_token1 = 33,
+  aux_sym__multiline_regex_literal_token1 = 34,
+  aux_sym__multiline_regex_literal_token2 = 35,
+  sym__oneline_regex_literal = 36,
+  anon_sym_COLON = 37,
+  anon_sym_BANG2 = 38,
+  anon_sym_LPAREN = 39,
+  anon_sym_LBRACK = 40,
+  anon_sym_RBRACK = 41,
+  anon_sym_DOT = 42,
+  anon_sym_Type = 43,
+  anon_sym_Protocol = 44,
+  anon_sym_QMARK = 45,
+  anon_sym_QMARK2 = 46,
+  anon_sym_some = 47,
+  anon_sym_any = 48,
+  anon_sym_AMP = 49,
+  anon_sym_TILDE = 50,
+  anon_sym_if = 51,
+  anon_sym_switch = 52,
+  anon_sym_selector = 53,
+  anon_sym_getter_COLON = 54,
+  anon_sym_setter_COLON = 55,
+  aux_sym_custom_operator_token1 = 56,
+  anon_sym_LT = 57,
+  anon_sym_GT = 58,
+  anon_sym_await = 59,
+  anon_sym_file = 60,
+  anon_sym_fileID = 61,
+  anon_sym_filePath = 62,
+  anon_sym_line = 63,
+  anon_sym_column = 64,
+  anon_sym_function = 65,
+  anon_sym_dsohandle = 66,
+  anon_sym_colorLiteral = 67,
+  anon_sym_fileLiteral = 68,
+  anon_sym_imageLiteral = 69,
+  anon_sym_LBRACE = 70,
+  anon_sym_CARET_LBRACE = 71,
+  anon_sym_RBRACE = 72,
+  anon_sym_in = 73,
+  anon_sym_self = 74,
+  anon_sym_super = 75,
+  anon_sym_guard = 76,
+  anon_sym_case = 77,
+  anon_sym_fallthrough = 78,
+  anon_sym_do = 79,
+  anon_sym_keyPath = 80,
+  anon_sym_try = 81,
+  anon_sym_PLUS_EQ = 82,
+  anon_sym_DASH_EQ = 83,
+  anon_sym_STAR_EQ = 84,
+  anon_sym_SLASH_EQ = 85,
+  anon_sym_PERCENT_EQ = 86,
+  anon_sym_BANG_EQ = 87,
+  anon_sym_BANG_EQ_EQ = 88,
+  anon_sym_EQ_EQ_EQ = 89,
+  anon_sym_LT_EQ = 90,
+  anon_sym_GT_EQ = 91,
+  anon_sym_DOT_DOT_DOT = 92,
+  anon_sym_DOT_DOT_LT = 93,
+  anon_sym_is = 94,
+  anon_sym_PLUS = 95,
+  anon_sym_DASH = 96,
+  anon_sym_STAR = 97,
+  anon_sym_SLASH = 98,
+  anon_sym_PERCENT = 99,
+  anon_sym_PLUS_PLUS = 100,
+  anon_sym_DASH_DASH = 101,
+  anon_sym_PIPE = 102,
+  anon_sym_CARET = 103,
+  anon_sym_LT_LT = 104,
+  anon_sym_GT_GT = 105,
+  sym_statement_label = 106,
+  anon_sym_for = 107,
+  anon_sym_while = 108,
+  sym_throw_keyword = 109,
+  anon_sym_return = 110,
+  anon_sym_continue = 111,
+  anon_sym_break = 112,
+  anon_sym_yield = 113,
+  anon_sym_available = 114,
+  anon_sym_unavailable = 115,
+  anon_sym_import = 116,
+  anon_sym_typealias = 117,
+  anon_sym_struct = 118,
+  anon_sym_class = 119,
+  anon_sym_enum = 120,
+  anon_sym_protocol = 121,
+  anon_sym_let = 122,
+  anon_sym_var = 123,
+  anon_sym_func = 124,
+  anon_sym_willSet = 125,
+  anon_sym_didSet = 126,
+  anon_sym_macro = 127,
+  anon_sym_externalMacro = 128,
+  anon_sym_extension = 129,
+  anon_sym_indirect = 130,
+  anon_sym_SEMI = 131,
+  anon_sym_init = 132,
+  anon_sym_deinit = 133,
+  anon_sym_subscript = 134,
+  anon_sym_get = 135,
+  anon_sym_set = 136,
+  anon_sym__modify = 137,
+  anon_sym_prefix = 138,
+  anon_sym_infix = 139,
+  anon_sym_postfix = 140,
+  anon_sym_operator = 141,
+  anon_sym_precedencegroup = 142,
+  anon_sym_associatedtype = 143,
+  anon_sym_AT = 144,
+  sym_wildcard_pattern = 145,
+  anon_sym_override = 146,
+  anon_sym_convenience = 147,
+  anon_sym_required = 148,
+  anon_sym_nonisolated = 149,
+  anon_sym_public = 150,
+  anon_sym_private = 151,
+  anon_sym_internal = 152,
+  anon_sym_fileprivate = 153,
+  anon_sym_open = 154,
+  anon_sym_mutating = 155,
+  anon_sym_nonmutating = 156,
+  anon_sym_static = 157,
+  anon_sym_dynamic = 158,
+  anon_sym_optional = 159,
+  anon_sym_distributed = 160,
+  anon_sym_final = 161,
+  anon_sym_inout = 162,
+  anon_sym_ATescaping = 163,
+  anon_sym_ATautoclosure = 164,
+  anon_sym_weak = 165,
+  anon_sym_unowned = 166,
+  anon_sym_unowned_LPARENsafe_RPAREN = 167,
+  anon_sym_unowned_LPARENunsafe_RPAREN = 168,
+  anon_sym_borrowing = 169,
+  anon_sym_consuming = 170,
+  anon_sym_os = 171,
+  anon_sym_arch = 172,
+  anon_sym_swift = 173,
+  anon_sym_compiler = 174,
+  anon_sym_canImport = 175,
+  anon_sym_targetEnvironment = 176,
+  aux_sym_diagnostic_token1 = 177,
+  aux_sym_diagnostic_token2 = 178,
+  aux_sym_diagnostic_token3 = 179,
+  sym_multiline_comment = 180,
+  sym_raw_str_part = 181,
+  sym_raw_str_continuing_indicator = 182,
+  sym_raw_str_end_part = 183,
+  sym__implicit_semi = 184,
+  sym__explicit_semi = 185,
+  sym__arrow_operator_custom = 186,
+  sym__dot_custom = 187,
+  sym__conjunction_operator_custom = 188,
+  sym__disjunction_operator_custom = 189,
+  sym__nil_coalescing_operator_custom = 190,
+  sym__eq_custom = 191,
+  sym__eq_eq_custom = 192,
+  sym__plus_then_ws = 193,
+  sym__minus_then_ws = 194,
+  sym__bang_custom = 195,
+  sym__throws_keyword = 196,
+  sym__rethrows_keyword = 197,
+  sym_default_keyword = 198,
+  sym_where_keyword = 199,
+  sym_else = 200,
+  sym_catch_keyword = 201,
+  sym__as_custom = 202,
+  sym__as_quest_custom = 203,
+  sym__as_bang_custom = 204,
+  sym__async_keyword_custom = 205,
+  sym__custom_operator = 206,
+  sym__hash_symbol_custom = 207,
+  sym__directive_if = 208,
+  sym__directive_elseif = 209,
+  sym__directive_else = 210,
+  sym__directive_endif = 211,
+  sym__fake_try_bang = 212,
+  sym_source_file = 213,
+  sym__semi = 214,
+  sym_shebang_line = 215,
+  sym_simple_identifier = 216,
+  sym__contextual_simple_identifier = 217,
+  sym_identifier = 218,
+  sym__basic_literal = 219,
+  sym_boolean_literal = 220,
+  sym__string_literal = 221,
+  sym_line_string_literal = 222,
+  sym__line_string_content = 223,
+  sym_line_str_text = 224,
+  sym_str_escaped_char = 225,
+  sym__uni_character_literal = 226,
+  sym_multi_line_string_literal = 227,
+  sym_raw_string_literal = 228,
+  sym_raw_str_interpolation = 229,
+  sym__multi_line_string_content = 230,
+  sym__interpolation = 231,
+  sym__interpolation_contents = 232,
+  sym_multi_line_str_text = 233,
+  sym_regex_literal = 234,
+  sym__extended_regex_literal = 235,
+  sym__multiline_regex_literal = 236,
+  sym_type_annotation = 237,
+  sym__possibly_implicitly_unwrapped_type = 238,
+  sym__type = 239,
+  sym__unannotated_type = 240,
+  sym_user_type = 241,
+  sym__simple_user_type = 242,
+  sym_tuple_type = 243...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/181297
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to