OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 # Copyright 2007 The Closure Linter Authors. All Rights Reserved. | |
3 # | |
4 # Licensed under the Apache License, Version 2.0 (the "License"); | |
5 # you may not use this file except in compliance with the License. | |
6 # You may obtain a copy of the License at | |
7 # | |
8 # http://www.apache.org/licenses/LICENSE-2.0 | |
9 # | |
10 # Unless required by applicable law or agreed to in writing, software | |
11 # distributed under the License is distributed on an "AS-IS" BASIS, | |
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 # See the License for the specific language governing permissions and | |
14 # limitations under the License. | |
15 | |
16 """Error codes for JavaScript style checker.""" | |
17 | |
18 __author__ = ('robbyw@google.com (Robert Walker)', | |
19 'ajp@google.com (Andy Perelson)') | |
20 | |
21 | |
22 def ByName(name): | |
23 """Get the error code for the given error name. | |
24 | |
25 Args: | |
26 name: The name of the error | |
27 | |
28 Returns: | |
29 The error code | |
30 """ | |
31 return globals()[name] | |
32 | |
33 | |
34 # "File-fatal" errors - these errors stop further parsing of a single file | |
35 FILE_NOT_FOUND = -1 | |
36 FILE_DOES_NOT_PARSE = -2 | |
37 | |
38 # Spacing | |
39 EXTRA_SPACE = 1 | |
40 MISSING_SPACE = 2 | |
41 EXTRA_LINE = 3 | |
42 MISSING_LINE = 4 | |
43 ILLEGAL_TAB = 5 | |
44 WRONG_INDENTATION = 6 | |
45 WRONG_BLANK_LINE_COUNT = 7 | |
46 | |
47 # Semicolons | |
48 MISSING_SEMICOLON = 10 | |
49 MISSING_SEMICOLON_AFTER_FUNCTION = 11 | |
50 ILLEGAL_SEMICOLON_AFTER_FUNCTION = 12 | |
51 REDUNDANT_SEMICOLON = 13 | |
52 | |
53 # Miscellaneous | |
54 ILLEGAL_PROTOTYPE_MEMBER_VALUE = 100 | |
55 LINE_TOO_LONG = 110 | |
56 LINE_STARTS_WITH_OPERATOR = 120 | |
57 COMMA_AT_END_OF_LITERAL = 121 | |
58 LINE_ENDS_WITH_DOT = 122 | |
59 MULTI_LINE_STRING = 130 | |
60 UNNECESSARY_DOUBLE_QUOTED_STRING = 131 | |
61 UNUSED_PRIVATE_MEMBER = 132 | |
62 UNUSED_LOCAL_VARIABLE = 133 | |
63 | |
64 # Requires, provides | |
65 GOOG_REQUIRES_NOT_ALPHABETIZED = 140 | |
66 GOOG_PROVIDES_NOT_ALPHABETIZED = 141 | |
67 MISSING_GOOG_REQUIRE = 142 | |
68 MISSING_GOOG_PROVIDE = 143 | |
69 EXTRA_GOOG_REQUIRE = 144 | |
70 EXTRA_GOOG_PROVIDE = 145 | |
71 ALIAS_STMT_NEEDS_GOOG_REQUIRE = 146 | |
72 | |
73 # JsDoc | |
74 INVALID_JSDOC_TAG = 200 | |
75 INVALID_USE_OF_DESC_TAG = 201 | |
76 NO_BUG_NUMBER_AFTER_BUG_TAG = 202 | |
77 MISSING_PARAMETER_DOCUMENTATION = 210 | |
78 EXTRA_PARAMETER_DOCUMENTATION = 211 | |
79 WRONG_PARAMETER_DOCUMENTATION = 212 | |
80 MISSING_JSDOC_TAG_TYPE = 213 | |
81 MISSING_JSDOC_TAG_DESCRIPTION = 214 | |
82 MISSING_JSDOC_PARAM_NAME = 215 | |
83 OUT_OF_ORDER_JSDOC_TAG_TYPE = 216 | |
84 MISSING_RETURN_DOCUMENTATION = 217 | |
85 UNNECESSARY_RETURN_DOCUMENTATION = 218 | |
86 MISSING_BRACES_AROUND_TYPE = 219 | |
87 MISSING_MEMBER_DOCUMENTATION = 220 | |
88 MISSING_PRIVATE = 221 | |
89 EXTRA_PRIVATE = 222 | |
90 INVALID_OVERRIDE_PRIVATE = 223 | |
91 INVALID_INHERIT_DOC_PRIVATE = 224 | |
92 MISSING_JSDOC_TAG_THIS = 225 | |
93 UNNECESSARY_BRACES_AROUND_INHERIT_DOC = 226 | |
94 INVALID_AUTHOR_TAG_DESCRIPTION = 227 | |
95 JSDOC_PREFER_QUESTION_TO_PIPE_NULL = 230 | |
96 JSDOC_ILLEGAL_QUESTION_WITH_PIPE = 231 | |
97 JSDOC_MISSING_OPTIONAL_TYPE = 232 | |
98 JSDOC_MISSING_OPTIONAL_PREFIX = 233 | |
99 JSDOC_MISSING_VAR_ARGS_TYPE = 234 | |
100 JSDOC_MISSING_VAR_ARGS_NAME = 235 | |
101 JSDOC_DOES_NOT_PARSE = 236 | |
102 # TODO(robbyw): Split this in to more specific syntax problems. | |
103 INCORRECT_SUPPRESS_SYNTAX = 250 | |
104 INVALID_SUPPRESS_TYPE = 251 | |
105 UNNECESSARY_SUPPRESS = 252 | |
106 | |
107 # File ending | |
108 FILE_MISSING_NEWLINE = 300 | |
109 FILE_IN_BLOCK = 301 | |
110 | |
111 # Interfaces | |
112 INTERFACE_CONSTRUCTOR_CANNOT_HAVE_PARAMS = 400 | |
113 INTERFACE_METHOD_CANNOT_HAVE_CODE = 401 | |
114 | |
115 # Comments | |
116 MISSING_END_OF_SCOPE_COMMENT = 500 | |
117 MALFORMED_END_OF_SCOPE_COMMENT = 501 | |
118 | |
119 # goog.scope - Namespace aliasing | |
120 # TODO(nnaze) Add additional errors here and in aliaspass.py | |
121 INVALID_USE_OF_GOOG_SCOPE = 600 | |
122 EXTRA_GOOG_SCOPE_USAGE = 601 | |
123 | |
124 # ActionScript specific errors: | |
125 # TODO(user): move these errors to their own file and move all JavaScript | |
126 # specific errors to their own file as well. | |
127 # All ActionScript specific errors should have error number at least 1000. | |
128 FUNCTION_MISSING_RETURN_TYPE = 1132 | |
129 PARAMETER_MISSING_TYPE = 1133 | |
130 VAR_MISSING_TYPE = 1134 | |
131 PARAMETER_MISSING_DEFAULT_VALUE = 1135 | |
132 IMPORTS_NOT_ALPHABETIZED = 1140 | |
133 IMPORT_CONTAINS_WILDCARD = 1141 | |
134 UNUSED_IMPORT = 1142 | |
135 INVALID_TRACE_SEVERITY_LEVEL = 1250 | |
136 MISSING_TRACE_SEVERITY_LEVEL = 1251 | |
137 MISSING_TRACE_MESSAGE = 1252 | |
138 REMOVE_TRACE_BEFORE_SUBMIT = 1253 | |
139 REMOVE_COMMENT_BEFORE_SUBMIT = 1254 | |
140 # End of list of ActionScript specific errors. | |
141 | |
142 NEW_ERRORS = frozenset([ | |
143 # Errors added after 2.0.2: | |
144 WRONG_INDENTATION, | |
145 MISSING_SEMICOLON, | |
146 # Errors added after 2.3.9: | |
147 JSDOC_MISSING_VAR_ARGS_TYPE, | |
148 JSDOC_MISSING_VAR_ARGS_NAME, | |
149 # Errors added after 2.3.15: | |
150 ALIAS_STMT_NEEDS_GOOG_REQUIRE, | |
151 JSDOC_DOES_NOT_PARSE, | |
152 LINE_ENDS_WITH_DOT, | |
153 # Errors added after 2.3.19: | |
154 ]) | |
OLD | NEW |