@@ -237,6 +237,56 @@ bool foo (bool run=true) {}
237
237
/* ^ entity.name.function */
238
238
};
239
239
240
+ struct UI_BoundingBox position;
241
+ /* ^ - entity.name */
242
+ /* ^ - entity.name */
243
+
244
+ struct UI_BoundingBox *position_p;
245
+ /* ^ - entity.name */
246
+ /* ^ - entity.name */
247
+
248
+ struct UI_BoundingBox * position_p2;
249
+ /* ^ - entity.name */
250
+ /* ^ - entity.name */
251
+
252
+ struct UI_BoundingBox **position_p2;
253
+ /* ^ - entity.name */
254
+ /* ^ - entity.name */
255
+
256
+ struct UI_BoundingBox ** position_p2;
257
+ /* ^ - entity.name */
258
+ /* ^ - entity.name */
259
+
260
+ struct UI_MenuBoxData
261
+ /* <- storage.type */
262
+ /* ^ entity.name.struct */
263
+ {
264
+ struct UI_BoundingBox position;
265
+ /* ^ - entity.name */
266
+ /* ^ - entity.name */
267
+ struct UI_BoundingBox *position_p;
268
+ /* ^ - entity.name */
269
+ /* ^ - entity.name */
270
+ struct UI_BoundingBox * position_p1;
271
+ /* ^ - entity.name */
272
+ /* ^ - entity.name */
273
+ struct UI_BoundingBox **position_p2;
274
+ /* ^ - entity.name */
275
+ /* ^ - entity.name */
276
+ struct UI_BoundingBox ** position_p3;
277
+ /* ^ - entity.name */
278
+ /* ^ - entity.name */
279
+ enum UI_BoxCharType borderType;
280
+ /* ^ - entity.name */
281
+ /* ^ - entity.name */
282
+ unsigned int paddingX;
283
+ unsigned int paddingY;
284
+ struct UI_ScrollBoxText boxContents[];
285
+ /* ^ - entity.name */
286
+ /* ^ - entity.name */
287
+ };
288
+
289
+
240
290
// ///////////////////////////////////////////
241
291
// Strings
242
292
// ///////////////////////////////////////////
@@ -478,7 +528,7 @@ template <typename T = float, int a = 3, bool b = true>
478
528
/* ^ meta.template constant.numeric */
479
529
/* ^ meta.template keyword.operator */
480
530
/* ^ meta.template constant.language */
481
- struct Foo
531
+ struct Foo
482
532
{
483
533
484
534
/* <- meta.struct - meta.template */
@@ -515,7 +565,7 @@ template<class T, class U = T> class B { /* ... */ };
515
565
/* ^ - meta.template */
516
566
template <class ...Types> class C { /* ... */ };
517
567
518
- // templates inside templates... it's templates all the way down
568
+ // templates inside templates... it's templates all the way down
519
569
template <template <class > class P > class X { /* ... */ };
520
570
/* ^ meta.template punctuation */
521
571
/* ^ meta.template meta.template punctuation */
@@ -615,28 +665,28 @@ int main() {
615
665
616
666
// Example from section 14.2/4 of
617
667
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3690.pdf
618
- struct X
668
+ struct X
619
669
{
620
670
template <std::size_t >
621
671
X* alloc ();
622
672
623
673
template <std::size_t >
624
674
static X* adjust ();
625
675
};
626
- template <class T >
627
- void f (T* p)
676
+ template <class T >
677
+ void f (T* p)
628
678
{
629
679
// Be optimistic: scope it as a template member function call anyway.
630
680
T* p1 = p->alloc <200 >(); // ill-formed: < means less than
631
-
681
+
632
682
T* p2 = p->template alloc <200 >(); // OK: < starts template argument list
633
683
/* ^ punctuation.accessor */
634
684
/* ^ storage.type - variable.other */
635
685
/* ^ variable.function */
636
686
637
687
// Be optimistic: scope it as a template member function call anyway.
638
688
T::adjust<100 >(); // ill-formed: < means less than
639
-
689
+
640
690
T::template adjust<100 >(); // OK: < starts template argument list
641
691
/* <- - variable.function */
642
692
/* ^ punctuation.accessor */
@@ -1783,7 +1833,7 @@ class Foo {
1783
1833
/* ^ meta.method.constructor.initializer-list */
1784
1834
/* ^ - meta.function-call - variable.function */
1785
1835
private:
1786
- int var1, var2, var3, var4;
1836
+ int var1, var2, var3, var4;
1787
1837
};
1788
1838
1789
1839
class X {
0 commit comments