1package com.google.googlejavaformat.java.test;
2
3import com.google.common.collect.ImmutableList;
4import com.google.common.collect.Lists;
5
6/**
7 * Tests for EmptyStatements, EnhancedForStatements, EnumConstantDeclarations, EnumDeclarations,
8 * ExpressionMethodReferences, ExpressionStatements, Expressions, and ExtendedModifiers.
9 */
10@MarkerAnnotation
11class E<T> {
12  // TODO(user): Test higher language-level features.
13
14  enum Enum1 {
15    A,
16    B,
17    C,
18    D;
19
20    Enum1() {}
21  }
22
23  @MarkerAnnotation
24  public enum Enum2 {
25    A,
26    B,
27    C,
28    D,
29    ;
30
31    Enum2() {}
32  }
33
34  enum Enum3 {
35    A(
36        0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0
37            + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0),
38    B(
39        0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0
40            + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1),
41    C(
42        0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0
43            + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2),
44    D(
45        0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0
46            + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 3);
47
48    Enum3(int x) {}
49  }
50
51  enum Enum4 {
52    A(
53        0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0
54            + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0),
55    B(
56        0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0
57            + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1),
58    C(
59        0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0
60            + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2),
61    D(
62        0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0
63            + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 3),
64    ;
65
66    Enum4(int x) {}
67  }
68
69  int f(int value) {
70    ;
71    ;
72    ;
73    ;
74    ;
75    for (Integer x :
76        ImmutableList.<Integer>of(
77            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) {}
78    for (Pair<
79            Pair<Pair<Pair<T, T>, Pair<T, T>>, Pair<Pair<T, T>, Pair<T, T>>>,
80            Pair<Pair<Pair<T, T>, Pair<T, T>>, Pair<Pair<T, T>, Pair<T, T>>>>
81        x :
82            Lists
83                .<Pair<
84                        Pair<Pair<Pair<T, T>, Pair<T, T>>, Pair<Pair<T, T>, Pair<T, T>>>,
85                        Pair<Pair<Pair<T, T>, Pair<T, T>>, Pair<Pair<T, T>, Pair<T, T>>>>>
86                    newArrayList()) {}
87    f(10);
88    return f(20);
89  }
90}
91