Lines Matching defs:annotate

29   TokenList annotate(StringRef Code,
31 return TestLexer(Allocator, Buffers, Style).annotate(Code);
54 auto Tokens = annotate("auto x = [](const decltype(x) &ptr) {};");
62 Tokens = annotate("auto x = [](const decltype(x) *ptr) {};");
67 Tokens = annotate("#define lambda [](const decltype(x) &ptr) {}");
75 Tokens = annotate("#define lambda [](const decltype(x) *ptr) {}");
80 Tokens = annotate("void f() {\n"
88 Tokens = annotate("case *x:");
91 Tokens = annotate("case &x:");
95 Tokens = annotate("bool b = 3 == int{3} && true;");
99 Tokens = annotate("struct {\n"
103 Tokens = annotate("union {\n"
107 Tokens = annotate("class {\n"
112 Tokens = annotate("struct {\n"
116 Tokens = annotate("union {\n"
120 Tokens = annotate("class {\n"
124 Tokens = annotate("int i = int{42} * 2;");
128 Tokens = annotate("delete[] *ptr;");
131 Tokens = annotate("delete[] **ptr;");
135 Tokens = annotate("delete[] *(ptr);");
139 Tokens = annotate("void f() { void (*fnptr)(char* foo); }");
147 Tokens = annotate("void f() { void (*fnptr)(t* foo); }");
153 Tokens = annotate("int f3() { return sizeof(Foo&); }");
157 Tokens = annotate("int f4() { return sizeof(Foo&&); }");
161 Tokens = annotate("void f5() { int f6(Foo&, Bar&); }");
166 Tokens = annotate("void f7() { int f8(Foo&&, Bar&&); }");
171 Tokens = annotate("Type1 &val1 = val2;");
175 Tokens = annotate("Type1 *val1 = &val2;");
180 Tokens = annotate("val1 & val2;");
184 Tokens = annotate("val1 & val2.member;");
188 Tokens = annotate("val1 & val2.*member;");
192 Tokens = annotate("val1.*member & val2;");
196 Tokens = annotate("val1 & val2->*member;");
200 Tokens = annotate("val1->member & val2;");
204 Tokens = annotate("val1 & val2 & val3;");
209 Tokens = annotate("val1 & val2 // comment\n"
216 annotate("val1 & val2.member & val3.member() & val4 & val5->member;");
223 Tokens = annotate("class c {\n"
232 Tokens = annotate("struct S {\n"
239 annotate("template <typename T> void swap() noexcept(Bar<T> && Foo<T>);");
243 Tokens = annotate("template <typename T> struct S {\n"
249 Tokens = annotate("template <bool B = C && D> struct S {};");
253 Tokens = annotate("template <typename T, bool B = C && D> struct S {};");
257 Tokens = annotate("template <typename T, typename U = T&&> struct S {};");
261 Tokens = annotate("template <typename T = int (*)(int)> struct S {};");
266 Tokens = annotate("Foo<A && B> a = {};");
270 Tokens = annotate("Foo<A &&> a = {};");
274 Tokens = annotate("template <typename T>\n"
280 Tokens = annotate("template <enable_if_t<foo && !bar>* = nullptr> void f();");
285 annotate("auto foo() noexcept(noexcept(bar()) && "
291 Tokens = annotate("foo = *i < *j && *j > *k;");
297 Tokens = annotate("if (Foo *foo; bar)");
301 Tokens = annotate("if (Foo **foo(); bar)");
306 Tokens = annotate("if (Foo *&foo{a}; bar)");
313 Tokens = annotate("if (MYI *p{nullptr})", Style);
319 Tokens = annotate("if (Class *obj {getObj()})", Style);
324 Tokens = annotate("class Foo {\n"
335 Tokens = annotate("if (new && num) {\n"
345 Tokens = annotate("#define FOO \\\n"
350 Tokens = annotate("for (int i; Foo *&foo : foos)");
356 Tokens = annotate("#define FOO auto Foo = [] { f(a * b); };");
360 Tokens = annotate("namespace {\n"
366 Tokens = annotate("Thingy kConfig = {\n"
374 Tokens = annotate("template <typename T>\n"
380 Tokens = annotate("template <typename T, typename V>\n"
391 auto Tokens = annotate("x - 0");
394 Tokens = annotate("0 + 0");
397 Tokens = annotate("x + +0");
400 Tokens = annotate("x ? -0 : +0");
404 Tokens = annotate("(-0)");
407 Tokens = annotate("0, -0");
410 Tokens = annotate("for (; -1;) {\n}");
413 Tokens = annotate("x = -1;");
416 Tokens = annotate("x[-1]");
419 Tokens = annotate("x = {-1};");
422 Tokens = annotate("case -x:");
425 Tokens = annotate("co_await -x;");
428 Tokens = annotate("co_return -x;");
431 Tokens = annotate("co_yield -x;");
434 Tokens = annotate("delete -x;");
437 Tokens = annotate("return -x;");
440 Tokens = annotate("throw -x;");
443 Tokens = annotate("sizeof -x");
446 Tokens = annotate("co_await +x;");
449 Tokens = annotate("co_return +x;");
452 Tokens = annotate("co_yield +x;");
455 Tokens = annotate("delete +x;");
458 Tokens = annotate("return +x;");
461 Tokens = annotate("throw +x;");
464 Tokens = annotate("sizeof +x");
467 Tokens = annotate("(int)-x");
470 Tokens = annotate("(-x)");
473 Tokens = annotate("!+x");
480 auto Tokens = annotate("class C {};");
485 Tokens = annotate("const class C {} c;");
490 Tokens = annotate("const class {} c;");
495 Tokens = annotate("class [[deprecated(\"\")]] C { int i; };");
502 auto Tokens = annotate("struct S {};");
507 Tokens = annotate("struct macro(a) S {};");
512 Tokens = annotate("struct EXPORT_MACRO [[nodiscard]] C { int i; };");
517 Tokens = annotate("struct [[deprecated]] [[nodiscard]] C { int i; };");
522 Tokens = annotate("struct macro(a) S {\n"
530 Tokens = annotate("template <typename T> struct S<const T[N]> {};");
538 Tokens = annotate("template <typename T> struct S<T const[N]> {};");
546 Tokens = annotate("template <typename T, unsigned n> struct S<T const[n]> {\n"
559 Tokens = annotate("template <typename T, enum E e> struct S {};");
565 Tokens = annotate(Code);
572 Tokens = annotate(Code, Style);
580 auto Tokens = annotate("union U {};");
585 Tokens = annotate("union U { void f() { return; } };");
593 auto Tokens = annotate("enum E {};");
600 auto Tokens = annotate("auto operator<=>(const T &) const & = default;");
604 Tokens = annotate("template <typename T> void F(T) && = delete;");
611 annotate("inline bool var = is_integral_v<int> && is_signed_v<int>;");
618 annotate("template <typename T> "
626 annotate("#define FOO(typeName) \\\n"
636 auto Tokens = annotate("if (std::tuple_size_v<T> > 0)");
645 auto Tokens = annotate("foo<true ? 1 : 2>();");
654 Tokens = annotate("return foo<true ? 1 : 2>();");
661 Tokens = annotate("return foo<true ? 1 : 2>{};");
670 auto Tokens = annotate("return a < b && c > d;");
675 Tokens = annotate("a < 0 ? b : a > 0 ? c : d;");
680 Tokens = annotate("return A < B ? true : A > B;");
685 Tokens = annotate("return A < B ? true : A > B ? false : false;");
690 Tokens = annotate("return checklower ? a < b : a > b;");
695 Tokens = annotate("return A < B != A > B;");
700 Tokens = annotate("ratio{-1, 2} < ratio{-1, 3} == -1 / 3 > -1 / 2;");
707 auto Tokens = annotate("template <template <typename...> typename X,\n"
727 auto Tokens = annotate("FOO(1+2 )", Style);
731 Tokens = annotate("FOO(a:b:c)", Style);
737 auto Tokens = annotate("delete (void *)p;");
741 Tokens = annotate("delete[] (void *)p;");
745 Tokens = annotate("delete[] /*comment*/ (void *)p;");
749 Tokens = annotate("delete[/*comment*/] (void *)p;");
753 Tokens = annotate("delete/*comment*/[] (void *)p;");
759 auto Tokens = annotate("(void)p;");
763 Tokens = annotate("(uint32_t)&&label;");
769 Tokens = annotate("auto x = (Foo)p;");
773 Tokens = annotate("(std::vector<int>)p;");
777 Tokens = annotate("return (Foo)p;");
781 Tokens = annotate("throw (Foo)p;");
785 Tokens = annotate("#define FOO(x) (((uint64_t)(x) * BAR) / 100)");
791 Tokens = annotate("#define foo(i) ((i) - bar)");
796 Tokens = annotate("return (Foo) & 10;");
801 Tokens = annotate("return (struct foo){};");
805 Tokens = annotate("#define FOO(bar) foo((uint64_t)&bar)");
810 Tokens = annotate("#define FOO(bar) foo((Foo) & bar)");
815 Tokens = annotate("func((void (*)())&a);");
822 Tokens = annotate("int result = ((int)a) - b;");
828 Tokens = annotate("return (double)(foo(30)) - 15;");
834 Tokens = annotate("return (::Type)(1 + 2);");
838 Tokens = annotate("return (Namespace::Class)(1 + 2);");
842 Tokens = annotate("return (Foo (*)(void *, Bar, ...))&foo;");
850 Tokens = annotate("#define FOO(bar) foo((Foo)&bar)", Style);
858 auto Tokens = annotate("void f() throw(int);");
864 auto Tokens = annotate("void f() &;");
868 Tokens = annotate("void operator=(T) &&;");
872 Tokens = annotate("template <typename T> void f() &;");
876 Tokens = annotate("template <typename T> void operator=(T) &;");
882 auto Tokens = annotate("x.operator+()");
887 Tokens = annotate("x.operator=()");
892 Tokens = annotate("x.operator+=()");
897 Tokens = annotate("x.operator,()");
902 Tokens = annotate("x.operator()()");
908 Tokens = annotate("x.operator[]()");
914 Tokens = annotate("x.operator\"\"_a()");
919 Tokens = annotate("x.operator\"\" _a()");
924 Tokens = annotate("x.operator\"\"if()");
929 Tokens = annotate("x.operator\"\"s()");
934 Tokens = annotate("x.operator\"\" s()");
940 Tokens = annotate("int operator+(int);");
945 Tokens = annotate("auto operator=(T&) {}");
950 Tokens = annotate("auto operator()() {}");
957 Tokens = annotate("class Foo {\n"
966 Tokens = annotate("class Foo {\n"
975 Tokens = annotate("void foo() {\n"
984 Tokens = annotate("return operator+(a * b, c & d) + operator+(a && b && c);");
997 Tokens = annotate("class Foo {\n"
1008 Tokens = annotate("std::vector<Foo> operator()(Foo &foo);");
1018 Tokens = annotate("decltype(auto) operator()(T &x);");
1028 Tokens = annotate("friend ostream& ::operator<<(ostream& lhs, foo& rhs);");
1036 Tokens = annotate("SomeLoooooooooooooooooType::Awaitable\n"
1092 auto Tokens = annotate(std::string(Input));
1099 auto Tokens = annotate("C<&operator< <X>> lt;");
1109 auto Tokens = annotate("template <typename T>\n"
1117 Tokens = annotate("template <typename T>\n"
1124 Tokens = annotate("template <typename T>\n"
1135 Tokens = annotate("template<typename T>\n"
1151 annotate("template<typename T>\n"
1167 Tokens = annotate("template <typename T>\n"
1172 Tokens = annotate("template <typename T>\n"
1181 Tokens = annotate("template <typename T>\n"
1190 Tokens = annotate("template <typename T>\n"
1199 Tokens = annotate("template <typename T>\n"
1222 Tokens = annotate("void Class::member() && requires(Constant) {}");
1226 Tokens = annotate("void Class::member() && requires(Constant<T>) {}");
1231 annotate("void Class::member() && requires(Namespace::Constant<T>) {}");
1235 Tokens = annotate("void Class::member() && requires(typename "
1240 Tokens = annotate("struct [[nodiscard]] zero_t {\n"
1255 annotate("template <class A, class B> concept C ="
1266 Tokens = annotate("auto bar() -> int requires(is_integral_v<T>) {}");
1270 Tokens = annotate("auto bar() -> void requires(is_integral_v<T>) {}");
1274 Tokens = annotate("auto bar() -> MyType requires(is_integral_v<T>) {}");
1279 annotate("auto bar() -> SOME_MACRO_TYPE requires(is_integral_v<T>) {}");
1284 annotate("auto bar() -> qualified::type requires(is_integral_v<T>) {}");
1289 annotate("auto bar() -> Template<type> requires(is_integral_v<T>) {}");
1293 Tokens = annotate("void foo() requires((A<T>) && C) {}");
1298 Tokens = annotate("void foo() requires(((A<T>) && C)) {}");
1303 Tokens = annotate("void foo() requires([](T&&){}(t)) {}");
1308 Tokens = annotate("void foo() requires([](T&& u){}(t)) {}");
1313 Tokens = annotate("void f() & requires(true) {}");
1318 Tokens = annotate("void f() & requires(C<true, true>) {}");
1323 Tokens = annotate("template <typename T>\n"
1328 Tokens = annotate("void f() & requires(C<decltype(x)>) {}");
1333 Tokens = annotate("auto f() -> int& requires(C<decltype(x)>) {}");
1338 Tokens = annotate("bool x = t && requires(decltype(t) x) { x.foo(); };");
1342 Tokens = annotate("bool x = t && requires(Foo<decltype(t)> x) { x.foo(); };");
1346 Tokens = annotate("bool x = t && requires(Foo<C1 || C2> x) { x.foo(); };");
1351 Tokens = annotate("void f() &\n"
1361 auto Tokens = annotate("bool b = requires(int i) { i + 5; };");
1367 Tokens = annotate("if (requires(int i) { i + 5; }) return;");
1373 Tokens = annotate("if (func() && requires(int i) { i + 5; }) return;");
1379 Tokens = annotate("foo(requires(const T t) {});");
1385 Tokens = annotate("foo(requires(const int t) {});");
1391 Tokens = annotate("foo(requires(const T t) {});");
1397 Tokens = annotate("foo(requires(int const* volatile t) {});");
1404 Tokens = annotate("foo(requires(T const* volatile t) {});");
1411 Tokens = annotate("foo(requires(T& t) {});");
1418 Tokens = annotate("foo(requires(T&& t) {});");
1425 Tokens = annotate("bool foo = requires(T& t) {};");
1432 Tokens = annotate("bool foo = requires(T&& t) {};");
1440 annotate("foo(requires(const typename Outer<T>::Inner * const t) {});");
1447 Tokens = annotate("template <typename T>\n"
1458 Tokens = annotate("template <typename T>\n"
1471 Tokens = annotate("bool r10 = requires (struct new_struct { int x; } s) { "
1478 Tokens = annotate("bool foo = requires(C<true, true> c) {\n"
1489 auto Tokens = annotate("#pragma region Foo(Bar: Hello)");
1496 Tokens = annotate("void test(){\n#pragma region Foo(Bar: Hello)\n}");
1511 const auto BaseTokens = annotate(BaseCode);
1512 const auto ConstrainedTokens = annotate(ConstrainedCode);
1696 auto Tokens = annotate("__asm{\n"
1708 Tokens = annotate("__asm(\n"
1718 Tokens = annotate("asm volatile (\n"
1729 Tokens = annotate("__asm__(\n"
1740 Tokens = annotate("__asm volatile (\n"
1752 Tokens = annotate("asm(\n"
1763 Tokens = annotate("__asm__ volatile (\n"
1776 auto Tokens = annotate("int (^)() = ^ ()\n"
1784 Tokens = annotate("int *p = ^int*(){ //\n"
1790 Tokens = annotate("id (^block)(Foo *a) = ^id _Nullable(Foo *_Nullable a) {\n"
1799 auto Tokens = annotate("void f() {\n"
1809 auto Tokens = annotate("[]() constexpr {}");
1815 Tokens = annotate("[]() consteval {}");
1821 Tokens = annotate("[]() mutable {}");
1827 Tokens = annotate("[]() static {}");
1833 Tokens = annotate("[]() -> auto {}");
1840 Tokens = annotate("[]() -> auto & {}");
1847 Tokens = annotate("[]() -> auto * {}");
1854 Tokens = annotate("[] {}");
1859 Tokens = annotate("[] noexcept {}");
1864 Tokens = annotate("[] -> auto {}");
1870 Tokens = annotate("[] -> struct S { return {}; }");
1876 Tokens = annotate("foo([&](u32 bar) __attribute__((attr)) -> void {});");
1883 Tokens = annotate("[] <typename T> () {}");
1890 Tokens = annotate("[] <typename T> {}");
1896 Tokens = annotate("[] <typename... T> () {}");
1903 Tokens = annotate("[] <typename... T> {}");
1909 Tokens = annotate("[] <int... T> () {}");
1916 Tokens = annotate("[] <int... T> {}");
1922 Tokens = annotate("[] <Foo... T> () {}");
1929 Tokens = annotate("[] <Foo... T> {}");
1936 Tokens = annotate("[] <typename T> (T t) requires Bar<T> {}");
1945 Tokens = annotate("[] <typename T> (T &&t) requires Bar<T> {}");
1955 Tokens = annotate("[] <typename T> (T t) requires Foo<T> || Bar<T> {}");
1964 Tokens = annotate("[] <typename T> (T t) -> T requires Bar<T> {}");
1974 Tokens = annotate("[] <typename T> requires Bar<T> (T t) {}");
1984 Tokens = annotate("[] <typename T> requires Bar<T> (T &&t) {}");
1995 Tokens = annotate("[] <typename T> requires Foo<T> || Bar<T> (T t) {}");
2005 Tokens = annotate("[] <typename T> requires true (T&& t) {}");
2016 Tokens = annotate("[] <typename T> requires Bar<T> {}");
2024 Tokens = annotate("[] <typename T> requires Bar<T> noexcept {}");
2032 Tokens = annotate("[] <typename T> requires Bar<T> -> T {}");
2041 Tokens = annotate("[] <typename T> requires Foo<T> (T t) requires Bar<T> {}");
2053 Tokens = annotate("[] <typename T = int> (T t) {}");
2061 Tokens = annotate("[] <int I = 0> (T t) {}");
2069 Tokens = annotate("[] <bool b = false> (T t) {}");
2077 Tokens = annotate("[] <bool b = true && false> (T&& t) {}");
2087 Tokens = annotate("[] <typename T = int> requires Foo<T> (T t) {}");
2099 auto Tokens = annotate("template <typename T>\n"
2105 Tokens = annotate("template <typename T>\n"
2110 Tokens = annotate("FOO(bar)();");
2116 auto Tokens = annotate("void f [[noreturn]] ();");
2121 Tokens = annotate("void f [[noreturn]] () {}");
2126 Tokens = annotate("#define FOO Foo::\n"
2132 Tokens = annotate("struct Foo {\n"
2139 Tokens = annotate("void instanceof();");
2144 Tokens = annotate("int iso_time(time_t);");
2151 Tokens = annotate("int iso_time(MyType);", Style);
2159 auto Tokens = annotate("class Foo { public: Foo(); };");
2164 Tokens = annotate("class Foo { public: ~Foo(); };");
2169 Tokens = annotate("struct Foo { [[deprecated]] Foo() {} };");
2175 Tokens = annotate("struct Foo { [[deprecated]] ~Foo() {} };");
2181 Tokens = annotate("struct Foo { Foo() [[deprecated]] {} };");
2187 Tokens = annotate("struct Foo { ~Foo() [[deprecated]] {} };");
2193 Tokens = annotate("struct Foo { [[deprecated]] explicit Foo() {} };");
2199 Tokens = annotate("struct Foo { virtual [[deprecated]] ~Foo() {} };");
2205 Tokens = annotate("Foo::Foo() {}");
2211 Tokens = annotate("Foo::~Foo() {}");
2217 Tokens = annotate("struct Test {\n"
2230 auto Tokens = annotate("_Generic(x, int: 1, default: 0)");
2238 auto Tokens = annotate("auto f() -> int;");
2242 Tokens = annotate("auto operator->() -> int;");
2247 Tokens = annotate("auto operator++(int) -> int;");
2251 Tokens = annotate("auto operator=() -> int;");
2255 Tokens = annotate("auto operator=(int) -> int;");
2259 Tokens = annotate("auto foo() -> auto { return Val; }");
2263 Tokens = annotate("struct S { auto bar() const -> int; };");
2268 Tokens = annotate("auto a = b->c;");
2272 Tokens = annotate("auto a = (b)->c;");
2276 Tokens = annotate("auto a = b()->c;");
2280 Tokens = annotate("auto a = b->c();");
2284 Tokens = annotate("decltype(auto) a = b()->c;");
2288 Tokens = annotate("void f() { auto a = b->c(); }");
2292 Tokens = annotate("void f() { auto a = b()->c; }");
2296 Tokens = annotate("#define P(ptr) auto p = (ptr)->p");
2300 Tokens = annotate("void f() FOO(foo->bar);");
2304 Tokens = annotate("__attribute__((cold)) C() : Base(obj->func()) {}");
2308 Tokens = annotate("Class<Type>{foo}->func(arg);");
2317 Tokens = annotate("emit foo()->bar;", Style);
2323 Tokens = annotate("auto f() -> int { auto a = b()->c; }");
2330 auto Tokens = annotate("#define Foo(Bar) \\\n"
2338 Tokens = annotate("#define Foo(Bar) \\\n"
2344 Tokens = annotate("#define FOO(typeName, realClass) \\\n"
2353 auto Tokens = annotate("__attribute__((X)) void Foo(void);");
2360 Tokens = annotate("A(X) void Foo(void);");
2370 Tokens = annotate("A(X) void Foo(void);", Style);
2379 auto Tokens = annotate("__attribute__((X)) @interface Foo");
2386 Tokens = annotate("A(X) @interface Foo");
2398 Tokens = annotate("A(X) @interface Foo", Style);
2407 auto Tokens = annotate("- (id)init __attribute__((X));");
2414 Tokens = annotate("- (id)init A(X);");
2426 Tokens = annotate("- (id)init A(X);", Style);
2435 auto Tokens = annotate("@property(weak) id delegate __attribute__((X));");
2442 Tokens = annotate("@property(weak) id delegate A(X);");
2454 Tokens = annotate("@property(weak) id delegate A(X);", Style);
2463 return annotate(Code, getLLVMStyle(FormatStyle::LK_Verilog));
2696 auto Annotate = [&Lexer](StringRef Code) { return Lexer.annotate(Code); };
2774 auto Result = annotate(("def X { let V = " + Code + "; }").str(), Style);
2809 Tokens = annotate("def Def : Parent<Child> {}", Style);
2888 // TT_TableGenDAGArgListColonToAlign to annotate the colon to align.
2905 auto Tokens = annotate("Class::Class() : BaseClass(), Member() {}");
2921 Tokens = annotate("Class::Class() : BaseClass{}, Member{} {}");
2934 Tokens = annotate("class Class {\n"
2949 auto Tokens = annotate("if (x) {}");
2952 Tokens = annotate("if constexpr (x) {}");
2955 Tokens = annotate("if CONSTEXPR (x) {}");
2958 Tokens = annotate("if (x) {} else if (x) {}");
2967 auto Tokens = annotate("int? a;", Style);
2971 Tokens = annotate("int? a = 1;", Style);
2975 Tokens = annotate("int?)", Style);
2979 Tokens = annotate("int?>", Style);
2983 Tokens = annotate("cond? id : id2", Style);
2987 Tokens = annotate("cond ? cond2 ? : id1 : id2", Style);
2993 auto Tokens = annotate("{ x: break; }");
2997 Tokens = annotate("{ case x: break; }");
3001 Tokens = annotate("{ x: { break; } }");
3005 Tokens = annotate("{ case x: { break; } }");
3009 Tokens = annotate("#define FOO label:");
3013 Tokens = annotate("#define FOO \\\n"
3023 auto Tokens = annotate("{\n"
3037 auto Tokens = annotate("SomeStruct { .a = 1 };");
3042 Tokens = annotate("SomeStruct { .a = 1, .b = 2 };");
3048 Tokens = annotate("SomeStruct {\n"
3059 Tokens = annotate("SomeStruct {\n"
3070 Tokens = annotate("Foo foo[] = {[0]{}};");
3078 return annotate(Code, getLLVMStyle(FormatStyle::LK_JavaScript));
3089 // Change when we need to annotate these.
3096 auto Tokens = annotate("bool foo __attribute__((unused));");
3104 Tokens = annotate("bool foo __declspec(dllimport);");
3109 Tokens = annotate("bool __attribute__((unused)) foo;");
3117 Tokens = annotate("void __attribute__((x)) Foo();");
3128 Tokens = annotate("bool foo FOO(unused);", Style);
3136 auto Tokens = annotate("while (true) {}");
3141 Tokens = annotate("for (;;) {}");
3146 Tokens = annotate("do {} while (true);");
3151 Tokens = annotate("if (true) {} else if (false) {} else {}");
3160 Tokens = annotate("switch (foo) {}");
3167 auto Tokens = annotate("do { ++i; } while ( i > 5 );");
3171 Tokens = annotate("do ++i; while ( i > 5 );");
3177 auto Tokens = annotate("#pragma clang diagnostic push");
3183 Tokens = annotate("#pragma clang diagnostic ignored \"-Wzero-length-array\"");
3189 Tokens = annotate("#define FOO Foo foo");
3195 Tokens = annotate("@interface NSCoder (TestCoder)");
3202 Tokens = annotate("emit foo = 0;", Style);
3209 auto Tokens = annotate("void f() {};");
3217 Tokens = annotate("class Foo<int> f() {}");
3225 Tokens = annotate("template <typename T> class Foo<T> f() {}");
3233 Tokens = annotate("void f() override {};");
3241 Tokens = annotate("void f() noexcept(false) {};");
3249 Tokens = annotate("auto f() -> void {};");
3257 Tokens = annotate("void f() { /**/ };");
3265 Tokens = annotate("void f() { //\n"
3274 Tokens = annotate("void f() {\n"
3284 Tokens = annotate("struct Foo {\n"
3300 Tokens = annotate("{\n"
3314 annotate("#define SCOP_STAT(NAME, DESC) \\\n"
3320 Tokens = annotate("struct {};");
3325 Tokens = annotate("struct : Base {};");
3330 Tokens = annotate("struct Foo {};");
3335 Tokens = annotate("struct ::Foo {};");
3340 Tokens = annotate("struct NS::Foo {};");
3345 Tokens = annotate("struct Foo<int> {};");
3350 Tokens = annotate("struct Foo<int>::Bar {};");
3355 Tokens = annotate("struct Foo<int> : Base {};");
3360 Tokens = annotate("struct Foo final {};");
3365 Tokens = annotate("struct [[foo]] [[bar]] Foo final : Base1, Base2 {};");
3370 Tokens = annotate("struct Foo x{};");
3375 Tokens = annotate("struct ::Foo x{};");
3380 Tokens = annotate("struct NS::Foo x{};");
3385 Tokens = annotate("struct Foo<int> x{};");
3390 Tokens = annotate("#ifdef DEBUG_ENABLED\n"
3407 Tokens = annotate("{\n"
3418 Tokens = annotate("{\n"
3434 Tokens = annotate("{\n"
3450 Tokens = annotate("a = class extends goog.a {};",
3458 Tokens = annotate("a = class Foo extends goog.a {};",
3466 Tokens = annotate("#define FOO(X) \\\n"
3474 Tokens = annotate("#define MACRO \\\n"
3489 Tokens = annotate("#define MEMBER(NAME) NAME{\"\"}");
3496 auto Tokens = annotate("auto foo() -> enum En {}");
3502 auto Tokens = annotate("{\n"
3513 Tokens = annotate("void bar() {\n"
3524 Tokens = annotate("[foo bar:{{0, 1}} baz:baz];",
3536 auto Tokens = annotate("i = switch (day) {\n"
3553 auto Tokens = annotate("a = b and c;");
3557 Tokens = annotate("a = b and_eq c;");
3561 Tokens = annotate("a = b bitand c;");
3565 Tokens = annotate("a = b bitor c;");
3569 Tokens = annotate("a = b compl c;");
3573 Tokens = annotate("a = b not c;");
3577 Tokens = annotate("a = b not_eq c;");
3581 Tokens = annotate("a = b or c;");
3585 Tokens = annotate("a = b or_eq c;");
3589 Tokens = annotate("a = b xor c;");
3593 Tokens = annotate("a = b xor_eq c;");
3597 Tokens = annotate("xor = foo;");
3601 Tokens = annotate("int xor = foo;");
3608 annotate("Foo::Foo(int x, int y) try\n"
3627 auto Tokens = annotate("STRUCT(T, B) { int i; };", Style);
3639 auto Tokens = annotate("return 1 <=> 2;", Style);
3648 auto Tokens = annotate("class foo {\n"
3661 auto Tokens = annotate(Code);
3669 Tokens = annotate(Code, Style);
3676 auto Tokens = annotate("return FixedInt<N | M>();");
3681 Tokens = annotate("return FixedInt<N | M>(foo);");
3686 Tokens = annotate("return std::conditional_t<T::value == U::value, T, U>{};");
3692 annotate("auto x{std::conditional_t<T::value == U::value, T, U>{}};");
3702 auto Tokens = annotate("auto t3 = (a<int>) + b;", Style);
3712 auto Tokens = annotate("FOOBAR(switch);\n"
3719 auto Tokens = annotate("#error -- My error message");