-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathstyle.xml
165 lines (134 loc) · 6.89 KB
/
style.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">
<module name = "Checker">
<property name="charset" value="UTF-8"/>
<property name="severity" value="error"/>
<property name="fileExtensions" value="java, properties, xml"/>
<!-- Files end in a newline -->
<module name="NewlineAtEndOfFile"/>
<module name="TreeWalker">
<property name="tabWidth" value="4"/>
<!-- Lines are indented with tabs -->
<module name="RegexpSinglelineJava">
<property name="format" value="^\t* "/>
<property name="message" value="Indent must use tabs, not spaces"/>
<property name="ignoreComments" value="true"/>
</module>
<!-- The filename matches the class or type declared in the file -->
<module name="OuterTypeFilename"/>
<!-- There is only one top-level cass per file -->
<module name="OneTopLevelClass"/>
<!-- Imports and package declarations don't have linebreaks -->
<module name="NoLineWrap"/>
<!-- No empty blocks for try/if/switch (not case/default) -->
<module name="EmptyBlock">
<property name="option" value="TEXT"/>
<property name="tokens"
value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
</module>
<!-- `if`s and loops have braces -->
<module name="NeedBraces">
<property name="allowSingleLineStatement" value="true"/>
<property name="allowEmptyLoopBody" value="true"/>
</module>
<!-- `if (...) {`, not `if (...) \n {` -->
<module name="LeftCurly"/>
<!-- `} else`, not `} \n else` -->
<module name="RightCurly">
<property name="id" value="RightCurlySame"/>
<property name="tokens" value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_DO"/>
</module>
<module name="RightCurly">
<property name="id" value="RightCurlyAlone"/>
<property name="option" value="alone"/>
<property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT"/>
</module>
<!-- `a = b`, not `a=b`; `if (...)`, not `if(...)`; etc -->
<module name="WhitespaceAround">
<property name="allowEmptyConstructors" value="true"/>
<property name="allowEmptyMethods" value="true"/>
<property name="allowEmptyTypes" value="true"/>
<property name="allowEmptyLoops" value="true"/>
<property name="allowEmptyLambdas" value="true"/>
<message key="ws.notFollowed"
value="WhitespaceAround: ''{0}'' is not followed by whitespace."/>
<message key="ws.notPreceded"
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
</module>
<!-- One statement per line -->
<module name="OneStatementPerLine"/>
<!-- Java-style `int[] ar` rather than C-style `int ar[]` -->
<module name="ArrayTypeStyle">
<message key="array.type.style" value="Array brackets should follow the contained type: `int[] ar`, not `int ar[]`"/>
</module>
<!-- Switch statements should have a default, even if it's just `/* pass */` or `throw new Error("unreachable");`-->
<module name="MissingSwitchDefault"/>
<!-- Fallthrough in non-empty `case`s needs to be marked explicitly with a `// falls through` comment -->
<module name="FallThrough"/>
<!-- Long numeric literals are written `0L`, not `0l` -->
<module name="UpperEll"/>
<!-- Modifiers appear in the order recommended by the Java standard -->
<module name="ModifierOrder">
<message key="mod.order" value="Modifier order should be `public abstract static final synchronized` etc; see http://checkstyle.sourceforge.net/config_modifier.html#ModifierOrder"/>
</module>
<!-- There is a blank line between methods and in other similar places -->
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields" value="true"/>
<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF"/>
</module>
<!-- `a\n.b`, not `a.\nb` -->
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapDot"/>
<property name="tokens" value="DOT"/>
<property name="option" value="nl"/>
</module>
<!-- `f(a,\nb)`, not `f(a\n, b)` -->
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapComma"/>
<property name="tokens" value="COMMA"/>
<property name="option" value="EOL"/>
</module>
<!-- `a\n::b`, not `a::\nb` -->
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapMethodRef"/>
<property name="tokens" value="METHOD_REF"/>
<property name="option" value="nl"/>
</module>
<!-- Generics look like `<T> void f()` or `a.<T>b()`, not anything else -->
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
<message key="ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
<message key="ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
<message key="ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
</module>
<!-- Indent by one tab -->
<module name="Indentation">
<property name="basicOffset" value="4"/>
<property name="braceAdjustment" value="0"/>
<property name="caseIndent" value="4"/>
<property name="throwsIndent" value="4"/>
<property name="lineWrappingIndentation" value="4"/>
<property name="arrayInitIndent" value="4"/>
</module>
<!-- Overloaded methods are grouped together -->
<module name="OverloadMethodsDeclarationOrder"/>
<!-- `void f(int a)`, not `void f( int a )` -->
<module name="MethodParamPad"/>
<!-- No stray whitespace before semicolons, etc -->
<module name="NoWhitespaceBefore">
<property name="tokens"
value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>
<property name="allowLineBreaks" value="true"/>
</module>
<!-- `(a + b)`, not `( a + b )` -->
<module name="ParenPad"/>
<!-- Comments are indented to the same depth as surrounding code -->
<module name="CommentsIndentation"/>
</module>
</module>