jaclang 0.6.0__py3-none-any.whl → 0.6.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of jaclang might be problematic. Click here for more details.

Files changed (1348) hide show
  1. jaclang/__init__.py +1 -9
  2. jaclang/cli/.gitignore +3 -0
  3. jaclang/cli/cli.md +190 -0
  4. jaclang/cli/cli.py +115 -7
  5. jaclang/cli/cmdreg.py +18 -6
  6. jaclang/compiler/.gitignore +1 -0
  7. jaclang/compiler/__init__.py +1 -0
  8. jaclang/compiler/absyntree.py +8 -9
  9. jaclang/compiler/compile.py +4 -4
  10. jaclang/compiler/jac.lark +1 -0
  11. jaclang/compiler/parser.py +16 -3
  12. jaclang/compiler/passes/main/def_impl_match_pass.py +8 -1
  13. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +20 -8
  14. jaclang/compiler/passes/main/import_pass.py +78 -47
  15. jaclang/compiler/passes/main/pyast_gen_pass.py +6 -57
  16. jaclang/compiler/passes/main/pyast_load_pass.py +33 -6
  17. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +218 -0
  18. jaclang/compiler/passes/main/schedules.py +2 -0
  19. jaclang/compiler/passes/main/sym_tab_build_pass.py +9 -3
  20. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +3 -0
  21. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +3 -0
  22. jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +9 -0
  23. jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +3 -0
  24. jaclang/compiler/passes/main/tests/fixtures/base.jac +13 -0
  25. jaclang/compiler/passes/main/tests/fixtures/base2.jac +14 -0
  26. jaclang/compiler/passes/main/tests/fixtures/blip.jac +2 -0
  27. jaclang/compiler/passes/main/tests/fixtures/codegentext.jac +31 -0
  28. jaclang/compiler/passes/main/tests/fixtures/decls.jac +10 -0
  29. jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +44 -0
  30. jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +4 -0
  31. jaclang/compiler/passes/main/tests/fixtures/func.jac +18 -0
  32. jaclang/compiler/passes/main/tests/fixtures/func2.jac +8 -0
  33. jaclang/compiler/passes/main/tests/fixtures/game1.jac +15 -0
  34. jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +8 -0
  35. jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +8 -0
  36. jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +11 -0
  37. jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac +7 -0
  38. jaclang/compiler/passes/main/tests/fixtures/registry.jac +36 -0
  39. jaclang/compiler/passes/main/tests/fixtures/type_info.jac +31 -0
  40. jaclang/compiler/passes/main/tests/test_import_pass.py +11 -0
  41. jaclang/compiler/passes/main/tests/test_type_check_pass.py +15 -0
  42. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +480 -0
  43. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +480 -0
  44. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +36 -0
  45. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +17 -0
  46. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +32 -0
  47. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +27 -0
  48. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +35 -0
  49. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +25 -0
  50. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +13 -0
  51. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +63 -0
  52. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +39 -0
  53. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +7 -0
  54. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +20 -0
  55. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +15 -0
  56. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +24 -0
  57. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +4 -0
  58. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +10 -0
  59. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +16 -0
  60. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +15 -0
  61. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +13 -0
  62. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +25 -0
  63. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +26 -0
  64. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +20 -0
  65. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +3 -0
  66. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +12 -0
  67. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +18 -0
  68. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +8 -0
  69. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +47 -0
  70. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +47 -0
  71. jaclang/compiler/passes/utils/mypy_ast_build.py +8 -0
  72. jaclang/compiler/tests/fixtures/fam.jac +67 -0
  73. jaclang/compiler/tests/fixtures/hello_world.jac +5 -0
  74. jaclang/compiler/tests/fixtures/kwesc.jac +5 -0
  75. jaclang/compiler/tests/fixtures/mod_doc_test.jac +1 -0
  76. jaclang/compiler/tests/fixtures/staticcheck.jac +20 -0
  77. jaclang/compiler/tests/fixtures/stuff.jac +6 -0
  78. jaclang/core/aott.py +10 -1
  79. jaclang/core/construct.py +157 -21
  80. jaclang/core/importer.py +6 -2
  81. jaclang/core/memory.py +48 -0
  82. jaclang/core/shelve_storage.py +55 -0
  83. jaclang/langserve/__init__.py +1 -0
  84. jaclang/langserve/server.py +108 -0
  85. jaclang/langserve/tests/__init__.py +1 -0
  86. jaclang/langserve/tests/defaults.py +226 -0
  87. jaclang/langserve/tests/fixtures/hello.jac +1 -0
  88. jaclang/langserve/tests/pylsp_jsonrpc/__init__.py +2 -0
  89. jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py +37 -0
  90. jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py +294 -0
  91. jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py +114 -0
  92. jaclang/langserve/tests/pylsp_jsonrpc/streams.py +113 -0
  93. jaclang/langserve/tests/session.py +255 -0
  94. jaclang/langserve/tests/test_server.py +36 -0
  95. jaclang/langserve/utils.py +53 -0
  96. jaclang/plugin/__init__.py +1 -2
  97. jaclang/plugin/builtin.py +1 -1
  98. jaclang/plugin/default.py +97 -4
  99. jaclang/plugin/feature.py +28 -9
  100. jaclang/plugin/spec.py +45 -10
  101. jaclang/plugin/tests/fixtures/impl_match.jac +9 -0
  102. jaclang/plugin/tests/fixtures/impl_match_impl.jac +3 -0
  103. jaclang/plugin/tests/fixtures/simple_node_connection.jac +55 -0
  104. jaclang/plugin/tests/fixtures/simple_persistent.jac +41 -0
  105. jaclang/plugin/tests/test_jaseci.py +219 -0
  106. jaclang/settings.py +5 -0
  107. jaclang/tests/fixtures/abc.jac +73 -0
  108. jaclang/tests/fixtures/access_checker.jac +19 -0
  109. jaclang/tests/fixtures/access_modifier.jac +49 -0
  110. jaclang/tests/fixtures/aott_raise.jac +25 -0
  111. jaclang/tests/fixtures/arithmetic_bug.jac +13 -0
  112. jaclang/tests/fixtures/assign_compr.jac +15 -0
  113. jaclang/tests/fixtures/assign_compr_dup.jac +15 -0
  114. jaclang/tests/fixtures/builtin_dotgen.jac +41 -0
  115. jaclang/tests/fixtures/chandra_bugs.jac +11 -0
  116. jaclang/tests/fixtures/chandra_bugs2.jac +26 -0
  117. jaclang/tests/fixtures/circle_pysolo.py +91 -0
  118. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +9 -0
  119. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +9 -0
  120. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +6 -0
  121. jaclang/tests/fixtures/deep/mycode.jac +4 -0
  122. jaclang/tests/fixtures/deep/one_lev.jac +6 -0
  123. jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
  124. jaclang/tests/fixtures/deep/one_lev_dup_py.py +6 -0
  125. jaclang/tests/fixtures/deep_convert.jac +5 -0
  126. jaclang/tests/fixtures/deep_convo.py +6 -0
  127. jaclang/tests/fixtures/deep_import.jac +7 -0
  128. jaclang/tests/fixtures/deferred_field.jac +13 -0
  129. jaclang/tests/fixtures/disconn.jac +29 -0
  130. jaclang/tests/fixtures/edge_node_walk.jac +46 -0
  131. jaclang/tests/fixtures/edge_ops.jac +45 -0
  132. jaclang/tests/fixtures/edges_walk.jac +38 -0
  133. jaclang/tests/fixtures/enum_inside_archtype.jac +20 -0
  134. jaclang/tests/fixtures/err.jac +5 -0
  135. jaclang/tests/fixtures/err2.jac +5 -0
  136. jaclang/tests/fixtures/game1.jac +15 -0
  137. jaclang/tests/fixtures/gendot_bubble_sort.jac +77 -0
  138. jaclang/tests/fixtures/guess_game.jac +47 -0
  139. jaclang/tests/fixtures/has_goodness.jac +15 -0
  140. jaclang/tests/fixtures/hashcheck.jac +12 -0
  141. jaclang/tests/fixtures/hashcheck_dup.jac +12 -0
  142. jaclang/tests/fixtures/hello.jac +5 -0
  143. jaclang/tests/fixtures/hello_nc.jac +5 -0
  144. jaclang/tests/fixtures/ignore.jac +43 -0
  145. jaclang/tests/fixtures/ignore_dup.jac +43 -0
  146. jaclang/tests/fixtures/impl_grab.impl.jac +4 -0
  147. jaclang/tests/fixtures/impl_grab.jac +2 -0
  148. jaclang/tests/fixtures/inherit_check.jac +33 -0
  149. jaclang/tests/fixtures/jacsamp.jac +6 -0
  150. jaclang/tests/fixtures/jp_importer.jac +17 -0
  151. jaclang/tests/fixtures/lambda.jac +6 -0
  152. jaclang/tests/fixtures/maxfail_run_test.jac +5 -0
  153. jaclang/tests/fixtures/mtest.impl.jac +6 -0
  154. jaclang/tests/fixtures/mtest.jac +6 -0
  155. jaclang/tests/fixtures/needs_import.jac +18 -0
  156. jaclang/tests/fixtures/needs_import_1.jac +6 -0
  157. jaclang/tests/fixtures/needs_import_2.jac +6 -0
  158. jaclang/tests/fixtures/needs_import_3.jac +6 -0
  159. jaclang/tests/fixtures/needs_import_dup.jac +18 -0
  160. jaclang/tests/fixtures/package_import.jac +6 -0
  161. jaclang/tests/fixtures/pyfunc.py +11 -0
  162. jaclang/tests/fixtures/pyfunc_1.py +311 -0
  163. jaclang/tests/fixtures/pyfunc_2.py +279 -0
  164. jaclang/tests/fixtures/pyfunc_3.py +310 -0
  165. jaclang/tests/fixtures/random_check.jac +62 -0
  166. jaclang/tests/fixtures/raw_byte_string.jac +18 -0
  167. jaclang/tests/fixtures/registry.jac +37 -0
  168. jaclang/tests/fixtures/run_test.jac +5 -0
  169. jaclang/tests/fixtures/semstr.jac +33 -0
  170. jaclang/tests/fixtures/simple_archs.jac +26 -0
  171. jaclang/tests/fixtures/slice_vals.jac +7 -0
  172. jaclang/tests/fixtures/sub_abil_sep.jac +15 -0
  173. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +17 -0
  174. jaclang/tests/fixtures/try_finally.jac +34 -0
  175. jaclang/tests/fixtures/tupleunpack.jac +6 -0
  176. jaclang/tests/fixtures/tuplytuples.jac +8 -0
  177. jaclang/tests/fixtures/type_info.jac +15 -0
  178. jaclang/tests/fixtures/with_context.jac +30 -0
  179. jaclang/tests/fixtures/with_llm_function.jac +33 -0
  180. jaclang/tests/fixtures/with_llm_lower.jac +45 -0
  181. jaclang/tests/fixtures/with_llm_method.jac +51 -0
  182. jaclang/tests/fixtures/with_llm_type.jac +52 -0
  183. jaclang/tests/test_cli.py +239 -0
  184. jaclang/tests/test_language.py +831 -0
  185. jaclang/tests/test_man_code.py +148 -0
  186. jaclang/tests/test_reference.py +95 -0
  187. jaclang/tests/test_settings.py +46 -0
  188. jaclang/utils/helpers.py +11 -0
  189. jaclang/utils/tests/test_lang_tools.py +17 -0
  190. jaclang/utils/treeprinter.py +17 -4
  191. jaclang/vendor/__init__.py +12 -1
  192. jaclang/vendor/attr/__init__.py +134 -0
  193. jaclang/vendor/attr/__init__.pyi +555 -0
  194. jaclang/vendor/attr/_cmp.py +150 -0
  195. jaclang/vendor/attr/_cmp.pyi +13 -0
  196. jaclang/vendor/attr/_compat.py +87 -0
  197. jaclang/vendor/attr/_config.py +31 -0
  198. jaclang/vendor/attr/_funcs.py +483 -0
  199. jaclang/vendor/attr/_make.py +3119 -0
  200. jaclang/vendor/attr/_next_gen.py +229 -0
  201. jaclang/vendor/attr/_typing_compat.pyi +15 -0
  202. jaclang/vendor/attr/_version_info.py +86 -0
  203. jaclang/vendor/attr/_version_info.pyi +9 -0
  204. jaclang/vendor/attr/converters.py +144 -0
  205. jaclang/vendor/attr/converters.pyi +13 -0
  206. jaclang/vendor/attr/exceptions.py +95 -0
  207. jaclang/vendor/attr/exceptions.pyi +17 -0
  208. jaclang/vendor/attr/filters.py +66 -0
  209. jaclang/vendor/attr/filters.pyi +6 -0
  210. jaclang/vendor/attr/setters.py +73 -0
  211. jaclang/vendor/attr/setters.pyi +19 -0
  212. jaclang/vendor/attr/validators.py +681 -0
  213. jaclang/vendor/attr/validators.pyi +88 -0
  214. jaclang/vendor/attrs/__init__.py +65 -0
  215. jaclang/vendor/attrs/__init__.pyi +67 -0
  216. jaclang/vendor/attrs/converters.py +3 -0
  217. jaclang/vendor/attrs/exceptions.py +3 -0
  218. jaclang/vendor/attrs/filters.py +3 -0
  219. jaclang/vendor/attrs/py.typed +0 -0
  220. jaclang/vendor/attrs/setters.py +3 -0
  221. jaclang/vendor/attrs/validators.py +3 -0
  222. jaclang/vendor/attrs-23.2.0.dist-info/METADATA +202 -0
  223. jaclang/vendor/attrs-23.2.0.dist-info/RECORD +35 -0
  224. jaclang/vendor/attrs-23.2.0.dist-info/WHEEL +4 -0
  225. jaclang/vendor/attrs-23.2.0.dist-info/licenses/LICENSE +21 -0
  226. jaclang/vendor/cattr/__init__.py +25 -0
  227. jaclang/vendor/cattr/converters.py +8 -0
  228. jaclang/vendor/cattr/disambiguators.py +3 -0
  229. jaclang/vendor/cattr/dispatch.py +3 -0
  230. jaclang/vendor/cattr/errors.py +15 -0
  231. jaclang/vendor/cattr/gen.py +21 -0
  232. jaclang/vendor/cattr/preconf/__init__.py +3 -0
  233. jaclang/vendor/cattr/preconf/bson.py +4 -0
  234. jaclang/vendor/cattr/preconf/json.py +4 -0
  235. jaclang/vendor/cattr/preconf/msgpack.py +4 -0
  236. jaclang/vendor/cattr/preconf/orjson.py +4 -0
  237. jaclang/vendor/cattr/preconf/pyyaml.py +4 -0
  238. jaclang/vendor/cattr/preconf/tomlkit.py +4 -0
  239. jaclang/vendor/cattr/preconf/ujson.py +4 -0
  240. jaclang/vendor/cattr/py.typed +0 -0
  241. jaclang/vendor/cattrs/__init__.py +55 -0
  242. jaclang/vendor/cattrs/_compat.py +465 -0
  243. jaclang/vendor/cattrs/_generics.py +22 -0
  244. jaclang/vendor/cattrs/converters.py +1101 -0
  245. jaclang/vendor/cattrs/disambiguators.py +132 -0
  246. jaclang/vendor/cattrs/dispatch.py +164 -0
  247. jaclang/vendor/cattrs/errors.py +129 -0
  248. jaclang/vendor/cattrs/fns.py +17 -0
  249. jaclang/vendor/cattrs/gen/__init__.py +890 -0
  250. jaclang/vendor/cattrs/gen/_consts.py +19 -0
  251. jaclang/vendor/cattrs/gen/_generics.py +43 -0
  252. jaclang/vendor/cattrs/gen/_lc.py +28 -0
  253. jaclang/vendor/cattrs/gen/_shared.py +51 -0
  254. jaclang/vendor/cattrs/gen/typeddicts.py +624 -0
  255. jaclang/vendor/cattrs/preconf/__init__.py +7 -0
  256. jaclang/vendor/cattrs/preconf/bson.py +107 -0
  257. jaclang/vendor/cattrs/preconf/cbor2.py +47 -0
  258. jaclang/vendor/cattrs/preconf/json.py +52 -0
  259. jaclang/vendor/cattrs/preconf/msgpack.py +51 -0
  260. jaclang/vendor/cattrs/preconf/orjson.py +82 -0
  261. jaclang/vendor/cattrs/preconf/pyyaml.py +60 -0
  262. jaclang/vendor/cattrs/preconf/tomlkit.py +85 -0
  263. jaclang/vendor/cattrs/preconf/ujson.py +52 -0
  264. jaclang/vendor/cattrs/py.typed +0 -0
  265. jaclang/vendor/cattrs/strategies/__init__.py +11 -0
  266. jaclang/vendor/cattrs/strategies/_class_methods.py +64 -0
  267. jaclang/vendor/cattrs/strategies/_subclasses.py +224 -0
  268. jaclang/vendor/cattrs/strategies/_unions.py +235 -0
  269. jaclang/vendor/cattrs/v.py +111 -0
  270. jaclang/vendor/cattrs-23.2.3.dist-info/METADATA +221 -0
  271. jaclang/vendor/cattrs-23.2.3.dist-info/RECORD +48 -0
  272. jaclang/vendor/cattrs-23.2.3.dist-info/WHEEL +4 -0
  273. jaclang/vendor/cattrs-23.2.3.dist-info/licenses/LICENSE +11 -0
  274. jaclang/vendor/lark/__init__.py +38 -38
  275. jaclang/vendor/lark/__pyinstaller/__init__.py +6 -7
  276. jaclang/vendor/lark/__pyinstaller/hook-lark.py +14 -14
  277. jaclang/vendor/lark/ast_utils.py +59 -70
  278. jaclang/vendor/lark/common.py +89 -113
  279. jaclang/vendor/lark/exceptions.py +292 -352
  280. jaclang/vendor/lark/grammar.py +130 -158
  281. jaclang/vendor/lark/grammars/common.lark +59 -59
  282. jaclang/vendor/lark/grammars/lark.lark +62 -62
  283. jaclang/vendor/lark/grammars/python.lark +302 -302
  284. jaclang/vendor/lark/grammars/unicode.lark +7 -7
  285. jaclang/vendor/lark/indenter.py +112 -118
  286. jaclang/vendor/lark/lark.py +661 -800
  287. jaclang/vendor/lark/lexer.py +678 -829
  288. jaclang/vendor/lark/load_grammar.py +1428 -1673
  289. jaclang/vendor/lark/parse_tree_builder.py +391 -466
  290. jaclang/vendor/lark/parser_frontends.py +257 -305
  291. jaclang/vendor/lark/parsers/cyk.py +340 -391
  292. jaclang/vendor/lark/parsers/earley.py +308 -385
  293. jaclang/vendor/lark/parsers/earley_common.py +42 -59
  294. jaclang/vendor/lark/parsers/earley_forest.py +810 -923
  295. jaclang/vendor/lark/parsers/grammar_analysis.py +203 -239
  296. jaclang/vendor/lark/parsers/lalr_analysis.py +332 -378
  297. jaclang/vendor/lark/parsers/lalr_interactive_parser.py +157 -171
  298. jaclang/vendor/lark/parsers/lalr_parser.py +122 -145
  299. jaclang/vendor/lark/parsers/lalr_parser_state.py +110 -141
  300. jaclang/vendor/lark/parsers/xearley.py +165 -209
  301. jaclang/vendor/lark/reconstruct.py +107 -131
  302. jaclang/vendor/lark/tools/__init__.py +71 -93
  303. jaclang/vendor/lark/tools/nearley.py +202 -240
  304. jaclang/vendor/lark/tools/serialize.py +32 -35
  305. jaclang/vendor/lark/tools/standalone.py +196 -225
  306. jaclang/vendor/lark/tree.py +272 -302
  307. jaclang/vendor/lark/tree_matcher.py +186 -194
  308. jaclang/vendor/lark/tree_templates.py +18 -26
  309. jaclang/vendor/lark/utils.py +361 -393
  310. jaclang/vendor/lark/visitors.py +593 -645
  311. jaclang/vendor/lark-1.1.9.dist-info/LICENSE +18 -0
  312. jaclang/vendor/lark-1.1.9.dist-info/METADATA +47 -0
  313. jaclang/vendor/lark-1.1.9.dist-info/RECORD +46 -0
  314. jaclang/vendor/lark-1.1.9.dist-info/WHEEL +5 -0
  315. jaclang/vendor/lark-1.1.9.dist-info/entry_points.txt +2 -0
  316. jaclang/vendor/lark-1.1.9.dist-info/top_level.txt +1 -0
  317. jaclang/vendor/lsprotocol/__init__.py +2 -0
  318. jaclang/vendor/lsprotocol/_hooks.py +1237 -0
  319. jaclang/vendor/lsprotocol/converters.py +17 -0
  320. jaclang/vendor/lsprotocol/py.typed +0 -0
  321. jaclang/vendor/lsprotocol/types.py +12898 -0
  322. jaclang/vendor/lsprotocol/validators.py +47 -0
  323. jaclang/vendor/lsprotocol-2023.0.1.dist-info/LICENSE +21 -0
  324. jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +65 -0
  325. jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +10 -0
  326. jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +4 -0
  327. jaclang/vendor/mypy/api.py +1 -3
  328. jaclang/vendor/mypy/applytype.py +24 -24
  329. jaclang/vendor/mypy/argmap.py +5 -9
  330. jaclang/vendor/mypy/binder.py +11 -42
  331. jaclang/vendor/mypy/build.py +78 -260
  332. jaclang/vendor/mypy/checker.py +394 -930
  333. jaclang/vendor/mypy/checkexpr.py +210 -640
  334. jaclang/vendor/mypy/checkmember.py +44 -94
  335. jaclang/vendor/mypy/checkpattern.py +32 -104
  336. jaclang/vendor/mypy/checkstrformat.py +38 -131
  337. jaclang/vendor/mypy/config_parser.py +8 -31
  338. jaclang/vendor/mypy/constant_fold.py +1 -3
  339. jaclang/vendor/mypy/constraints.py +94 -253
  340. jaclang/vendor/mypy/copytype.py +3 -13
  341. jaclang/vendor/mypy/defaults.py +2 -4
  342. jaclang/vendor/mypy/dmypy/client.py +30 -102
  343. jaclang/vendor/mypy/dmypy_server.py +31 -118
  344. jaclang/vendor/mypy/erasetype.py +6 -18
  345. jaclang/vendor/mypy/errorcodes.py +26 -64
  346. jaclang/vendor/mypy/errors.py +23 -117
  347. jaclang/vendor/mypy/evalexpr.py +1 -3
  348. jaclang/vendor/mypy/expandtype.py +37 -40
  349. jaclang/vendor/mypy/exprtotype.py +14 -27
  350. jaclang/vendor/mypy/fastparse.py +66 -215
  351. jaclang/vendor/mypy/find_sources.py +4 -14
  352. jaclang/vendor/mypy/fixup.py +5 -10
  353. jaclang/vendor/mypy/indirection.py +1 -3
  354. jaclang/vendor/mypy/infer.py +2 -6
  355. jaclang/vendor/mypy/inspections.py +3 -13
  356. jaclang/vendor/mypy/ipc.py +7 -28
  357. jaclang/vendor/mypy/join.py +20 -39
  358. jaclang/vendor/mypy/literals.py +2 -10
  359. jaclang/vendor/mypy/main.py +39 -138
  360. jaclang/vendor/mypy/maptype.py +2 -6
  361. jaclang/vendor/mypy/meet.py +23 -77
  362. jaclang/vendor/mypy/message_registry.py +33 -88
  363. jaclang/vendor/mypy/messages.py +146 -447
  364. jaclang/vendor/mypy/metastore.py +2 -6
  365. jaclang/vendor/mypy/modulefinder.py +29 -76
  366. jaclang/vendor/mypy/moduleinspect.py +5 -17
  367. jaclang/vendor/mypy/mro.py +1 -3
  368. jaclang/vendor/mypy/nodes.py +35 -119
  369. jaclang/vendor/mypy/operators.py +2 -11
  370. jaclang/vendor/mypy/options.py +3 -9
  371. jaclang/vendor/mypy/parse.py +1 -3
  372. jaclang/vendor/mypy/plugin.py +25 -75
  373. jaclang/vendor/mypy/plugins/attrs.py +53 -119
  374. jaclang/vendor/mypy/plugins/common.py +9 -29
  375. jaclang/vendor/mypy/plugins/ctypes.py +5 -15
  376. jaclang/vendor/mypy/plugins/dataclasses.py +42 -107
  377. jaclang/vendor/mypy/plugins/default.py +26 -45
  378. jaclang/vendor/mypy/plugins/enums.py +4 -17
  379. jaclang/vendor/mypy/plugins/functools.py +2 -11
  380. jaclang/vendor/mypy/plugins/proper_plugin.py +2 -6
  381. jaclang/vendor/mypy/plugins/singledispatch.py +7 -33
  382. jaclang/vendor/mypy/reachability.py +2 -8
  383. jaclang/vendor/mypy/refinfo.py +1 -3
  384. jaclang/vendor/mypy/report.py +23 -52
  385. jaclang/vendor/mypy/semanal.py +385 -693
  386. jaclang/vendor/mypy/semanal_classprop.py +9 -34
  387. jaclang/vendor/mypy/semanal_enum.py +7 -19
  388. jaclang/vendor/mypy/semanal_infer.py +1 -3
  389. jaclang/vendor/mypy/semanal_main.py +5 -25
  390. jaclang/vendor/mypy/semanal_namedtuple.py +17 -56
  391. jaclang/vendor/mypy/semanal_newtype.py +8 -27
  392. jaclang/vendor/mypy/semanal_pass1.py +2 -6
  393. jaclang/vendor/mypy/semanal_shared.py +9 -27
  394. jaclang/vendor/mypy/semanal_typeargs.py +12 -41
  395. jaclang/vendor/mypy/semanal_typeddict.py +18 -59
  396. jaclang/vendor/mypy/server/astdiff.py +9 -34
  397. jaclang/vendor/mypy/server/astmerge.py +2 -6
  398. jaclang/vendor/mypy/server/deps.py +22 -71
  399. jaclang/vendor/mypy/server/mergecheck.py +1 -3
  400. jaclang/vendor/mypy/server/objgraph.py +2 -8
  401. jaclang/vendor/mypy/server/update.py +18 -54
  402. jaclang/vendor/mypy/solve.py +4 -17
  403. jaclang/vendor/mypy/split_namespace.py +1 -3
  404. jaclang/vendor/mypy/stats.py +6 -24
  405. jaclang/vendor/mypy/strconv.py +8 -31
  406. jaclang/vendor/mypy/stubdoc.py +8 -38
  407. jaclang/vendor/mypy/stubgen.py +79 -144
  408. jaclang/vendor/mypy/stubgenc.py +22 -69
  409. jaclang/vendor/mypy/stubtest.py +62 -167
  410. jaclang/vendor/mypy/stubutil.py +45 -61
  411. jaclang/vendor/mypy/subtypes.py +57 -133
  412. jaclang/vendor/mypy/suggestions.py +19 -53
  413. jaclang/vendor/mypy/test/data.py +13 -40
  414. jaclang/vendor/mypy/test/helpers.py +18 -43
  415. jaclang/vendor/mypy/test/meta/_pytest.py +2 -13
  416. jaclang/vendor/mypy/test/meta/test_parse_data.py +5 -9
  417. jaclang/vendor/mypy/test/meta/test_update_data.py +1 -3
  418. jaclang/vendor/mypy/test/test_find_sources.py +14 -32
  419. jaclang/vendor/mypy/test/test_ref_info.py +3 -9
  420. jaclang/vendor/mypy/test/testargs.py +1 -4
  421. jaclang/vendor/mypy/test/testcheck.py +14 -47
  422. jaclang/vendor/mypy/test/testcmdline.py +3 -14
  423. jaclang/vendor/mypy/test/testconstraints.py +8 -26
  424. jaclang/vendor/mypy/test/testdaemon.py +2 -9
  425. jaclang/vendor/mypy/test/testdeps.py +4 -12
  426. jaclang/vendor/mypy/test/testdiff.py +2 -6
  427. jaclang/vendor/mypy/test/testerrorstream.py +1 -3
  428. jaclang/vendor/mypy/test/testfinegrained.py +18 -56
  429. jaclang/vendor/mypy/test/testgraph.py +3 -18
  430. jaclang/vendor/mypy/test/testinfer.py +13 -55
  431. jaclang/vendor/mypy/test/testipc.py +3 -9
  432. jaclang/vendor/mypy/test/testmerge.py +5 -17
  433. jaclang/vendor/mypy/test/testmodulefinder.py +8 -30
  434. jaclang/vendor/mypy/test/testmypyc.py +1 -3
  435. jaclang/vendor/mypy/test/testparse.py +1 -3
  436. jaclang/vendor/mypy/test/testpep561.py +4 -13
  437. jaclang/vendor/mypy/test/testpythoneval.py +2 -6
  438. jaclang/vendor/mypy/test/testreports.py +1 -2
  439. jaclang/vendor/mypy/test/testsemanal.py +3 -10
  440. jaclang/vendor/mypy/test/testsolve.py +5 -15
  441. jaclang/vendor/mypy/test/teststubgen.py +69 -210
  442. jaclang/vendor/mypy/test/teststubtest.py +123 -163
  443. jaclang/vendor/mypy/test/testsubtypes.py +14 -34
  444. jaclang/vendor/mypy/test/testtransform.py +2 -8
  445. jaclang/vendor/mypy/test/testtypegen.py +2 -8
  446. jaclang/vendor/mypy/test/testtypes.py +77 -253
  447. jaclang/vendor/mypy/test/testutil.py +1 -3
  448. jaclang/vendor/mypy/test/typefixture.py +11 -38
  449. jaclang/vendor/mypy/test/update_data.py +4 -15
  450. jaclang/vendor/mypy/test/visitors.py +1 -9
  451. jaclang/vendor/mypy/treetransform.py +8 -25
  452. jaclang/vendor/mypy/tvar_scope.py +23 -3
  453. jaclang/vendor/mypy/type_visitor.py +3 -10
  454. jaclang/vendor/mypy/typeanal.py +183 -309
  455. jaclang/vendor/mypy/typeops.py +27 -73
  456. jaclang/vendor/mypy/types.py +77 -185
  457. jaclang/vendor/mypy/types_utils.py +7 -20
  458. jaclang/vendor/mypy/typeshed/LICENSE +237 -0
  459. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +309 -0
  460. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +36 -0
  461. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
  462. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +591 -0
  463. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +84 -0
  464. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
  465. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +133 -0
  466. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
  467. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
  468. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
  469. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
  470. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +207 -0
  471. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +566 -0
  472. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +281 -0
  473. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +33 -0
  474. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +164 -0
  475. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +11 -0
  476. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +28 -0
  477. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +49 -0
  478. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
  479. jaclang/vendor/mypy/typeshed/stdlib/_lsprof.pyi +35 -0
  480. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
  481. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +92 -0
  482. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +147 -0
  483. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +34 -0
  484. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +33 -0
  485. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +14 -0
  486. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
  487. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
  488. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +16 -0
  489. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +803 -0
  490. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
  491. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +59 -0
  492. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
  493. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +121 -0
  494. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
  495. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +347 -0
  496. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +37 -0
  497. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +44 -0
  498. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +9 -0
  499. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +55 -0
  500. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +41 -0
  501. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
  502. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +255 -0
  503. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +51 -0
  504. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +91 -0
  505. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
  506. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +595 -0
  507. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +92 -0
  508. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +277 -0
  509. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
  510. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
  511. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +440 -0
  512. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +19 -0
  513. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +63 -0
  514. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +9 -0
  515. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
  516. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +26 -0
  517. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +580 -0
  518. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
  519. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +20 -0
  520. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +57 -0
  521. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +121 -0
  522. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
  523. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
  524. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +64 -0
  525. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +34 -0
  526. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +47 -0
  527. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +32 -0
  528. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
  529. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +165 -0
  530. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +10 -0
  531. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +153 -0
  532. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +229 -0
  533. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +25 -0
  534. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +497 -0
  535. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +9 -0
  536. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +19 -0
  537. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +47 -0
  538. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +94 -0
  539. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +196 -0
  540. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +85 -0
  541. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +49 -0
  542. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +90 -0
  543. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +12 -0
  544. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +43 -0
  545. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +59 -0
  546. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +102 -0
  547. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +36 -0
  548. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +45 -0
  549. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
  550. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +1936 -0
  551. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +146 -0
  552. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +31 -0
  553. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +208 -0
  554. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +118 -0
  555. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +32 -0
  556. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +20 -0
  557. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +36 -0
  558. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +45 -0
  559. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +33 -0
  560. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +285 -0
  561. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +13 -0
  562. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +485 -0
  563. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
  564. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +13 -0
  565. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
  566. jaclang/vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi +0 -0
  567. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
  568. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +126 -0
  569. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +233 -0
  570. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +80 -0
  571. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +313 -0
  572. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +208 -0
  573. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +63 -0
  574. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
  575. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +21 -0
  576. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
  577. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +147 -0
  578. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +187 -0
  579. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +19 -0
  580. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
  581. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
  582. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +22 -0
  583. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +62 -0
  584. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +1 -0
  585. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +22 -0
  586. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +11 -0
  587. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +315 -0
  588. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +295 -0
  589. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +95 -0
  590. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +31 -0
  591. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +41 -0
  592. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +37 -0
  593. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +2 -0
  594. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +140 -0
  595. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +144 -0
  596. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
  597. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +20 -0
  598. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
  599. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +152 -0
  600. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +66 -0
  601. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
  602. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
  603. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
  604. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
  605. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
  606. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
  607. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +16 -0
  608. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
  609. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
  610. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
  611. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
  612. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
  613. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
  614. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
  615. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +83 -0
  616. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
  617. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
  618. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
  619. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
  620. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
  621. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
  622. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
  623. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
  624. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
  625. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
  626. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +57 -0
  627. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
  628. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
  629. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
  630. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +13 -0
  631. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +146 -0
  632. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
  633. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
  634. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +34 -0
  635. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
  636. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +50 -0
  637. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
  638. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
  639. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +2 -0
  640. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +31 -0
  641. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +21 -0
  642. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
  643. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +46 -0
  644. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
  645. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +248 -0
  646. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
  647. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +29 -0
  648. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
  649. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
  650. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +13 -0
  651. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +34 -0
  652. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
  653. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
  654. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
  655. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +23 -0
  656. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +40 -0
  657. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +31 -0
  658. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +178 -0
  659. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +12 -0
  660. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +165 -0
  661. jaclang/vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
  662. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
  663. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
  664. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +8 -0
  665. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
  666. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +8 -0
  667. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
  668. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
  669. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +9 -0
  670. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +26 -0
  671. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +38 -0
  672. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +28 -0
  673. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +70 -0
  674. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
  675. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +21 -0
  676. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +22 -0
  677. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
  678. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +320 -0
  679. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
  680. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +13 -0
  681. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +127 -0
  682. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +57 -0
  683. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +213 -0
  684. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
  685. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +88 -0
  686. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +150 -0
  687. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +178 -0
  688. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +213 -0
  689. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +37 -0
  690. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +52 -0
  691. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +11 -0
  692. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
  693. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +169 -0
  694. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +42 -0
  695. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
  696. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
  697. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +160 -0
  698. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +167 -0
  699. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +17 -0
  700. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +38 -0
  701. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
  702. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
  703. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +34 -0
  704. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +105 -0
  705. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +259 -0
  706. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +159 -0
  707. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +60 -0
  708. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +83 -0
  709. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +168 -0
  710. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
  711. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +62 -0
  712. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
  713. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
  714. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +172 -0
  715. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +179 -0
  716. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +285 -0
  717. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +49 -0
  718. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
  719. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +46 -0
  720. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
  721. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
  722. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +56 -0
  723. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +11 -0
  724. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +43 -0
  725. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +632 -0
  726. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +238 -0
  727. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +208 -0
  728. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +273 -0
  729. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +61 -0
  730. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +32 -0
  731. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +40 -0
  732. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
  733. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
  734. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
  735. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +28 -0
  736. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +42 -0
  737. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
  738. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
  739. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
  740. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
  741. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
  742. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
  743. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
  744. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
  745. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
  746. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
  747. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
  748. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
  749. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
  750. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
  751. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
  752. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
  753. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
  754. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
  755. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
  756. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
  757. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
  758. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
  759. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
  760. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
  761. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
  762. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
  763. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
  764. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
  765. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
  766. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
  767. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
  768. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
  769. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
  770. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
  771. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
  772. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
  773. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
  774. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
  775. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
  776. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
  777. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
  778. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
  779. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
  780. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
  781. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
  782. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
  783. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
  784. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
  785. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +15 -0
  786. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
  787. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
  788. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
  789. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
  790. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +42 -0
  791. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
  792. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +27 -0
  793. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
  794. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
  795. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +30 -0
  796. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +50 -0
  797. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
  798. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +96 -0
  799. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
  800. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +117 -0
  801. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +82 -0
  802. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +23 -0
  803. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +152 -0
  804. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +658 -0
  805. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +134 -0
  806. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +275 -0
  807. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +197 -0
  808. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +256 -0
  809. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +11 -0
  810. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +33 -0
  811. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +125 -0
  812. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +46 -0
  813. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +113 -0
  814. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +66 -0
  815. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +177 -0
  816. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +94 -0
  817. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
  818. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
  819. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
  820. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +90 -0
  821. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +75 -0
  822. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +189 -0
  823. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +77 -0
  824. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +39 -0
  825. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +31 -0
  826. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +36 -0
  827. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +212 -0
  828. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +103 -0
  829. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
  830. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
  831. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
  832. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
  833. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
  834. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +41 -0
  835. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +90 -0
  836. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
  837. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
  838. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +40 -0
  839. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +107 -0
  840. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +32 -0
  841. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +54 -0
  842. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +98 -0
  843. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +23 -0
  844. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
  845. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +125 -0
  846. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +111 -0
  847. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
  848. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
  849. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +209 -0
  850. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +59 -0
  851. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
  852. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +255 -0
  853. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +1157 -0
  854. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
  855. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
  856. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +24 -0
  857. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +232 -0
  858. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +181 -0
  859. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +271 -0
  860. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +167 -0
  861. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
  862. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +53 -0
  863. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +42 -0
  864. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +113 -0
  865. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +71 -0
  866. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +361 -0
  867. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +161 -0
  868. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +112 -0
  869. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +31 -0
  870. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +80 -0
  871. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +19 -0
  872. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +28 -0
  873. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +34 -0
  874. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +74 -0
  875. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +261 -0
  876. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  877. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
  878. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +85 -0
  879. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
  880. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
  881. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +66 -0
  882. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +11 -0
  883. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +138 -0
  884. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +290 -0
  885. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +36 -0
  886. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
  887. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +94 -0
  888. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
  889. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +24 -0
  890. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +42 -0
  891. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +15 -0
  892. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +155 -0
  893. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +67 -0
  894. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +46 -0
  895. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +63 -0
  896. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +185 -0
  897. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +188 -0
  898. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +27 -0
  899. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +91 -0
  900. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +204 -0
  901. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
  902. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +825 -0
  903. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +168 -0
  904. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +41 -0
  905. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
  906. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +551 -0
  907. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
  908. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +130 -0
  909. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +104 -0
  910. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +537 -0
  911. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
  912. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +132 -0
  913. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +83 -0
  914. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
  915. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +26 -0
  916. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +2615 -0
  917. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +86 -0
  918. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +93 -0
  919. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +58 -0
  920. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +373 -0
  921. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +52 -0
  922. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +48 -0
  923. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +46 -0
  924. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +16 -0
  925. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +441 -0
  926. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +122 -0
  927. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +477 -0
  928. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +267 -0
  929. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +103 -0
  930. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +2 -0
  931. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +187 -0
  932. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +108 -0
  933. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +32 -0
  934. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3654 -0
  935. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +20 -0
  936. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +14 -0
  937. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
  938. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +16 -0
  939. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
  940. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +151 -0
  941. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +116 -0
  942. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +44 -0
  943. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +9 -0
  944. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
  945. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +299 -0
  946. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1204 -0
  947. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +159 -0
  948. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +177 -0
  949. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +10 -0
  950. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +79 -0
  951. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +262 -0
  952. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +124 -0
  953. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
  954. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +713 -0
  955. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +614 -0
  956. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +976 -0
  957. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +509 -0
  958. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +73 -0
  959. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +67 -0
  960. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +27 -0
  961. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +21 -0
  962. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +342 -0
  963. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +51 -0
  964. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +69 -0
  965. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +430 -0
  966. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +47 -0
  967. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +72 -0
  968. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
  969. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +22 -0
  970. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +23 -0
  971. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  972. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +23 -0
  973. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +210 -0
  974. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +400 -0
  975. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +43 -0
  976. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
  977. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +13 -0
  978. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
  979. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +112 -0
  980. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +85 -0
  981. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +149 -0
  982. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +74 -0
  983. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +132 -0
  984. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +28 -0
  985. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  986. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +91 -0
  987. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +26 -0
  988. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +37 -0
  989. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +32 -0
  990. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +24 -0
  991. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +50 -0
  992. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +57 -0
  993. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
  994. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
  995. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +69 -0
  996. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +8 -0
  997. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +100 -0
  998. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
  999. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +404 -0
  1000. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +94 -0
  1001. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +108 -0
  1002. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +28 -0
  1003. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +34 -0
  1004. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +327 -0
  1005. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  1006. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
  1007. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
  1008. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
  1009. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
  1010. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
  1011. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +25 -0
  1012. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +19 -0
  1013. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +55 -0
  1014. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +60 -0
  1015. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +87 -0
  1016. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  1017. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +296 -0
  1018. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +143 -0
  1019. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +22 -0
  1020. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
  1021. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +306 -0
  1022. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +95 -0
  1023. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +32 -0
  1024. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +56 -0
  1025. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +38 -0
  1026. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +218 -0
  1027. jaclang/vendor/mypy/typestate.py +5 -15
  1028. jaclang/vendor/mypy/typetraverser.py +9 -3
  1029. jaclang/vendor/mypy/typevars.py +2 -8
  1030. jaclang/vendor/mypy/util.py +14 -45
  1031. jaclang/vendor/mypy/version.py +1 -19
  1032. jaclang/vendor/mypy/visitor.py +3 -9
  1033. jaclang/vendor/mypy/xml/mypy-html.css +104 -0
  1034. jaclang/vendor/mypy/xml/mypy-html.xslt +81 -0
  1035. jaclang/vendor/mypy/xml/mypy-txt.xslt +100 -0
  1036. jaclang/vendor/mypy/xml/mypy.xsd +50 -0
  1037. jaclang/vendor/mypy-1.10.0.dist-info/LICENSE +229 -0
  1038. jaclang/vendor/mypy-1.10.0.dist-info/METADATA +48 -0
  1039. jaclang/vendor/mypy-1.10.0.dist-info/RECORD +1241 -0
  1040. jaclang/vendor/mypy-1.10.0.dist-info/WHEEL +6 -0
  1041. jaclang/vendor/mypy-1.10.0.dist-info/entry_points.txt +6 -0
  1042. jaclang/vendor/mypy-1.10.0.dist-info/top_level.txt +3 -0
  1043. jaclang/vendor/mypy_extensions-1.0.0.dist-info/LICENSE +27 -0
  1044. jaclang/vendor/mypy_extensions-1.0.0.dist-info/METADATA +29 -0
  1045. jaclang/vendor/mypy_extensions-1.0.0.dist-info/RECORD +6 -0
  1046. jaclang/vendor/mypy_extensions-1.0.0.dist-info/WHEEL +5 -0
  1047. jaclang/vendor/mypy_extensions-1.0.0.dist-info/top_level.txt +1 -0
  1048. jaclang/vendor/mypy_extensions.py +21 -40
  1049. jaclang/vendor/mypyc/README.md +133 -0
  1050. jaclang/vendor/mypyc/__main__.py +1 -3
  1051. jaclang/vendor/mypyc/analysis/attrdefined.py +6 -22
  1052. jaclang/vendor/mypyc/analysis/dataflow.py +5 -3
  1053. jaclang/vendor/mypyc/analysis/ircheck.py +13 -26
  1054. jaclang/vendor/mypyc/analysis/selfleaks.py +4 -0
  1055. jaclang/vendor/mypyc/build.py +6 -19
  1056. jaclang/vendor/mypyc/codegen/emit.py +20 -73
  1057. jaclang/vendor/mypyc/codegen/emitclass.py +22 -72
  1058. jaclang/vendor/mypyc/codegen/emitfunc.py +20 -62
  1059. jaclang/vendor/mypyc/codegen/emitmodule.py +50 -117
  1060. jaclang/vendor/mypyc/codegen/emitwrapper.py +22 -78
  1061. jaclang/vendor/mypyc/codegen/literals.py +1 -3
  1062. jaclang/vendor/mypyc/common.py +1 -3
  1063. jaclang/vendor/mypyc/doc/Makefile +20 -0
  1064. jaclang/vendor/mypyc/doc/bool_operations.rst +27 -0
  1065. jaclang/vendor/mypyc/doc/compilation_units.rst +20 -0
  1066. jaclang/vendor/mypyc/doc/conf.py +59 -0
  1067. jaclang/vendor/mypyc/doc/cpython-timings.md +25 -0
  1068. jaclang/vendor/mypyc/doc/dev-intro.md +548 -0
  1069. jaclang/vendor/mypyc/doc/dict_operations.rst +59 -0
  1070. jaclang/vendor/mypyc/doc/differences_from_python.rst +332 -0
  1071. jaclang/vendor/mypyc/doc/float_operations.rst +50 -0
  1072. jaclang/vendor/mypyc/doc/future.md +42 -0
  1073. jaclang/vendor/mypyc/doc/getting_started.rst +240 -0
  1074. jaclang/vendor/mypyc/doc/index.rst +61 -0
  1075. jaclang/vendor/mypyc/doc/int_operations.rst +162 -0
  1076. jaclang/vendor/mypyc/doc/introduction.rst +150 -0
  1077. jaclang/vendor/mypyc/doc/list_operations.rst +65 -0
  1078. jaclang/vendor/mypyc/doc/make.bat +35 -0
  1079. jaclang/vendor/mypyc/doc/native_classes.rst +206 -0
  1080. jaclang/vendor/mypyc/doc/native_operations.rst +55 -0
  1081. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +244 -0
  1082. jaclang/vendor/mypyc/doc/set_operations.rst +47 -0
  1083. jaclang/vendor/mypyc/doc/str_operations.rst +35 -0
  1084. jaclang/vendor/mypyc/doc/tuple_operations.rst +33 -0
  1085. jaclang/vendor/mypyc/doc/using_type_annotations.rst +398 -0
  1086. jaclang/vendor/mypyc/external/googletest/LICENSE +28 -0
  1087. jaclang/vendor/mypyc/external/googletest/README.md +280 -0
  1088. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
  1089. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
  1090. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
  1091. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  1092. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
  1093. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
  1094. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
  1095. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
  1096. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +2236 -0
  1097. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
  1098. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
  1099. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  1100. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  1101. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
  1102. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  1103. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  1104. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  1105. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  1106. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  1107. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  1108. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  1109. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  1110. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
  1111. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
  1112. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  1113. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  1114. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  1115. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  1116. jaclang/vendor/mypyc/external/googletest/make/Makefile +61 -0
  1117. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +48 -0
  1118. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
  1119. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +387 -0
  1120. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
  1121. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +1259 -0
  1122. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +373 -0
  1123. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +110 -0
  1124. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
  1125. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +5388 -0
  1126. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +38 -0
  1127. jaclang/vendor/mypyc/ir/class_ir.py +8 -24
  1128. jaclang/vendor/mypyc/ir/func_ir.py +3 -16
  1129. jaclang/vendor/mypyc/ir/module_ir.py +2 -6
  1130. jaclang/vendor/mypyc/ir/ops.py +103 -66
  1131. jaclang/vendor/mypyc/ir/pprint.py +35 -55
  1132. jaclang/vendor/mypyc/ir/rtypes.py +16 -48
  1133. jaclang/vendor/mypyc/irbuild/ast_helpers.py +4 -1
  1134. jaclang/vendor/mypyc/irbuild/builder.py +46 -148
  1135. jaclang/vendor/mypyc/irbuild/callable_class.py +5 -19
  1136. jaclang/vendor/mypyc/irbuild/classdef.py +27 -83
  1137. jaclang/vendor/mypyc/irbuild/env_class.py +3 -9
  1138. jaclang/vendor/mypyc/irbuild/expression.py +42 -100
  1139. jaclang/vendor/mypyc/irbuild/for_helpers.py +56 -105
  1140. jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +1 -4
  1141. jaclang/vendor/mypyc/irbuild/function.py +40 -132
  1142. jaclang/vendor/mypyc/irbuild/generator.py +14 -49
  1143. jaclang/vendor/mypyc/irbuild/ll_builder.py +197 -426
  1144. jaclang/vendor/mypyc/irbuild/mapper.py +2 -13
  1145. jaclang/vendor/mypyc/irbuild/match.py +11 -36
  1146. jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +2 -7
  1147. jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +1 -4
  1148. jaclang/vendor/mypyc/irbuild/prepare.py +25 -83
  1149. jaclang/vendor/mypyc/irbuild/specialize.py +22 -72
  1150. jaclang/vendor/mypyc/irbuild/statement.py +30 -96
  1151. jaclang/vendor/mypyc/irbuild/targets.py +1 -3
  1152. jaclang/vendor/mypyc/irbuild/util.py +2 -8
  1153. jaclang/vendor/mypyc/irbuild/vtable.py +1 -3
  1154. jaclang/vendor/mypyc/lib-rt/CPy.h +638 -0
  1155. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +143 -0
  1156. jaclang/vendor/mypyc/lib-rt/dict_ops.c +446 -0
  1157. jaclang/vendor/mypyc/lib-rt/exc_ops.c +259 -0
  1158. jaclang/vendor/mypyc/lib-rt/float_ops.c +192 -0
  1159. jaclang/vendor/mypyc/lib-rt/generic_ops.c +64 -0
  1160. jaclang/vendor/mypyc/lib-rt/getargs.c +450 -0
  1161. jaclang/vendor/mypyc/lib-rt/getargsfast.c +569 -0
  1162. jaclang/vendor/mypyc/lib-rt/init.c +13 -0
  1163. jaclang/vendor/mypyc/lib-rt/int_ops.c +803 -0
  1164. jaclang/vendor/mypyc/lib-rt/list_ops.c +335 -0
  1165. jaclang/vendor/mypyc/lib-rt/misc_ops.c +942 -0
  1166. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +18 -0
  1167. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +118 -0
  1168. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +497 -0
  1169. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +533 -0
  1170. jaclang/vendor/mypyc/lib-rt/set_ops.c +17 -0
  1171. jaclang/vendor/mypyc/lib-rt/setup.py +70 -0
  1172. jaclang/vendor/mypyc/lib-rt/str_ops.c +241 -0
  1173. jaclang/vendor/mypyc/lib-rt/test_capi.cc +585 -0
  1174. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +61 -0
  1175. jaclang/vendor/mypyc/lower/__init__.py +0 -0
  1176. jaclang/vendor/mypyc/lower/int_ops.py +113 -0
  1177. jaclang/vendor/mypyc/lower/list_ops.py +45 -0
  1178. jaclang/vendor/mypyc/lower/misc_ops.py +12 -0
  1179. jaclang/vendor/mypyc/lower/registry.py +26 -0
  1180. jaclang/vendor/mypyc/options.py +1 -3
  1181. jaclang/vendor/mypyc/primitives/dict_ops.py +1 -4
  1182. jaclang/vendor/mypyc/primitives/exc_ops.py +3 -12
  1183. jaclang/vendor/mypyc/primitives/int_ops.py +22 -32
  1184. jaclang/vendor/mypyc/primitives/list_ops.py +10 -0
  1185. jaclang/vendor/mypyc/primitives/misc_ops.py +28 -22
  1186. jaclang/vendor/mypyc/primitives/registry.py +56 -19
  1187. jaclang/vendor/mypyc/primitives/set_ops.py +1 -3
  1188. jaclang/vendor/mypyc/rt_subtype.py +1 -2
  1189. jaclang/vendor/mypyc/sametype.py +2 -5
  1190. jaclang/vendor/mypyc/subtype.py +3 -12
  1191. jaclang/vendor/mypyc/test/test_alwaysdefined.py +2 -6
  1192. jaclang/vendor/mypyc/test/test_analysis.py +8 -24
  1193. jaclang/vendor/mypyc/test/test_cheader.py +12 -4
  1194. jaclang/vendor/mypyc/test/test_emit.py +4 -14
  1195. jaclang/vendor/mypyc/test/test_emitclass.py +1 -8
  1196. jaclang/vendor/mypyc/test/test_emitfunc.py +30 -77
  1197. jaclang/vendor/mypyc/test/test_emitwrapper.py +1 -3
  1198. jaclang/vendor/mypyc/test/test_exceptions.py +4 -12
  1199. jaclang/vendor/mypyc/test/test_external.py +1 -5
  1200. jaclang/vendor/mypyc/test/test_irbuild.py +2 -6
  1201. jaclang/vendor/mypyc/test/test_ircheck.py +6 -17
  1202. jaclang/vendor/mypyc/test/test_literals.py +1 -4
  1203. jaclang/vendor/mypyc/test/test_lowering.py +56 -0
  1204. jaclang/vendor/mypyc/test/test_namegen.py +1 -4
  1205. jaclang/vendor/mypyc/test/test_optimizations.py +68 -0
  1206. jaclang/vendor/mypyc/test/test_refcount.py +3 -9
  1207. jaclang/vendor/mypyc/test/test_run.py +12 -38
  1208. jaclang/vendor/mypyc/test/test_serialization.py +1 -3
  1209. jaclang/vendor/mypyc/test/test_struct.py +3 -11
  1210. jaclang/vendor/mypyc/test/test_tuplename.py +4 -13
  1211. jaclang/vendor/mypyc/test/test_typeops.py +1 -4
  1212. jaclang/vendor/mypyc/test/testutil.py +2 -6
  1213. jaclang/vendor/mypyc/test-data/alwaysdefined.test +732 -0
  1214. jaclang/vendor/mypyc/test-data/analysis.test +470 -0
  1215. jaclang/vendor/mypyc/test-data/commandline.test +245 -0
  1216. jaclang/vendor/mypyc/test-data/driver/driver.py +48 -0
  1217. jaclang/vendor/mypyc/test-data/exceptions-freq.test +125 -0
  1218. jaclang/vendor/mypyc/test-data/exceptions.test +699 -0
  1219. jaclang/vendor/mypyc/test-data/fixtures/ir.py +373 -0
  1220. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +103 -0
  1221. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +169 -0
  1222. jaclang/vendor/mypyc/test-data/irbuild-any.test +236 -0
  1223. jaclang/vendor/mypyc/test-data/irbuild-basic.test +3399 -0
  1224. jaclang/vendor/mypyc/test-data/irbuild-bool.test +424 -0
  1225. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +181 -0
  1226. jaclang/vendor/mypyc/test-data/irbuild-classes.test +1302 -0
  1227. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +480 -0
  1228. jaclang/vendor/mypyc/test-data/irbuild-dict.test +584 -0
  1229. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +215 -0
  1230. jaclang/vendor/mypyc/test-data/irbuild-float.test +497 -0
  1231. jaclang/vendor/mypyc/test-data/irbuild-generics.test +150 -0
  1232. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +437 -0
  1233. jaclang/vendor/mypyc/test-data/irbuild-i16.test +526 -0
  1234. jaclang/vendor/mypyc/test-data/irbuild-i32.test +598 -0
  1235. jaclang/vendor/mypyc/test-data/irbuild-i64.test +2144 -0
  1236. jaclang/vendor/mypyc/test-data/irbuild-int.test +194 -0
  1237. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +109 -0
  1238. jaclang/vendor/mypyc/test-data/irbuild-lists.test +513 -0
  1239. jaclang/vendor/mypyc/test-data/irbuild-match.test +1717 -0
  1240. jaclang/vendor/mypyc/test-data/irbuild-math.test +64 -0
  1241. jaclang/vendor/mypyc/test-data/irbuild-nested.test +807 -0
  1242. jaclang/vendor/mypyc/test-data/irbuild-optional.test +536 -0
  1243. jaclang/vendor/mypyc/test-data/irbuild-set.test +806 -0
  1244. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +257 -0
  1245. jaclang/vendor/mypyc/test-data/irbuild-statements.test +1060 -0
  1246. jaclang/vendor/mypyc/test-data/irbuild-str.test +312 -0
  1247. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +12 -0
  1248. jaclang/vendor/mypyc/test-data/irbuild-try.test +523 -0
  1249. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +386 -0
  1250. jaclang/vendor/mypyc/test-data/irbuild-u8.test +543 -0
  1251. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +241 -0
  1252. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +153 -0
  1253. jaclang/vendor/mypyc/test-data/lowering-int.test +377 -0
  1254. jaclang/vendor/mypyc/test-data/lowering-list.test +33 -0
  1255. jaclang/vendor/mypyc/test-data/opt-copy-propagation.test +400 -0
  1256. jaclang/vendor/mypyc/test-data/opt-flag-elimination.test +296 -0
  1257. jaclang/vendor/mypyc/test-data/refcount.test +1482 -0
  1258. jaclang/vendor/mypyc/test-data/run-async.test +173 -0
  1259. jaclang/vendor/mypyc/test-data/run-attrs.test +318 -0
  1260. jaclang/vendor/mypyc/test-data/run-bench.test +196 -0
  1261. jaclang/vendor/mypyc/test-data/run-bools.test +229 -0
  1262. jaclang/vendor/mypyc/test-data/run-bytes.test +302 -0
  1263. jaclang/vendor/mypyc/test-data/run-classes.test +2505 -0
  1264. jaclang/vendor/mypyc/test-data/run-dicts.test +334 -0
  1265. jaclang/vendor/mypyc/test-data/run-dunders.test +945 -0
  1266. jaclang/vendor/mypyc/test-data/run-exceptions.test +448 -0
  1267. jaclang/vendor/mypyc/test-data/run-floats.test +516 -0
  1268. jaclang/vendor/mypyc/test-data/run-functions.test +1310 -0
  1269. jaclang/vendor/mypyc/test-data/run-generators.test +682 -0
  1270. jaclang/vendor/mypyc/test-data/run-i16.test +338 -0
  1271. jaclang/vendor/mypyc/test-data/run-i32.test +336 -0
  1272. jaclang/vendor/mypyc/test-data/run-i64.test +1519 -0
  1273. jaclang/vendor/mypyc/test-data/run-imports.test +265 -0
  1274. jaclang/vendor/mypyc/test-data/run-integers.test +540 -0
  1275. jaclang/vendor/mypyc/test-data/run-lists.test +411 -0
  1276. jaclang/vendor/mypyc/test-data/run-loops.test +485 -0
  1277. jaclang/vendor/mypyc/test-data/run-match.test +283 -0
  1278. jaclang/vendor/mypyc/test-data/run-math.test +106 -0
  1279. jaclang/vendor/mypyc/test-data/run-misc.test +1170 -0
  1280. jaclang/vendor/mypyc/test-data/run-multimodule.test +887 -0
  1281. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +138 -0
  1282. jaclang/vendor/mypyc/test-data/run-primitives.test +375 -0
  1283. jaclang/vendor/mypyc/test-data/run-python37.test +159 -0
  1284. jaclang/vendor/mypyc/test-data/run-python38.test +88 -0
  1285. jaclang/vendor/mypyc/test-data/run-sets.test +150 -0
  1286. jaclang/vendor/mypyc/test-data/run-singledispatch.test +698 -0
  1287. jaclang/vendor/mypyc/test-data/run-strings.test +641 -0
  1288. jaclang/vendor/mypyc/test-data/run-traits.test +411 -0
  1289. jaclang/vendor/mypyc/test-data/run-tuples.test +258 -0
  1290. jaclang/vendor/mypyc/test-data/run-u8.test +303 -0
  1291. jaclang/vendor/mypyc/transform/copy_propagation.py +94 -0
  1292. jaclang/vendor/mypyc/transform/exceptions.py +1 -5
  1293. jaclang/vendor/mypyc/transform/flag_elimination.py +108 -0
  1294. jaclang/vendor/mypyc/transform/ir_transform.py +368 -0
  1295. jaclang/vendor/mypyc/transform/lower.py +33 -0
  1296. jaclang/vendor/mypyc/transform/refcount.py +7 -30
  1297. jaclang/vendor/mypyc/transform/uninit.py +4 -15
  1298. jaclang/vendor/pluggy/__init__.py +15 -11
  1299. jaclang/vendor/pluggy/_callers.py +34 -5
  1300. jaclang/vendor/pluggy/_hooks.py +35 -7
  1301. jaclang/vendor/pluggy/_manager.py +26 -3
  1302. jaclang/vendor/pluggy/_result.py +0 -15
  1303. jaclang/vendor/pluggy/_version.py +16 -0
  1304. jaclang/vendor/pluggy/_warnings.py +27 -0
  1305. jaclang/vendor/pluggy-1.5.0.dist-info/LICENSE +21 -0
  1306. jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +155 -0
  1307. jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +14 -0
  1308. jaclang/vendor/pluggy-1.5.0.dist-info/top_level.txt +1 -0
  1309. jaclang/vendor/pygls/__init__.py +25 -0
  1310. jaclang/vendor/pygls/capabilities.py +460 -0
  1311. jaclang/vendor/pygls/client.py +176 -0
  1312. jaclang/vendor/pygls/constants.py +26 -0
  1313. jaclang/vendor/pygls/exceptions.py +215 -0
  1314. jaclang/vendor/pygls/feature_manager.py +244 -0
  1315. jaclang/vendor/pygls/lsp/__init__.py +139 -0
  1316. jaclang/vendor/pygls/lsp/client.py +1961 -0
  1317. jaclang/vendor/pygls/progress.py +79 -0
  1318. jaclang/vendor/pygls/protocol/__init__.py +78 -0
  1319. jaclang/vendor/pygls/protocol/json_rpc.py +560 -0
  1320. jaclang/vendor/pygls/protocol/language_server.py +569 -0
  1321. jaclang/vendor/pygls/protocol/lsp_meta.py +51 -0
  1322. jaclang/vendor/pygls/py.typed +2 -0
  1323. jaclang/vendor/pygls/server.py +616 -0
  1324. jaclang/vendor/pygls/uris.py +184 -0
  1325. jaclang/vendor/pygls/workspace/__init__.py +97 -0
  1326. jaclang/vendor/pygls/workspace/position_codec.py +206 -0
  1327. jaclang/vendor/pygls/workspace/text_document.py +238 -0
  1328. jaclang/vendor/pygls/workspace/workspace.py +323 -0
  1329. jaclang/vendor/pygls-1.3.1.dist-info/LICENSE.txt +201 -0
  1330. jaclang/vendor/pygls-1.3.1.dist-info/METADATA +105 -0
  1331. jaclang/vendor/pygls-1.3.1.dist-info/RECORD +24 -0
  1332. jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +4 -0
  1333. jaclang/vendor/typing_extensions-4.12.2.dist-info/LICENSE +279 -0
  1334. jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA +67 -0
  1335. jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD +5 -0
  1336. jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL +4 -0
  1337. jaclang/vendor/typing_extensions.py +1209 -641
  1338. jaclang-0.6.5.dist-info/METADATA +106 -0
  1339. jaclang-0.6.5.dist-info/RECORD +1476 -0
  1340. jaclang-0.6.5.dist-info/WHEEL +4 -0
  1341. jaclang-0.6.5.dist-info/entry_points.txt +3 -0
  1342. jaclang/compiler/generated/jac_parser.py +0 -4069
  1343. jaclang-0.6.0.dist-info/METADATA +0 -17
  1344. jaclang-0.6.0.dist-info/RECORD +0 -426
  1345. jaclang-0.6.0.dist-info/entry_points.txt +0 -2
  1346. jaclang-0.6.0.dist-info/top_level.txt +0 -1
  1347. /jaclang/{compiler/generated/__init__.py → vendor/attr/py.typed} +0 -0
  1348. {jaclang-0.6.0.dist-info → jaclang/vendor/pluggy-1.5.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,232 @@
1
+ // Copyright 2007, Google Inc.
2
+ // All rights reserved.
3
+ //
4
+ // Redistribution and use in source and binary forms, with or without
5
+ // modification, are permitted provided that the following conditions are
6
+ // met:
7
+ //
8
+ // * Redistributions of source code must retain the above copyright
9
+ // notice, this list of conditions and the following disclaimer.
10
+ // * Redistributions in binary form must reproduce the above
11
+ // copyright notice, this list of conditions and the following disclaimer
12
+ // in the documentation and/or other materials provided with the
13
+ // distribution.
14
+ // * Neither the name of Google Inc. nor the names of its
15
+ // contributors may be used to endorse or promote products derived from
16
+ // this software without specific prior written permission.
17
+ //
18
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+ //
30
+ // Author: wan@google.com (Zhanyong Wan)
31
+ //
32
+ // Utilities for testing Google Test itself and code that uses Google Test
33
+ // (e.g. frameworks built on top of Google Test).
34
+
35
+ #ifndef GTEST_INCLUDE_GTEST_GTEST_SPI_H_
36
+ #define GTEST_INCLUDE_GTEST_GTEST_SPI_H_
37
+
38
+ #include "gtest/gtest.h"
39
+
40
+ namespace testing {
41
+
42
+ // This helper class can be used to mock out Google Test failure reporting
43
+ // so that we can test Google Test or code that builds on Google Test.
44
+ //
45
+ // An object of this class appends a TestPartResult object to the
46
+ // TestPartResultArray object given in the constructor whenever a Google Test
47
+ // failure is reported. It can either intercept only failures that are
48
+ // generated in the same thread that created this object or it can intercept
49
+ // all generated failures. The scope of this mock object can be controlled with
50
+ // the second argument to the two arguments constructor.
51
+ class GTEST_API_ ScopedFakeTestPartResultReporter
52
+ : public TestPartResultReporterInterface {
53
+ public:
54
+ // The two possible mocking modes of this object.
55
+ enum InterceptMode {
56
+ INTERCEPT_ONLY_CURRENT_THREAD, // Intercepts only thread local failures.
57
+ INTERCEPT_ALL_THREADS // Intercepts all failures.
58
+ };
59
+
60
+ // The c'tor sets this object as the test part result reporter used
61
+ // by Google Test. The 'result' parameter specifies where to report the
62
+ // results. This reporter will only catch failures generated in the current
63
+ // thread. DEPRECATED
64
+ explicit ScopedFakeTestPartResultReporter(TestPartResultArray* result);
65
+
66
+ // Same as above, but you can choose the interception scope of this object.
67
+ ScopedFakeTestPartResultReporter(InterceptMode intercept_mode,
68
+ TestPartResultArray* result);
69
+
70
+ // The d'tor restores the previous test part result reporter.
71
+ virtual ~ScopedFakeTestPartResultReporter();
72
+
73
+ // Appends the TestPartResult object to the TestPartResultArray
74
+ // received in the constructor.
75
+ //
76
+ // This method is from the TestPartResultReporterInterface
77
+ // interface.
78
+ virtual void ReportTestPartResult(const TestPartResult& result);
79
+ private:
80
+ void Init();
81
+
82
+ const InterceptMode intercept_mode_;
83
+ TestPartResultReporterInterface* old_reporter_;
84
+ TestPartResultArray* const result_;
85
+
86
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(ScopedFakeTestPartResultReporter);
87
+ };
88
+
89
+ namespace internal {
90
+
91
+ // A helper class for implementing EXPECT_FATAL_FAILURE() and
92
+ // EXPECT_NONFATAL_FAILURE(). Its destructor verifies that the given
93
+ // TestPartResultArray contains exactly one failure that has the given
94
+ // type and contains the given substring. If that's not the case, a
95
+ // non-fatal failure will be generated.
96
+ class GTEST_API_ SingleFailureChecker {
97
+ public:
98
+ // The constructor remembers the arguments.
99
+ SingleFailureChecker(const TestPartResultArray* results,
100
+ TestPartResult::Type type,
101
+ const string& substr);
102
+ ~SingleFailureChecker();
103
+ private:
104
+ const TestPartResultArray* const results_;
105
+ const TestPartResult::Type type_;
106
+ const string substr_;
107
+
108
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(SingleFailureChecker);
109
+ };
110
+
111
+ } // namespace internal
112
+
113
+ } // namespace testing
114
+
115
+ // A set of macros for testing Google Test assertions or code that's expected
116
+ // to generate Google Test fatal failures. It verifies that the given
117
+ // statement will cause exactly one fatal Google Test failure with 'substr'
118
+ // being part of the failure message.
119
+ //
120
+ // There are two different versions of this macro. EXPECT_FATAL_FAILURE only
121
+ // affects and considers failures generated in the current thread and
122
+ // EXPECT_FATAL_FAILURE_ON_ALL_THREADS does the same but for all threads.
123
+ //
124
+ // The verification of the assertion is done correctly even when the statement
125
+ // throws an exception or aborts the current function.
126
+ //
127
+ // Known restrictions:
128
+ // - 'statement' cannot reference local non-static variables or
129
+ // non-static members of the current object.
130
+ // - 'statement' cannot return a value.
131
+ // - You cannot stream a failure message to this macro.
132
+ //
133
+ // Note that even though the implementations of the following two
134
+ // macros are much alike, we cannot refactor them to use a common
135
+ // helper macro, due to some peculiarity in how the preprocessor
136
+ // works. The AcceptsMacroThatExpandsToUnprotectedComma test in
137
+ // gtest_unittest.cc will fail to compile if we do that.
138
+ #define EXPECT_FATAL_FAILURE(statement, substr) \
139
+ do { \
140
+ class GTestExpectFatalFailureHelper {\
141
+ public:\
142
+ static void Execute() { statement; }\
143
+ };\
144
+ ::testing::TestPartResultArray gtest_failures;\
145
+ ::testing::internal::SingleFailureChecker gtest_checker(\
146
+ &gtest_failures, ::testing::TestPartResult::kFatalFailure, (substr));\
147
+ {\
148
+ ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
149
+ ::testing::ScopedFakeTestPartResultReporter:: \
150
+ INTERCEPT_ONLY_CURRENT_THREAD, &gtest_failures);\
151
+ GTestExpectFatalFailureHelper::Execute();\
152
+ }\
153
+ } while (::testing::internal::AlwaysFalse())
154
+
155
+ #define EXPECT_FATAL_FAILURE_ON_ALL_THREADS(statement, substr) \
156
+ do { \
157
+ class GTestExpectFatalFailureHelper {\
158
+ public:\
159
+ static void Execute() { statement; }\
160
+ };\
161
+ ::testing::TestPartResultArray gtest_failures;\
162
+ ::testing::internal::SingleFailureChecker gtest_checker(\
163
+ &gtest_failures, ::testing::TestPartResult::kFatalFailure, (substr));\
164
+ {\
165
+ ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
166
+ ::testing::ScopedFakeTestPartResultReporter:: \
167
+ INTERCEPT_ALL_THREADS, &gtest_failures);\
168
+ GTestExpectFatalFailureHelper::Execute();\
169
+ }\
170
+ } while (::testing::internal::AlwaysFalse())
171
+
172
+ // A macro for testing Google Test assertions or code that's expected to
173
+ // generate Google Test non-fatal failures. It asserts that the given
174
+ // statement will cause exactly one non-fatal Google Test failure with 'substr'
175
+ // being part of the failure message.
176
+ //
177
+ // There are two different versions of this macro. EXPECT_NONFATAL_FAILURE only
178
+ // affects and considers failures generated in the current thread and
179
+ // EXPECT_NONFATAL_FAILURE_ON_ALL_THREADS does the same but for all threads.
180
+ //
181
+ // 'statement' is allowed to reference local variables and members of
182
+ // the current object.
183
+ //
184
+ // The verification of the assertion is done correctly even when the statement
185
+ // throws an exception or aborts the current function.
186
+ //
187
+ // Known restrictions:
188
+ // - You cannot stream a failure message to this macro.
189
+ //
190
+ // Note that even though the implementations of the following two
191
+ // macros are much alike, we cannot refactor them to use a common
192
+ // helper macro, due to some peculiarity in how the preprocessor
193
+ // works. If we do that, the code won't compile when the user gives
194
+ // EXPECT_NONFATAL_FAILURE() a statement that contains a macro that
195
+ // expands to code containing an unprotected comma. The
196
+ // AcceptsMacroThatExpandsToUnprotectedComma test in gtest_unittest.cc
197
+ // catches that.
198
+ //
199
+ // For the same reason, we have to write
200
+ // if (::testing::internal::AlwaysTrue()) { statement; }
201
+ // instead of
202
+ // GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement)
203
+ // to avoid an MSVC warning on unreachable code.
204
+ #define EXPECT_NONFATAL_FAILURE(statement, substr) \
205
+ do {\
206
+ ::testing::TestPartResultArray gtest_failures;\
207
+ ::testing::internal::SingleFailureChecker gtest_checker(\
208
+ &gtest_failures, ::testing::TestPartResult::kNonFatalFailure, \
209
+ (substr));\
210
+ {\
211
+ ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
212
+ ::testing::ScopedFakeTestPartResultReporter:: \
213
+ INTERCEPT_ONLY_CURRENT_THREAD, &gtest_failures);\
214
+ if (::testing::internal::AlwaysTrue()) { statement; }\
215
+ }\
216
+ } while (::testing::internal::AlwaysFalse())
217
+
218
+ #define EXPECT_NONFATAL_FAILURE_ON_ALL_THREADS(statement, substr) \
219
+ do {\
220
+ ::testing::TestPartResultArray gtest_failures;\
221
+ ::testing::internal::SingleFailureChecker gtest_checker(\
222
+ &gtest_failures, ::testing::TestPartResult::kNonFatalFailure, \
223
+ (substr));\
224
+ {\
225
+ ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
226
+ ::testing::ScopedFakeTestPartResultReporter::INTERCEPT_ALL_THREADS, \
227
+ &gtest_failures);\
228
+ if (::testing::internal::AlwaysTrue()) { statement; }\
229
+ }\
230
+ } while (::testing::internal::AlwaysFalse())
231
+
232
+ #endif // GTEST_INCLUDE_GTEST_GTEST_SPI_H_
@@ -0,0 +1,179 @@
1
+ // Copyright 2008, Google Inc.
2
+ // All rights reserved.
3
+ //
4
+ // Redistribution and use in source and binary forms, with or without
5
+ // modification, are permitted provided that the following conditions are
6
+ // met:
7
+ //
8
+ // * Redistributions of source code must retain the above copyright
9
+ // notice, this list of conditions and the following disclaimer.
10
+ // * Redistributions in binary form must reproduce the above
11
+ // copyright notice, this list of conditions and the following disclaimer
12
+ // in the documentation and/or other materials provided with the
13
+ // distribution.
14
+ // * Neither the name of Google Inc. nor the names of its
15
+ // contributors may be used to endorse or promote products derived from
16
+ // this software without specific prior written permission.
17
+ //
18
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+ //
30
+ // Author: mheule@google.com (Markus Heule)
31
+ //
32
+
33
+ #ifndef GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_
34
+ #define GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_
35
+
36
+ #include <iosfwd>
37
+ #include <vector>
38
+ #include "gtest/internal/gtest-internal.h"
39
+ #include "gtest/internal/gtest-string.h"
40
+
41
+ namespace testing {
42
+
43
+ // A copyable object representing the result of a test part (i.e. an
44
+ // assertion or an explicit FAIL(), ADD_FAILURE(), or SUCCESS()).
45
+ //
46
+ // Don't inherit from TestPartResult as its destructor is not virtual.
47
+ class GTEST_API_ TestPartResult {
48
+ public:
49
+ // The possible outcomes of a test part (i.e. an assertion or an
50
+ // explicit SUCCEED(), FAIL(), or ADD_FAILURE()).
51
+ enum Type {
52
+ kSuccess, // Succeeded.
53
+ kNonFatalFailure, // Failed but the test can continue.
54
+ kFatalFailure // Failed and the test should be terminated.
55
+ };
56
+
57
+ // C'tor. TestPartResult does NOT have a default constructor.
58
+ // Always use this constructor (with parameters) to create a
59
+ // TestPartResult object.
60
+ TestPartResult(Type a_type,
61
+ const char* a_file_name,
62
+ int a_line_number,
63
+ const char* a_message)
64
+ : type_(a_type),
65
+ file_name_(a_file_name == NULL ? "" : a_file_name),
66
+ line_number_(a_line_number),
67
+ summary_(ExtractSummary(a_message)),
68
+ message_(a_message) {
69
+ }
70
+
71
+ // Gets the outcome of the test part.
72
+ Type type() const { return type_; }
73
+
74
+ // Gets the name of the source file where the test part took place, or
75
+ // NULL if it's unknown.
76
+ const char* file_name() const {
77
+ return file_name_.empty() ? NULL : file_name_.c_str();
78
+ }
79
+
80
+ // Gets the line in the source file where the test part took place,
81
+ // or -1 if it's unknown.
82
+ int line_number() const { return line_number_; }
83
+
84
+ // Gets the summary of the failure message.
85
+ const char* summary() const { return summary_.c_str(); }
86
+
87
+ // Gets the message associated with the test part.
88
+ const char* message() const { return message_.c_str(); }
89
+
90
+ // Returns true iff the test part passed.
91
+ bool passed() const { return type_ == kSuccess; }
92
+
93
+ // Returns true iff the test part failed.
94
+ bool failed() const { return type_ != kSuccess; }
95
+
96
+ // Returns true iff the test part non-fatally failed.
97
+ bool nonfatally_failed() const { return type_ == kNonFatalFailure; }
98
+
99
+ // Returns true iff the test part fatally failed.
100
+ bool fatally_failed() const { return type_ == kFatalFailure; }
101
+
102
+ private:
103
+ Type type_;
104
+
105
+ // Gets the summary of the failure message by omitting the stack
106
+ // trace in it.
107
+ static std::string ExtractSummary(const char* message);
108
+
109
+ // The name of the source file where the test part took place, or
110
+ // "" if the source file is unknown.
111
+ std::string file_name_;
112
+ // The line in the source file where the test part took place, or -1
113
+ // if the line number is unknown.
114
+ int line_number_;
115
+ std::string summary_; // The test failure summary.
116
+ std::string message_; // The test failure message.
117
+ };
118
+
119
+ // Prints a TestPartResult object.
120
+ std::ostream& operator<<(std::ostream& os, const TestPartResult& result);
121
+
122
+ // An array of TestPartResult objects.
123
+ //
124
+ // Don't inherit from TestPartResultArray as its destructor is not
125
+ // virtual.
126
+ class GTEST_API_ TestPartResultArray {
127
+ public:
128
+ TestPartResultArray() {}
129
+
130
+ // Appends the given TestPartResult to the array.
131
+ void Append(const TestPartResult& result);
132
+
133
+ // Returns the TestPartResult at the given index (0-based).
134
+ const TestPartResult& GetTestPartResult(int index) const;
135
+
136
+ // Returns the number of TestPartResult objects in the array.
137
+ int size() const;
138
+
139
+ private:
140
+ std::vector<TestPartResult> array_;
141
+
142
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(TestPartResultArray);
143
+ };
144
+
145
+ // This interface knows how to report a test part result.
146
+ class TestPartResultReporterInterface {
147
+ public:
148
+ virtual ~TestPartResultReporterInterface() {}
149
+
150
+ virtual void ReportTestPartResult(const TestPartResult& result) = 0;
151
+ };
152
+
153
+ namespace internal {
154
+
155
+ // This helper class is used by {ASSERT|EXPECT}_NO_FATAL_FAILURE to check if a
156
+ // statement generates new fatal failures. To do so it registers itself as the
157
+ // current test part result reporter. Besides checking if fatal failures were
158
+ // reported, it only delegates the reporting to the former result reporter.
159
+ // The original result reporter is restored in the destructor.
160
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN A USER PROGRAM.
161
+ class GTEST_API_ HasNewFatalFailureHelper
162
+ : public TestPartResultReporterInterface {
163
+ public:
164
+ HasNewFatalFailureHelper();
165
+ virtual ~HasNewFatalFailureHelper();
166
+ virtual void ReportTestPartResult(const TestPartResult& result);
167
+ bool has_new_fatal_failure() const { return has_new_fatal_failure_; }
168
+ private:
169
+ bool has_new_fatal_failure_;
170
+ TestPartResultReporterInterface* original_reporter_;
171
+
172
+ GTEST_DISALLOW_COPY_AND_ASSIGN_(HasNewFatalFailureHelper);
173
+ };
174
+
175
+ } // namespace internal
176
+
177
+ } // namespace testing
178
+
179
+ #endif // GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_
@@ -0,0 +1,263 @@
1
+ // Copyright 2008 Google Inc.
2
+ // All Rights Reserved.
3
+ //
4
+ // Redistribution and use in source and binary forms, with or without
5
+ // modification, are permitted provided that the following conditions are
6
+ // met:
7
+ //
8
+ // * Redistributions of source code must retain the above copyright
9
+ // notice, this list of conditions and the following disclaimer.
10
+ // * Redistributions in binary form must reproduce the above
11
+ // copyright notice, this list of conditions and the following disclaimer
12
+ // in the documentation and/or other materials provided with the
13
+ // distribution.
14
+ // * Neither the name of Google Inc. nor the names of its
15
+ // contributors may be used to endorse or promote products derived from
16
+ // this software without specific prior written permission.
17
+ //
18
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+ //
30
+ // Author: wan@google.com (Zhanyong Wan)
31
+
32
+ #ifndef GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_
33
+ #define GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_
34
+
35
+ // This header implements typed tests and type-parameterized tests.
36
+
37
+ // Typed (aka type-driven) tests repeat the same test for types in a
38
+ // list. You must know which types you want to test with when writing
39
+ // typed tests. Here's how you do it:
40
+
41
+ #if 0
42
+
43
+ // First, define a fixture class template. It should be parameterized
44
+ // by a type. Remember to derive it from testing::Test.
45
+ template <typename T>
46
+ class FooTest : public testing::Test {
47
+ public:
48
+ ...
49
+ typedef std::list<T> List;
50
+ static T shared_;
51
+ T value_;
52
+ };
53
+
54
+ // Next, associate a list of types with the test case, which will be
55
+ // repeated for each type in the list. The typedef is necessary for
56
+ // the macro to parse correctly.
57
+ typedef testing::Types<char, int, unsigned int> MyTypes;
58
+ TYPED_TEST_CASE(FooTest, MyTypes);
59
+
60
+ // If the type list contains only one type, you can write that type
61
+ // directly without Types<...>:
62
+ // TYPED_TEST_CASE(FooTest, int);
63
+
64
+ // Then, use TYPED_TEST() instead of TEST_F() to define as many typed
65
+ // tests for this test case as you want.
66
+ TYPED_TEST(FooTest, DoesBlah) {
67
+ // Inside a test, refer to TypeParam to get the type parameter.
68
+ // Since we are inside a derived class template, C++ requires use to
69
+ // visit the members of FooTest via 'this'.
70
+ TypeParam n = this->value_;
71
+
72
+ // To visit static members of the fixture, add the TestFixture::
73
+ // prefix.
74
+ n += TestFixture::shared_;
75
+
76
+ // To refer to typedefs in the fixture, add the "typename
77
+ // TestFixture::" prefix.
78
+ typename TestFixture::List values;
79
+ values.push_back(n);
80
+ ...
81
+ }
82
+
83
+ TYPED_TEST(FooTest, HasPropertyA) { ... }
84
+
85
+ #endif // 0
86
+
87
+ // Type-parameterized tests are abstract test patterns parameterized
88
+ // by a type. Compared with typed tests, type-parameterized tests
89
+ // allow you to define the test pattern without knowing what the type
90
+ // parameters are. The defined pattern can be instantiated with
91
+ // different types any number of times, in any number of translation
92
+ // units.
93
+ //
94
+ // If you are designing an interface or concept, you can define a
95
+ // suite of type-parameterized tests to verify properties that any
96
+ // valid implementation of the interface/concept should have. Then,
97
+ // each implementation can easily instantiate the test suite to verify
98
+ // that it conforms to the requirements, without having to write
99
+ // similar tests repeatedly. Here's an example:
100
+
101
+ #if 0
102
+
103
+ // First, define a fixture class template. It should be parameterized
104
+ // by a type. Remember to derive it from testing::Test.
105
+ template <typename T>
106
+ class FooTest : public testing::Test {
107
+ ...
108
+ };
109
+
110
+ // Next, declare that you will define a type-parameterized test case
111
+ // (the _P suffix is for "parameterized" or "pattern", whichever you
112
+ // prefer):
113
+ TYPED_TEST_CASE_P(FooTest);
114
+
115
+ // Then, use TYPED_TEST_P() to define as many type-parameterized tests
116
+ // for this type-parameterized test case as you want.
117
+ TYPED_TEST_P(FooTest, DoesBlah) {
118
+ // Inside a test, refer to TypeParam to get the type parameter.
119
+ TypeParam n = 0;
120
+ ...
121
+ }
122
+
123
+ TYPED_TEST_P(FooTest, HasPropertyA) { ... }
124
+
125
+ // Now the tricky part: you need to register all test patterns before
126
+ // you can instantiate them. The first argument of the macro is the
127
+ // test case name; the rest are the names of the tests in this test
128
+ // case.
129
+ REGISTER_TYPED_TEST_CASE_P(FooTest,
130
+ DoesBlah, HasPropertyA);
131
+
132
+ // Finally, you are free to instantiate the pattern with the types you
133
+ // want. If you put the above code in a header file, you can #include
134
+ // it in multiple C++ source files and instantiate it multiple times.
135
+ //
136
+ // To distinguish different instances of the pattern, the first
137
+ // argument to the INSTANTIATE_* macro is a prefix that will be added
138
+ // to the actual test case name. Remember to pick unique prefixes for
139
+ // different instances.
140
+ typedef testing::Types<char, int, unsigned int> MyTypes;
141
+ INSTANTIATE_TYPED_TEST_CASE_P(My, FooTest, MyTypes);
142
+
143
+ // If the type list contains only one type, you can write that type
144
+ // directly without Types<...>:
145
+ // INSTANTIATE_TYPED_TEST_CASE_P(My, FooTest, int);
146
+
147
+ #endif // 0
148
+
149
+ #include "gtest/internal/gtest-port.h"
150
+ #include "gtest/internal/gtest-type-util.h"
151
+
152
+ // Implements typed tests.
153
+
154
+ #if GTEST_HAS_TYPED_TEST
155
+
156
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
157
+ //
158
+ // Expands to the name of the typedef for the type parameters of the
159
+ // given test case.
160
+ # define GTEST_TYPE_PARAMS_(TestCaseName) gtest_type_params_##TestCaseName##_
161
+
162
+ // The 'Types' template argument below must have spaces around it
163
+ // since some compilers may choke on '>>' when passing a template
164
+ // instance (e.g. Types<int>)
165
+ # define TYPED_TEST_CASE(CaseName, Types) \
166
+ typedef ::testing::internal::TypeList< Types >::type \
167
+ GTEST_TYPE_PARAMS_(CaseName)
168
+
169
+ # define TYPED_TEST(CaseName, TestName) \
170
+ template <typename gtest_TypeParam_> \
171
+ class GTEST_TEST_CLASS_NAME_(CaseName, TestName) \
172
+ : public CaseName<gtest_TypeParam_> { \
173
+ private: \
174
+ typedef CaseName<gtest_TypeParam_> TestFixture; \
175
+ typedef gtest_TypeParam_ TypeParam; \
176
+ virtual void TestBody(); \
177
+ }; \
178
+ bool gtest_##CaseName##_##TestName##_registered_ GTEST_ATTRIBUTE_UNUSED_ = \
179
+ ::testing::internal::TypeParameterizedTest< \
180
+ CaseName, \
181
+ ::testing::internal::TemplateSel< \
182
+ GTEST_TEST_CLASS_NAME_(CaseName, TestName)>, \
183
+ GTEST_TYPE_PARAMS_(CaseName)>::Register(\
184
+ "", ::testing::internal::CodeLocation(__FILE__, __LINE__), \
185
+ #CaseName, #TestName, 0); \
186
+ template <typename gtest_TypeParam_> \
187
+ void GTEST_TEST_CLASS_NAME_(CaseName, TestName)<gtest_TypeParam_>::TestBody()
188
+
189
+ #endif // GTEST_HAS_TYPED_TEST
190
+
191
+ // Implements type-parameterized tests.
192
+
193
+ #if GTEST_HAS_TYPED_TEST_P
194
+
195
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
196
+ //
197
+ // Expands to the namespace name that the type-parameterized tests for
198
+ // the given type-parameterized test case are defined in. The exact
199
+ // name of the namespace is subject to change without notice.
200
+ # define GTEST_CASE_NAMESPACE_(TestCaseName) \
201
+ gtest_case_##TestCaseName##_
202
+
203
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
204
+ //
205
+ // Expands to the name of the variable used to remember the names of
206
+ // the defined tests in the given test case.
207
+ # define GTEST_TYPED_TEST_CASE_P_STATE_(TestCaseName) \
208
+ gtest_typed_test_case_p_state_##TestCaseName##_
209
+
210
+ // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE DIRECTLY.
211
+ //
212
+ // Expands to the name of the variable used to remember the names of
213
+ // the registered tests in the given test case.
214
+ # define GTEST_REGISTERED_TEST_NAMES_(TestCaseName) \
215
+ gtest_registered_test_names_##TestCaseName##_
216
+
217
+ // The variables defined in the type-parameterized test macros are
218
+ // static as typically these macros are used in a .h file that can be
219
+ // #included in multiple translation units linked together.
220
+ # define TYPED_TEST_CASE_P(CaseName) \
221
+ static ::testing::internal::TypedTestCasePState \
222
+ GTEST_TYPED_TEST_CASE_P_STATE_(CaseName)
223
+
224
+ # define TYPED_TEST_P(CaseName, TestName) \
225
+ namespace GTEST_CASE_NAMESPACE_(CaseName) { \
226
+ template <typename gtest_TypeParam_> \
227
+ class TestName : public CaseName<gtest_TypeParam_> { \
228
+ private: \
229
+ typedef CaseName<gtest_TypeParam_> TestFixture; \
230
+ typedef gtest_TypeParam_ TypeParam; \
231
+ virtual void TestBody(); \
232
+ }; \
233
+ static bool gtest_##TestName##_defined_ GTEST_ATTRIBUTE_UNUSED_ = \
234
+ GTEST_TYPED_TEST_CASE_P_STATE_(CaseName).AddTestName(\
235
+ __FILE__, __LINE__, #CaseName, #TestName); \
236
+ } \
237
+ template <typename gtest_TypeParam_> \
238
+ void GTEST_CASE_NAMESPACE_(CaseName)::TestName<gtest_TypeParam_>::TestBody()
239
+
240
+ # define REGISTER_TYPED_TEST_CASE_P(CaseName, ...) \
241
+ namespace GTEST_CASE_NAMESPACE_(CaseName) { \
242
+ typedef ::testing::internal::Templates<__VA_ARGS__>::type gtest_AllTests_; \
243
+ } \
244
+ static const char* const GTEST_REGISTERED_TEST_NAMES_(CaseName) = \
245
+ GTEST_TYPED_TEST_CASE_P_STATE_(CaseName).VerifyRegisteredTestNames(\
246
+ __FILE__, __LINE__, #__VA_ARGS__)
247
+
248
+ // The 'Types' template argument below must have spaces around it
249
+ // since some compilers may choke on '>>' when passing a template
250
+ // instance (e.g. Types<int>)
251
+ # define INSTANTIATE_TYPED_TEST_CASE_P(Prefix, CaseName, Types) \
252
+ bool gtest_##Prefix##_##CaseName GTEST_ATTRIBUTE_UNUSED_ = \
253
+ ::testing::internal::TypeParameterizedTestCase<CaseName, \
254
+ GTEST_CASE_NAMESPACE_(CaseName)::gtest_AllTests_, \
255
+ ::testing::internal::TypeList< Types >::type>::Register(\
256
+ #Prefix, \
257
+ ::testing::internal::CodeLocation(__FILE__, __LINE__), \
258
+ &GTEST_TYPED_TEST_CASE_P_STATE_(CaseName), \
259
+ #CaseName, GTEST_REGISTERED_TEST_NAMES_(CaseName))
260
+
261
+ #endif // GTEST_HAS_TYPED_TEST_P
262
+
263
+ #endif // GTEST_INCLUDE_GTEST_GTEST_TYPED_TEST_H_