en.h 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // Tencent is pleased to support the open source community by making RapidJSON available.
  2. //
  3. // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
  4. //
  5. // Licensed under the MIT License (the "License"); you may not use this file except
  6. // in compliance with the License. You may obtain a copy of the License at
  7. //
  8. // http://opensource.org/licenses/MIT
  9. //
  10. // Unless required by applicable law or agreed to in writing, software distributed
  11. // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
  12. // CONDITIONS OF ANY KIND, either express or implied. See the License for the
  13. // specific language governing permissions and limitations under the License.
  14. #ifndef RAPIDJSON_ERROR_EN_H_
  15. #define RAPIDJSON_ERROR_EN_H_
  16. #include "error.h"
  17. #ifdef __clang__
  18. RAPIDJSON_DIAG_PUSH
  19. RAPIDJSON_DIAG_OFF(switch-enum)
  20. RAPIDJSON_DIAG_OFF(covered-switch-default)
  21. #endif
  22. RAPIDJSON_NAMESPACE_BEGIN
  23. //! Maps error code of parsing into error message.
  24. /*!
  25. \ingroup RAPIDJSON_ERRORS
  26. \param parseErrorCode Error code obtained in parsing.
  27. \return the error message.
  28. \note User can make a copy of this function for localization.
  29. Using switch-case is safer for future modification of error codes.
  30. */
  31. inline const RAPIDJSON_ERROR_CHARTYPE* GetParseError_En(ParseErrorCode parseErrorCode) {
  32. switch (parseErrorCode) {
  33. case kParseErrorNone: return RAPIDJSON_ERROR_STRING("No error.");
  34. case kParseErrorDocumentEmpty: return RAPIDJSON_ERROR_STRING("The document is empty.");
  35. case kParseErrorDocumentRootNotSingular: return RAPIDJSON_ERROR_STRING("The document root must not be followed by other values.");
  36. case kParseErrorValueInvalid: return RAPIDJSON_ERROR_STRING("Invalid value.");
  37. case kParseErrorObjectMissName: return RAPIDJSON_ERROR_STRING("Missing a name for object member.");
  38. case kParseErrorObjectMissColon: return RAPIDJSON_ERROR_STRING("Missing a colon after a name of object member.");
  39. case kParseErrorObjectMissCommaOrCurlyBracket: return RAPIDJSON_ERROR_STRING("Missing a comma or '}' after an object member.");
  40. case kParseErrorArrayMissCommaOrSquareBracket: return RAPIDJSON_ERROR_STRING("Missing a comma or ']' after an array element.");
  41. case kParseErrorStringUnicodeEscapeInvalidHex: return RAPIDJSON_ERROR_STRING("Incorrect hex digit after \\u escape in string.");
  42. case kParseErrorStringUnicodeSurrogateInvalid: return RAPIDJSON_ERROR_STRING("The surrogate pair in string is invalid.");
  43. case kParseErrorStringEscapeInvalid: return RAPIDJSON_ERROR_STRING("Invalid escape character in string.");
  44. case kParseErrorStringMissQuotationMark: return RAPIDJSON_ERROR_STRING("Missing a closing quotation mark in string.");
  45. case kParseErrorStringInvalidEncoding: return RAPIDJSON_ERROR_STRING("Invalid encoding in string.");
  46. case kParseErrorNumberTooBig: return RAPIDJSON_ERROR_STRING("Number too big to be stored in double.");
  47. case kParseErrorNumberMissFraction: return RAPIDJSON_ERROR_STRING("Miss fraction part in number.");
  48. case kParseErrorNumberMissExponent: return RAPIDJSON_ERROR_STRING("Miss exponent in number.");
  49. case kParseErrorTermination: return RAPIDJSON_ERROR_STRING("Terminate parsing due to Handler error.");
  50. case kParseErrorUnspecificSyntaxError: return RAPIDJSON_ERROR_STRING("Unspecific syntax error.");
  51. default: return RAPIDJSON_ERROR_STRING("Unknown error.");
  52. }
  53. }
  54. RAPIDJSON_NAMESPACE_END
  55. #ifdef __clang__
  56. RAPIDJSON_DIAG_POP
  57. #endif
  58. #endif // RAPIDJSON_ERROR_EN_H_