12da489cd246702bee5938545b18a6f710ed214bcJamie Gennis#!/usr/bin/env python 22da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# 32da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# Copyright 2007 The Closure Linter Authors. All Rights Reserved. 42da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# 52da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# Licensed under the Apache License, Version 2.0 (the "License"); 62da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# you may not use this file except in compliance with the License. 72da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# You may obtain a copy of the License at 82da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# 92da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# http://www.apache.org/licenses/LICENSE-2.0 102da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# 112da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# Unless required by applicable law or agreed to in writing, software 122da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# distributed under the License is distributed on an "AS-IS" BASIS, 132da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 142da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# See the License for the specific language governing permissions and 152da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# limitations under the License. 162da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 172da489cd246702bee5938545b18a6f710ed214bcJamie Gennis"""Error codes for JavaScript style checker.""" 182da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 192da489cd246702bee5938545b18a6f710ed214bcJamie Gennis__author__ = ('robbyw@google.com (Robert Walker)', 202da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 'ajp@google.com (Andy Perelson)') 212da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 222da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 232da489cd246702bee5938545b18a6f710ed214bcJamie Gennisdef ByName(name): 242da489cd246702bee5938545b18a6f710ed214bcJamie Gennis """Get the error code for the given error name. 252da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 262da489cd246702bee5938545b18a6f710ed214bcJamie Gennis Args: 272da489cd246702bee5938545b18a6f710ed214bcJamie Gennis name: The name of the error 282da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 292da489cd246702bee5938545b18a6f710ed214bcJamie Gennis Returns: 302da489cd246702bee5938545b18a6f710ed214bcJamie Gennis The error code 312da489cd246702bee5938545b18a6f710ed214bcJamie Gennis """ 322da489cd246702bee5938545b18a6f710ed214bcJamie Gennis return globals()[name] 332da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 342da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 352da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# "File-fatal" errors - these errors stop further parsing of a single file 362da489cd246702bee5938545b18a6f710ed214bcJamie GennisFILE_NOT_FOUND = -1 372da489cd246702bee5938545b18a6f710ed214bcJamie GennisFILE_DOES_NOT_PARSE = -2 382da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 392da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# Spacing 402da489cd246702bee5938545b18a6f710ed214bcJamie GennisEXTRA_SPACE = 1 412da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_SPACE = 2 422da489cd246702bee5938545b18a6f710ed214bcJamie GennisEXTRA_LINE = 3 432da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_LINE = 4 442da489cd246702bee5938545b18a6f710ed214bcJamie GennisILLEGAL_TAB = 5 452da489cd246702bee5938545b18a6f710ed214bcJamie GennisWRONG_INDENTATION = 6 462da489cd246702bee5938545b18a6f710ed214bcJamie GennisWRONG_BLANK_LINE_COUNT = 7 472da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 482da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# Semicolons 492da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_SEMICOLON = 10 502da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_SEMICOLON_AFTER_FUNCTION = 11 512da489cd246702bee5938545b18a6f710ed214bcJamie GennisILLEGAL_SEMICOLON_AFTER_FUNCTION = 12 522da489cd246702bee5938545b18a6f710ed214bcJamie GennisREDUNDANT_SEMICOLON = 13 532da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 542da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# Miscellaneous 552da489cd246702bee5938545b18a6f710ed214bcJamie GennisILLEGAL_PROTOTYPE_MEMBER_VALUE = 100 562da489cd246702bee5938545b18a6f710ed214bcJamie GennisLINE_TOO_LONG = 110 572da489cd246702bee5938545b18a6f710ed214bcJamie GennisLINE_STARTS_WITH_OPERATOR = 120 582da489cd246702bee5938545b18a6f710ed214bcJamie GennisCOMMA_AT_END_OF_LITERAL = 121 592da489cd246702bee5938545b18a6f710ed214bcJamie GennisMULTI_LINE_STRING = 130 602da489cd246702bee5938545b18a6f710ed214bcJamie GennisUNNECESSARY_DOUBLE_QUOTED_STRING = 131 612da489cd246702bee5938545b18a6f710ed214bcJamie GennisUNUSED_PRIVATE_MEMBER = 132 622da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 632da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# Requires, provides 642da489cd246702bee5938545b18a6f710ed214bcJamie GennisGOOG_REQUIRES_NOT_ALPHABETIZED = 140 652da489cd246702bee5938545b18a6f710ed214bcJamie GennisGOOG_PROVIDES_NOT_ALPHABETIZED = 141 662da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_GOOG_REQUIRE = 142 672da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_GOOG_PROVIDE = 143 682da489cd246702bee5938545b18a6f710ed214bcJamie GennisEXTRA_GOOG_REQUIRE = 144 692da489cd246702bee5938545b18a6f710ed214bcJamie GennisEXTRA_GOOG_PROVIDE = 145 702da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 712da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# JsDoc 722da489cd246702bee5938545b18a6f710ed214bcJamie GennisINVALID_JSDOC_TAG = 200 732da489cd246702bee5938545b18a6f710ed214bcJamie GennisINVALID_USE_OF_DESC_TAG = 201 742da489cd246702bee5938545b18a6f710ed214bcJamie GennisNO_BUG_NUMBER_AFTER_BUG_TAG = 202 752da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_PARAMETER_DOCUMENTATION = 210 762da489cd246702bee5938545b18a6f710ed214bcJamie GennisEXTRA_PARAMETER_DOCUMENTATION = 211 772da489cd246702bee5938545b18a6f710ed214bcJamie GennisWRONG_PARAMETER_DOCUMENTATION = 212 782da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_JSDOC_TAG_TYPE = 213 792da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_JSDOC_TAG_DESCRIPTION = 214 802da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_JSDOC_PARAM_NAME = 215 812da489cd246702bee5938545b18a6f710ed214bcJamie GennisOUT_OF_ORDER_JSDOC_TAG_TYPE = 216 822da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_RETURN_DOCUMENTATION = 217 832da489cd246702bee5938545b18a6f710ed214bcJamie GennisUNNECESSARY_RETURN_DOCUMENTATION = 218 842da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_BRACES_AROUND_TYPE = 219 852da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_MEMBER_DOCUMENTATION = 220 862da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_PRIVATE = 221 872da489cd246702bee5938545b18a6f710ed214bcJamie GennisEXTRA_PRIVATE = 222 882da489cd246702bee5938545b18a6f710ed214bcJamie GennisINVALID_OVERRIDE_PRIVATE = 223 892da489cd246702bee5938545b18a6f710ed214bcJamie GennisINVALID_INHERIT_DOC_PRIVATE = 224 902da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_JSDOC_TAG_THIS = 225 912da489cd246702bee5938545b18a6f710ed214bcJamie GennisUNNECESSARY_BRACES_AROUND_INHERIT_DOC = 226 922da489cd246702bee5938545b18a6f710ed214bcJamie GennisINVALID_AUTHOR_TAG_DESCRIPTION = 227 932da489cd246702bee5938545b18a6f710ed214bcJamie GennisJSDOC_PREFER_QUESTION_TO_PIPE_NULL = 230 942da489cd246702bee5938545b18a6f710ed214bcJamie GennisJSDOC_ILLEGAL_QUESTION_WITH_PIPE = 231 952da489cd246702bee5938545b18a6f710ed214bcJamie GennisJSDOC_MISSING_OPTIONAL_TYPE = 232 962da489cd246702bee5938545b18a6f710ed214bcJamie GennisJSDOC_MISSING_OPTIONAL_PREFIX = 233 972da489cd246702bee5938545b18a6f710ed214bcJamie GennisJSDOC_TAG_DESCRIPTION_ENDS_WITH_INVALID_CHARACTER = 240 982da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# TODO(robbyw): Split this in to more specific syntax problems. 992da489cd246702bee5938545b18a6f710ed214bcJamie GennisINCORRECT_SUPPRESS_SYNTAX = 250 1002da489cd246702bee5938545b18a6f710ed214bcJamie GennisINVALID_SUPPRESS_TYPE = 251 1012da489cd246702bee5938545b18a6f710ed214bcJamie GennisUNNECESSARY_SUPPRESS = 252 1022da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 1032da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# File ending 1042da489cd246702bee5938545b18a6f710ed214bcJamie GennisFILE_MISSING_NEWLINE = 300 1052da489cd246702bee5938545b18a6f710ed214bcJamie GennisFILE_IN_BLOCK = 301 1062da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 1072da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# Interfaces 1082da489cd246702bee5938545b18a6f710ed214bcJamie GennisINTERFACE_CONSTRUCTOR_CANNOT_HAVE_PARAMS = 400 1092da489cd246702bee5938545b18a6f710ed214bcJamie GennisINTERFACE_METHOD_CANNOT_HAVE_CODE = 401 1102da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 1112da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# Comments 1122da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_END_OF_SCOPE_COMMENT = 500 1132da489cd246702bee5938545b18a6f710ed214bcJamie GennisMALFORMED_END_OF_SCOPE_COMMENT = 501 1142da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 1152da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# ActionScript specific errors: 1162da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# TODO(user): move these errors to their own file and move all JavaScript 1172da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# specific errors to their own file as well. 1182da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# All ActionScript specific errors should have error number at least 1000. 1192da489cd246702bee5938545b18a6f710ed214bcJamie GennisFUNCTION_MISSING_RETURN_TYPE = 1132 1202da489cd246702bee5938545b18a6f710ed214bcJamie GennisPARAMETER_MISSING_TYPE = 1133 1212da489cd246702bee5938545b18a6f710ed214bcJamie GennisVAR_MISSING_TYPE = 1134 1222da489cd246702bee5938545b18a6f710ed214bcJamie GennisPARAMETER_MISSING_DEFAULT_VALUE = 1135 1232da489cd246702bee5938545b18a6f710ed214bcJamie GennisIMPORTS_NOT_ALPHABETIZED = 1140 1242da489cd246702bee5938545b18a6f710ed214bcJamie GennisIMPORT_CONTAINS_WILDCARD = 1141 1252da489cd246702bee5938545b18a6f710ed214bcJamie GennisUNUSED_IMPORT = 1142 1262da489cd246702bee5938545b18a6f710ed214bcJamie GennisINVALID_TRACE_SEVERITY_LEVEL = 1250 1272da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_TRACE_SEVERITY_LEVEL = 1251 1282da489cd246702bee5938545b18a6f710ed214bcJamie GennisMISSING_TRACE_MESSAGE = 1252 1292da489cd246702bee5938545b18a6f710ed214bcJamie GennisREMOVE_TRACE_BEFORE_SUBMIT = 1253 1302da489cd246702bee5938545b18a6f710ed214bcJamie GennisREMOVE_COMMENT_BEFORE_SUBMIT = 1254 1312da489cd246702bee5938545b18a6f710ed214bcJamie Gennis# End of list of ActionScript specific errors. 1322da489cd246702bee5938545b18a6f710ed214bcJamie Gennis 1332da489cd246702bee5938545b18a6f710ed214bcJamie GennisNEW_ERRORS = frozenset([ 1342da489cd246702bee5938545b18a6f710ed214bcJamie Gennis # Errors added after 2.0.2: 1352da489cd246702bee5938545b18a6f710ed214bcJamie Gennis WRONG_INDENTATION, 1362da489cd246702bee5938545b18a6f710ed214bcJamie Gennis MISSING_SEMICOLON, 1372da489cd246702bee5938545b18a6f710ed214bcJamie Gennis # Errors added after 2.3.4: 1382da489cd246702bee5938545b18a6f710ed214bcJamie Gennis MISSING_END_OF_SCOPE_COMMENT, 1392da489cd246702bee5938545b18a6f710ed214bcJamie Gennis MALFORMED_END_OF_SCOPE_COMMENT, 1402da489cd246702bee5938545b18a6f710ed214bcJamie Gennis UNUSED_PRIVATE_MEMBER, 1412da489cd246702bee5938545b18a6f710ed214bcJamie Gennis # Errors added after 2.3.5: 1422da489cd246702bee5938545b18a6f710ed214bcJamie Gennis ]) 143