libv8 7.8.279.23.0beta1 → 8.4.255.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (719) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +11 -14
  4. data/CHANGELOG.md +7 -1
  5. data/README.md +10 -11
  6. data/Rakefile +30 -36
  7. data/ext/libv8/builder.rb +2 -1
  8. data/lib/libv8/version.rb +1 -1
  9. data/libv8.gemspec +1 -3
  10. data/vendor/depot_tools/{cipd.ps1 → .cipd_impl.ps1} +0 -0
  11. data/vendor/depot_tools/.gitattributes +1 -1
  12. data/vendor/depot_tools/.gitignore +3 -1
  13. data/vendor/depot_tools/.style.yapf +3 -1
  14. data/vendor/depot_tools/.vpython +55 -0
  15. data/vendor/depot_tools/.vpython3 +23 -0
  16. data/vendor/depot_tools/CROS_OWNERS +3 -1
  17. data/vendor/depot_tools/GOMA_OWNERS +9 -0
  18. data/vendor/depot_tools/LUCI_OWNERS +5 -0
  19. data/vendor/depot_tools/OWNERS +21 -6
  20. data/vendor/depot_tools/PRESUBMIT.py +35 -18
  21. data/vendor/depot_tools/README.git-cl.md +0 -14
  22. data/vendor/depot_tools/README.md +1 -1
  23. data/vendor/depot_tools/WATCHLISTS +2 -2
  24. data/vendor/depot_tools/auth.py +60 -772
  25. data/vendor/depot_tools/autoninja +12 -6
  26. data/vendor/depot_tools/autoninja.bat +6 -6
  27. data/vendor/depot_tools/autoninja.py +64 -27
  28. data/vendor/depot_tools/bb +1 -1
  29. data/vendor/depot_tools/bootstrap/{win/README.md → README.md} +28 -14
  30. data/vendor/depot_tools/bootstrap/{win/win_tools.py → bootstrap.py} +60 -43
  31. data/vendor/depot_tools/bootstrap/{win/git-bash.template.sh → git-bash.template.sh} +1 -1
  32. data/vendor/depot_tools/bootstrap/{win/git.template.bat → git.template.bat} +0 -0
  33. data/vendor/depot_tools/bootstrap/manifest.txt +27 -0
  34. data/vendor/depot_tools/bootstrap/manifest_bleeding_edge.txt +27 -0
  35. data/vendor/depot_tools/bootstrap/{win/profile.d.python.sh → profile.d.python.sh} +0 -0
  36. data/vendor/depot_tools/bootstrap/{win/python27.bleeding_edge.bat → python27.bat} +0 -0
  37. data/vendor/depot_tools/bootstrap/{win/python27.new.bat → python3.bat} +3 -3
  38. data/vendor/depot_tools/bootstrap/{win/win_tools.bat → win_tools.bat} +21 -16
  39. data/vendor/depot_tools/bootstrap_python3 +35 -0
  40. data/vendor/depot_tools/cbuildbot +1 -1
  41. data/vendor/depot_tools/chrome_set_ver +1 -1
  42. data/vendor/depot_tools/cipd +43 -39
  43. data/vendor/depot_tools/cipd.bat +2 -2
  44. data/vendor/depot_tools/cipd_client_version +1 -1
  45. data/vendor/depot_tools/cipd_client_version.digests +15 -14
  46. data/vendor/depot_tools/cipd_manifest.txt +31 -8
  47. data/vendor/depot_tools/cipd_manifest.versions +278 -158
  48. data/vendor/depot_tools/cit.py +9 -7
  49. data/vendor/depot_tools/clang_format.py +4 -1
  50. data/vendor/depot_tools/clang_format_merge_driver.py +10 -8
  51. data/vendor/depot_tools/compile_single_file.py +7 -2
  52. data/vendor/depot_tools/cpplint.py +51 -45
  53. data/vendor/depot_tools/cros +87 -0
  54. data/vendor/depot_tools/cros_sdk +1 -1
  55. data/vendor/depot_tools/crosjobs +13 -0
  56. data/vendor/depot_tools/detect_host_arch.py +0 -1
  57. data/vendor/depot_tools/dirmd +12 -0
  58. data/vendor/depot_tools/dirmd.bat +7 -0
  59. data/vendor/depot_tools/download_from_google_storage.py +47 -27
  60. data/vendor/depot_tools/ensure_bootstrap +14 -0
  61. data/vendor/depot_tools/fetch +14 -1
  62. data/vendor/depot_tools/fetch.bat +14 -1
  63. data/vendor/depot_tools/fetch.py +5 -7
  64. data/vendor/depot_tools/fetch_configs/chromium.py +6 -4
  65. data/vendor/depot_tools/fetch_configs/devtools-frontend.py +44 -0
  66. data/vendor/depot_tools/fetch_configs/ios_internal.py +10 -19
  67. data/vendor/depot_tools/fix_encoding.py +19 -5
  68. data/vendor/depot_tools/gclient +28 -12
  69. data/vendor/depot_tools/gclient-new-workdir.py +2 -0
  70. data/vendor/depot_tools/gclient.bat +18 -1
  71. data/vendor/depot_tools/gclient.py +156 -118
  72. data/vendor/depot_tools/gclient_eval.py +119 -107
  73. data/vendor/depot_tools/gclient_paths.py +67 -57
  74. data/vendor/depot_tools/gclient_scm.py +180 -169
  75. data/vendor/depot_tools/gclient_utils.py +177 -124
  76. data/vendor/depot_tools/gerrit_client.py +21 -13
  77. data/vendor/depot_tools/gerrit_util.py +188 -228
  78. data/vendor/depot_tools/git-cache +1 -1
  79. data/vendor/depot_tools/git-cl +1 -1
  80. data/vendor/depot_tools/git-drover +1 -1
  81. data/vendor/depot_tools/git-find-releases +1 -1
  82. data/vendor/depot_tools/git-footers +1 -1
  83. data/vendor/depot_tools/git-freeze +1 -1
  84. data/vendor/depot_tools/git-hyper-blame +1 -1
  85. data/vendor/depot_tools/git-map +1 -1
  86. data/vendor/depot_tools/git-map-branches +1 -1
  87. data/vendor/depot_tools/git-mark-merge-base +1 -1
  88. data/vendor/depot_tools/git-nav-downstream +1 -1
  89. data/vendor/depot_tools/git-new-branch +1 -1
  90. data/vendor/depot_tools/git-number +1 -1
  91. data/vendor/depot_tools/git-rebase-update +1 -1
  92. data/vendor/depot_tools/git-rename-branch +1 -1
  93. data/vendor/depot_tools/git-reparent-branch +1 -1
  94. data/vendor/depot_tools/git-retry +1 -1
  95. data/vendor/depot_tools/git-squash-branch +1 -1
  96. data/vendor/depot_tools/git-thaw +1 -1
  97. data/vendor/depot_tools/git-upstream-diff +1 -1
  98. data/vendor/depot_tools/git_cache.py +195 -281
  99. data/vendor/depot_tools/git_cl.py +1506 -2075
  100. data/vendor/depot_tools/git_cl_completion.sh +16 -2
  101. data/vendor/depot_tools/git_common.py +77 -32
  102. data/vendor/depot_tools/git_drover.py +17 -8
  103. data/vendor/depot_tools/git_find_releases.py +11 -9
  104. data/vendor/depot_tools/git_footers.py +13 -9
  105. data/vendor/depot_tools/git_freezer.py +3 -1
  106. data/vendor/depot_tools/git_hyper_blame.py +25 -32
  107. data/vendor/depot_tools/git_map.py +115 -93
  108. data/vendor/depot_tools/git_map_branches.py +11 -10
  109. data/vendor/depot_tools/git_mark_merge_base.py +8 -6
  110. data/vendor/depot_tools/git_nav_downstream.py +9 -6
  111. data/vendor/depot_tools/git_new_branch.py +39 -33
  112. data/vendor/depot_tools/git_number.py +28 -17
  113. data/vendor/depot_tools/git_rebase_update.py +50 -49
  114. data/vendor/depot_tools/git_rename_branch.py +2 -2
  115. data/vendor/depot_tools/git_reparent_branch.py +8 -6
  116. data/vendor/depot_tools/git_upstream_diff.py +4 -2
  117. data/vendor/depot_tools/gn.py +6 -4
  118. data/vendor/depot_tools/goma_auth +12 -0
  119. data/vendor/depot_tools/goma_auth.bat +8 -0
  120. data/vendor/depot_tools/goma_ctl +12 -0
  121. data/vendor/depot_tools/goma_ctl.bat +8 -0
  122. data/vendor/depot_tools/gsutil.py +5 -2
  123. data/vendor/depot_tools/gsutil.py.bat +8 -0
  124. data/vendor/depot_tools/gsutil.vpython +3 -1
  125. data/vendor/depot_tools/infra/config/OWNERS +2 -2
  126. data/vendor/depot_tools/infra/config/recipes.cfg +3 -2
  127. data/vendor/depot_tools/led +1 -1
  128. data/vendor/depot_tools/lockfile.py +116 -0
  129. data/vendor/depot_tools/luci-auth +1 -1
  130. data/vendor/depot_tools/lucicfg +1 -1
  131. data/vendor/depot_tools/mac_toolchain +1 -1
  132. data/vendor/depot_tools/man/html/depot_tools.html +1 -1
  133. data/vendor/depot_tools/man/html/depot_tools_tutorial.html +31 -25
  134. data/vendor/depot_tools/man/html/git-cl.html +1 -1
  135. data/vendor/depot_tools/man/html/git-drover.html +18 -18
  136. data/vendor/depot_tools/man/html/git-footers.html +1 -1
  137. data/vendor/depot_tools/man/html/git-freeze.html +3 -3
  138. data/vendor/depot_tools/man/html/git-hyper-blame.html +1 -1
  139. data/vendor/depot_tools/man/html/git-map-branches.html +2 -2
  140. data/vendor/depot_tools/man/html/git-map.html +1 -1
  141. data/vendor/depot_tools/man/html/git-mark-merge-base.html +1 -1
  142. data/vendor/depot_tools/man/html/git-nav-downstream.html +3 -3
  143. data/vendor/depot_tools/man/html/git-nav-upstream.html +12 -6
  144. data/vendor/depot_tools/man/html/git-new-branch.html +1 -1
  145. data/vendor/depot_tools/man/html/git-rebase-update.html +20 -1
  146. data/vendor/depot_tools/man/html/git-rename-branch.html +1 -1
  147. data/vendor/depot_tools/man/html/git-reparent-branch.html +1 -1
  148. data/vendor/depot_tools/man/html/git-retry.html +1 -1
  149. data/vendor/depot_tools/man/html/git-squash-branch.html +1 -1
  150. data/vendor/depot_tools/man/html/git-thaw.html +1 -1
  151. data/vendor/depot_tools/man/html/git-upstream-diff.html +10 -6
  152. data/vendor/depot_tools/man/man1/git-cl.1 +4 -4
  153. data/vendor/depot_tools/man/man1/git-drover.1 +21 -21
  154. data/vendor/depot_tools/man/man1/git-footers.1 +4 -4
  155. data/vendor/depot_tools/man/man1/git-freeze.1 +6 -6
  156. data/vendor/depot_tools/man/man1/git-hyper-blame.1 +4 -4
  157. data/vendor/depot_tools/man/man1/git-map-branches.1 +4 -4
  158. data/vendor/depot_tools/man/man1/git-map.1 +4 -4
  159. data/vendor/depot_tools/man/man1/git-mark-merge-base.1 +4 -4
  160. data/vendor/depot_tools/man/man1/git-nav-downstream.1 +6 -6
  161. data/vendor/depot_tools/man/man1/git-nav-upstream.1 +15 -9
  162. data/vendor/depot_tools/man/man1/git-new-branch.1 +3 -3
  163. data/vendor/depot_tools/man/man1/git-rebase-update.1 +14 -4
  164. data/vendor/depot_tools/man/man1/git-rename-branch.1 +4 -4
  165. data/vendor/depot_tools/man/man1/git-reparent-branch.1 +4 -4
  166. data/vendor/depot_tools/man/man1/git-retry.1 +4 -4
  167. data/vendor/depot_tools/man/man1/git-squash-branch.1 +4 -4
  168. data/vendor/depot_tools/man/man1/git-thaw.1 +4 -4
  169. data/vendor/depot_tools/man/man1/git-upstream-diff.1 +7 -13
  170. data/vendor/depot_tools/man/man7/depot_tools.7 +4 -4
  171. data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +31 -25
  172. data/vendor/depot_tools/man/src/common_demo_functions.sh +2 -2
  173. data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +3 -3
  174. data/vendor/depot_tools/man/src/filter_demo_output.py +3 -1
  175. data/vendor/depot_tools/man/src/git-new-branch.txt +2 -1
  176. data/vendor/depot_tools/man/src/git-rebase-update.txt +8 -1
  177. data/vendor/depot_tools/metrics.README.md +5 -2
  178. data/vendor/depot_tools/metrics.py +4 -4
  179. data/vendor/depot_tools/metrics_utils.py +3 -3
  180. data/vendor/depot_tools/my_activity.py +85 -251
  181. data/vendor/depot_tools/ninja +1 -0
  182. data/vendor/depot_tools/ninja-mac +0 -0
  183. data/vendor/depot_tools/ninjalog_uploader.py +146 -145
  184. data/vendor/depot_tools/ninjalog_uploader_wrapper.py +69 -60
  185. data/vendor/depot_tools/owners.py +57 -21
  186. data/vendor/depot_tools/owners_finder.py +28 -14
  187. data/vendor/depot_tools/post_build_ninja_summary.py +76 -48
  188. data/vendor/depot_tools/presubmit_canned_checks.py +293 -106
  189. data/vendor/depot_tools/presubmit_support.py +527 -333
  190. data/vendor/depot_tools/prpc +1 -1
  191. data/vendor/depot_tools/pylint +2 -12
  192. data/vendor/depot_tools/pylint-1.5 +78 -0
  193. data/vendor/depot_tools/pylint-1.6 +78 -0
  194. data/vendor/depot_tools/pylint-1.7 +78 -0
  195. data/vendor/depot_tools/pylint-1.8 +78 -0
  196. data/vendor/depot_tools/pylint-1.9 +78 -0
  197. data/vendor/depot_tools/{depot-tools-auth.bat → pylint.bat} +2 -2
  198. data/vendor/depot_tools/pylint_main.py +45 -0
  199. data/vendor/depot_tools/pylintrc +14 -1
  200. data/vendor/depot_tools/python-bin/python3 +7 -0
  201. data/vendor/depot_tools/python_runner.sh +13 -8
  202. data/vendor/depot_tools/rdb +12 -0
  203. data/vendor/depot_tools/rdb.bat +7 -0
  204. data/vendor/depot_tools/recipes/OWNERS +0 -1
  205. data/vendor/depot_tools/recipes/README.recipes.md +215 -151
  206. data/vendor/depot_tools/recipes/recipe_modules/OWNERS +1 -1
  207. data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +17 -17
  208. data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +65 -32
  209. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +12 -4
  210. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +11 -3
  211. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +12 -4
  212. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +22 -8
  213. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +27 -9
  214. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +22 -8
  215. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +22 -8
  216. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/input_commit_with_id_without_repo.json +22 -8
  217. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/multiple_patch_refs.json +22 -8
  218. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +27 -9
  219. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_HEAD.json +12 -4
  220. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_branch_head.json +10 -4
  221. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_specific_commit.json +12 -4
  222. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_master.json +10 -4
  223. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/refs.json +22 -8
  224. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +22 -8
  225. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/resolve_chromium_fixed_version.json +117 -0
  226. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +16 -10
  227. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +34 -10
  228. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +16 -10
  229. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +27 -9
  230. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +27 -9
  231. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +27 -9
  232. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +27 -9
  233. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +27 -9
  234. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +27 -9
  235. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +27 -9
  236. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +0 -5
  237. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +22 -8
  238. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +7 -23
  239. data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +187 -114
  240. data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +2 -2
  241. data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/do_not_retry_patch_failures_in_cq.py +42 -0
  242. data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/ensure_checkout.py +1 -0
  243. data/vendor/depot_tools/recipes/recipe_modules/cipd/__init__.py +0 -1
  244. data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +2 -2
  245. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +0 -1
  246. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +0 -1
  247. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +2 -4
  248. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +0 -1
  249. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +0 -1
  250. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +26 -6
  251. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +23 -5
  252. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +23 -5
  253. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +0 -1
  254. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +0 -1
  255. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +0 -1
  256. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +0 -1
  257. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +0 -1
  258. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +0 -1
  259. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +0 -1
  260. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +0 -1
  261. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +0 -1
  262. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +0 -1
  263. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +0 -1
  264. data/vendor/depot_tools/recipes/recipe_modules/cipd/test_api.py +1 -1
  265. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +4 -1
  266. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +4 -2
  267. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +3 -1
  268. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +4 -2
  269. data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +2 -1
  270. data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +82 -13
  271. data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +21 -9
  272. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +3 -4
  273. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +3 -6
  274. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +3 -4
  275. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +7 -7
  276. data/vendor/depot_tools/recipes/recipe_modules/gclient/resources/diff_deps.py +16 -0
  277. data/vendor/depot_tools/recipes/recipe_modules/gclient/test_api.py +4 -0
  278. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/basic.json +55 -0
  279. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/dont have revision yet.json +84 -0
  280. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/no change, exception.json +83 -0
  281. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/windows.json +55 -0
  282. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.py +88 -0
  283. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +9 -21
  284. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/sync_failure.py +24 -0
  285. data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +2 -1
  286. data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +7 -12
  287. data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +0 -2
  288. data/vendor/depot_tools/recipes/recipe_modules/git/api.py +9 -17
  289. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +2 -8
  290. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +2 -8
  291. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +2 -8
  292. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +2 -8
  293. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +2 -8
  294. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +2 -8
  295. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +2 -8
  296. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +3 -13
  297. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +2 -8
  298. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +4 -12
  299. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +2 -10
  300. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +1 -7
  301. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +1 -7
  302. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +0 -8
  303. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +3 -10
  304. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +3 -11
  305. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +2 -8
  306. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +3 -13
  307. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +2 -8
  308. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +2 -8
  309. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +0 -5
  310. data/vendor/depot_tools/recipes/recipe_modules/git_cl/__init__.py +1 -1
  311. data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +7 -13
  312. data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +21 -16
  313. data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.py +1 -2
  314. data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +1 -1
  315. data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +0 -1
  316. data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +2 -2
  317. data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +0 -1
  318. data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +23 -8
  319. data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +52 -1
  320. data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.py +15 -0
  321. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +1 -0
  322. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +32 -8
  323. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/ancient_version.json +83 -0
  324. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/automatic_version.json +83 -0
  325. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/explicit_version.json +83 -0
  326. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/linux.json +0 -1
  327. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +5 -4
  328. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +0 -1
  329. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +21 -2
  330. data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +20 -0
  331. data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +235 -3
  332. data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +13 -5
  333. data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.py +5 -1
  334. data/vendor/depot_tools/recipes/recipe_modules/presubmit/properties.proto +14 -0
  335. data/vendor/depot_tools/recipes/recipe_modules/presubmit/test_api.py +19 -0
  336. data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/execute.py +247 -0
  337. data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/prepare.py +49 -0
  338. data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +33 -45
  339. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +0 -1
  340. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +64 -21
  341. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +64 -21
  342. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +1 -22
  343. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +1 -22
  344. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +5 -32
  345. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_fetch_ref_timeout.py +29 -0
  346. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.expected/basic.json +5 -0
  347. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.py +22 -0
  348. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_target_ref.py +32 -0
  349. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/linux.json +0 -1
  350. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +0 -1
  351. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +2 -1
  352. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +1 -6
  353. data/vendor/depot_tools/recipes/recipes.py +49 -28
  354. data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +11 -6
  355. data/vendor/depot_tools/repo +698 -540
  356. data/vendor/depot_tools/roll-dep +14 -1
  357. data/vendor/depot_tools/roll-dep.bat +10 -1
  358. data/vendor/depot_tools/roll_dep.py +15 -10
  359. data/vendor/depot_tools/scm.py +94 -74
  360. data/vendor/depot_tools/setup_color.py +36 -2
  361. data/vendor/depot_tools/split_cl.py +44 -32
  362. data/vendor/depot_tools/subcommand.py +6 -6
  363. data/vendor/depot_tools/subprocess2.py +38 -322
  364. data/vendor/depot_tools/third_party/colorama/LICENSE.txt +0 -1
  365. data/vendor/depot_tools/third_party/colorama/README.chromium +4 -5
  366. data/vendor/depot_tools/third_party/colorama/README.rst +346 -0
  367. data/vendor/depot_tools/third_party/colorama/__init__.py +3 -4
  368. data/vendor/depot_tools/third_party/colorama/ansi.py +82 -30
  369. data/vendor/depot_tools/third_party/colorama/ansitowin32.py +105 -37
  370. data/vendor/depot_tools/third_party/colorama/initialise.py +39 -15
  371. data/vendor/depot_tools/third_party/colorama/win32.py +46 -28
  372. data/vendor/depot_tools/third_party/colorama/winterm.py +80 -31
  373. data/vendor/depot_tools/update_depot_tools +18 -8
  374. data/vendor/depot_tools/update_depot_tools.bat +19 -15
  375. data/vendor/depot_tools/upload_metrics.py +7 -6
  376. data/vendor/depot_tools/upload_to_google_storage.py +22 -15
  377. data/vendor/depot_tools/vpython +4 -4
  378. data/vendor/depot_tools/vpython.bat +1 -1
  379. data/vendor/depot_tools/vpython3 +55 -0
  380. data/vendor/depot_tools/vpython3.bat +12 -0
  381. data/vendor/depot_tools/watchlists.py +14 -11
  382. data/vendor/depot_tools/weekly +4 -2
  383. data/vendor/depot_tools/win32imports.py +61 -0
  384. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +49 -41
  385. data/vendor/depot_tools/win_toolchain/package_from_installed.py +142 -149
  386. data/vendor/depot_tools/wtf +5 -3
  387. data/vendor/depot_tools/yapf +5 -1
  388. metadata +66 -345
  389. data/vendor/depot_tools/README.testing +0 -23
  390. data/vendor/depot_tools/annotated_gclient.py +0 -89
  391. data/vendor/depot_tools/appengine_mapper.py +0 -23
  392. data/vendor/depot_tools/bootstrap/win/manifest.txt +0 -20
  393. data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +0 -20
  394. data/vendor/depot_tools/bootstrap/win/pylint.new.bat +0 -7
  395. data/vendor/depot_tools/buildbucket.py +0 -186
  396. data/vendor/depot_tools/checkout.py +0 -431
  397. data/vendor/depot_tools/cros +0 -1
  398. data/vendor/depot_tools/dart_format.py +0 -58
  399. data/vendor/depot_tools/depot-tools-auth +0 -8
  400. data/vendor/depot_tools/depot-tools-auth.py +0 -102
  401. data/vendor/depot_tools/my_reviews.py +0 -396
  402. data/vendor/depot_tools/patch.py +0 -548
  403. data/vendor/depot_tools/pylint.py +0 -30
  404. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_manifest_name.json +0 -48
  405. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +0 -239
  406. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +0 -222
  407. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/__init__.py +0 -4
  408. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/api.py +0 -29
  409. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +0 -15
  410. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +0 -15
  411. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +0 -15
  412. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +0 -15
  413. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +0 -15
  414. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +0 -15
  415. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +0 -15
  416. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +0 -15
  417. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +0 -15
  418. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +0 -15
  419. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.py +0 -33
  420. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +0 -66
  421. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +0 -11
  422. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +0 -45
  423. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +0 -45
  424. data/vendor/depot_tools/rietveld.py +0 -779
  425. data/vendor/depot_tools/roll-dep-svn +0 -8
  426. data/vendor/depot_tools/roll-dep-svn.bat +0 -12
  427. data/vendor/depot_tools/roll_dep_svn.py +0 -430
  428. data/vendor/depot_tools/support/chromite_wrapper +0 -96
  429. data/vendor/depot_tools/third_party/boto/LICENSE +0 -18
  430. data/vendor/depot_tools/third_party/boto/README.chromium +0 -43
  431. data/vendor/depot_tools/third_party/boto/README.rst +0 -163
  432. data/vendor/depot_tools/third_party/boto/__init__.py +0 -793
  433. data/vendor/depot_tools/third_party/boto/auth.py +0 -682
  434. data/vendor/depot_tools/third_party/boto/auth_handler.py +0 -58
  435. data/vendor/depot_tools/third_party/boto/cacerts/__init__.py +0 -22
  436. data/vendor/depot_tools/third_party/boto/cacerts/cacerts.txt +0 -2183
  437. data/vendor/depot_tools/third_party/boto/compat.py +0 -28
  438. data/vendor/depot_tools/third_party/boto/connection.py +0 -1081
  439. data/vendor/depot_tools/third_party/boto/contrib/__init__.py +0 -22
  440. data/vendor/depot_tools/third_party/boto/contrib/ymlmessage.py +0 -52
  441. data/vendor/depot_tools/third_party/boto/core/README +0 -58
  442. data/vendor/depot_tools/third_party/boto/core/__init__.py +0 -23
  443. data/vendor/depot_tools/third_party/boto/core/auth.py +0 -78
  444. data/vendor/depot_tools/third_party/boto/core/credentials.py +0 -154
  445. data/vendor/depot_tools/third_party/boto/core/dictresponse.py +0 -178
  446. data/vendor/depot_tools/third_party/boto/core/service.py +0 -67
  447. data/vendor/depot_tools/third_party/boto/datapipeline/__init__.py +0 -0
  448. data/vendor/depot_tools/third_party/boto/datapipeline/exceptions.py +0 -42
  449. data/vendor/depot_tools/third_party/boto/datapipeline/layer1.py +0 -546
  450. data/vendor/depot_tools/third_party/boto/ecs/__init__.py +0 -90
  451. data/vendor/depot_tools/third_party/boto/ecs/item.py +0 -153
  452. data/vendor/depot_tools/third_party/boto/exception.py +0 -476
  453. data/vendor/depot_tools/third_party/boto/file/README +0 -49
  454. data/vendor/depot_tools/third_party/boto/file/__init__.py +0 -28
  455. data/vendor/depot_tools/third_party/boto/file/bucket.py +0 -112
  456. data/vendor/depot_tools/third_party/boto/file/connection.py +0 -33
  457. data/vendor/depot_tools/third_party/boto/file/key.py +0 -199
  458. data/vendor/depot_tools/third_party/boto/file/simpleresultset.py +0 -30
  459. data/vendor/depot_tools/third_party/boto/fps/__init__.py +0 -21
  460. data/vendor/depot_tools/third_party/boto/fps/connection.py +0 -369
  461. data/vendor/depot_tools/third_party/boto/fps/exception.py +0 -344
  462. data/vendor/depot_tools/third_party/boto/fps/response.py +0 -175
  463. data/vendor/depot_tools/third_party/boto/gs/__init__.py +0 -22
  464. data/vendor/depot_tools/third_party/boto/gs/acl.py +0 -304
  465. data/vendor/depot_tools/third_party/boto/gs/bucket.py +0 -870
  466. data/vendor/depot_tools/third_party/boto/gs/bucketlistresultset.py +0 -64
  467. data/vendor/depot_tools/third_party/boto/gs/connection.py +0 -103
  468. data/vendor/depot_tools/third_party/boto/gs/cors.py +0 -169
  469. data/vendor/depot_tools/third_party/boto/gs/key.py +0 -704
  470. data/vendor/depot_tools/third_party/boto/gs/resumable_upload_handler.py +0 -659
  471. data/vendor/depot_tools/third_party/boto/gs/user.py +0 -54
  472. data/vendor/depot_tools/third_party/boto/handler.py +0 -44
  473. data/vendor/depot_tools/third_party/boto/https_connection.py +0 -124
  474. data/vendor/depot_tools/third_party/boto/jsonresponse.py +0 -163
  475. data/vendor/depot_tools/third_party/boto/manage/__init__.py +0 -23
  476. data/vendor/depot_tools/third_party/boto/manage/cmdshell.py +0 -241
  477. data/vendor/depot_tools/third_party/boto/manage/propget.py +0 -64
  478. data/vendor/depot_tools/third_party/boto/manage/server.py +0 -556
  479. data/vendor/depot_tools/third_party/boto/manage/task.py +0 -175
  480. data/vendor/depot_tools/third_party/boto/manage/test_manage.py +0 -34
  481. data/vendor/depot_tools/third_party/boto/manage/volume.py +0 -420
  482. data/vendor/depot_tools/third_party/boto/mashups/__init__.py +0 -23
  483. data/vendor/depot_tools/third_party/boto/mashups/interactive.py +0 -97
  484. data/vendor/depot_tools/third_party/boto/mashups/iobject.py +0 -115
  485. data/vendor/depot_tools/third_party/boto/mashups/order.py +0 -211
  486. data/vendor/depot_tools/third_party/boto/mashups/server.py +0 -395
  487. data/vendor/depot_tools/third_party/boto/plugin.py +0 -90
  488. data/vendor/depot_tools/third_party/boto/provider.py +0 -337
  489. data/vendor/depot_tools/third_party/boto/pyami/__init__.py +0 -22
  490. data/vendor/depot_tools/third_party/boto/pyami/bootstrap.py +0 -134
  491. data/vendor/depot_tools/third_party/boto/pyami/config.py +0 -229
  492. data/vendor/depot_tools/third_party/boto/pyami/copybot.cfg +0 -60
  493. data/vendor/depot_tools/third_party/boto/pyami/copybot.py +0 -97
  494. data/vendor/depot_tools/third_party/boto/pyami/helloworld.py +0 -28
  495. data/vendor/depot_tools/third_party/boto/pyami/launch_ami.py +0 -178
  496. data/vendor/depot_tools/third_party/boto/pyami/scriptbase.py +0 -44
  497. data/vendor/depot_tools/third_party/boto/pyami/startup.py +0 -60
  498. data/vendor/depot_tools/third_party/boto/regioninfo.py +0 -63
  499. data/vendor/depot_tools/third_party/boto/resultset.py +0 -169
  500. data/vendor/depot_tools/third_party/boto/roboto/__init__.py +0 -1
  501. data/vendor/depot_tools/third_party/boto/roboto/awsqueryrequest.py +0 -504
  502. data/vendor/depot_tools/third_party/boto/roboto/awsqueryservice.py +0 -121
  503. data/vendor/depot_tools/third_party/boto/roboto/param.py +0 -147
  504. data/vendor/depot_tools/third_party/boto/s3/__init__.py +0 -84
  505. data/vendor/depot_tools/third_party/boto/s3/acl.py +0 -164
  506. data/vendor/depot_tools/third_party/boto/s3/bucket.py +0 -1634
  507. data/vendor/depot_tools/third_party/boto/s3/bucketlistresultset.py +0 -139
  508. data/vendor/depot_tools/third_party/boto/s3/bucketlogging.py +0 -83
  509. data/vendor/depot_tools/third_party/boto/s3/connection.py +0 -540
  510. data/vendor/depot_tools/third_party/boto/s3/cors.py +0 -210
  511. data/vendor/depot_tools/third_party/boto/s3/deletemarker.py +0 -55
  512. data/vendor/depot_tools/third_party/boto/s3/key.py +0 -1712
  513. data/vendor/depot_tools/third_party/boto/s3/keyfile.py +0 -134
  514. data/vendor/depot_tools/third_party/boto/s3/lifecycle.py +0 -231
  515. data/vendor/depot_tools/third_party/boto/s3/multidelete.py +0 -138
  516. data/vendor/depot_tools/third_party/boto/s3/multipart.py +0 -315
  517. data/vendor/depot_tools/third_party/boto/s3/prefix.py +0 -42
  518. data/vendor/depot_tools/third_party/boto/s3/resumable_download_handler.py +0 -339
  519. data/vendor/depot_tools/third_party/boto/s3/tagging.py +0 -71
  520. data/vendor/depot_tools/third_party/boto/s3/user.py +0 -49
  521. data/vendor/depot_tools/third_party/boto/s3/website.py +0 -237
  522. data/vendor/depot_tools/third_party/boto/services/__init__.py +0 -23
  523. data/vendor/depot_tools/third_party/boto/services/bs.py +0 -179
  524. data/vendor/depot_tools/third_party/boto/services/message.py +0 -58
  525. data/vendor/depot_tools/third_party/boto/services/result.py +0 -136
  526. data/vendor/depot_tools/third_party/boto/services/service.py +0 -161
  527. data/vendor/depot_tools/third_party/boto/services/servicedef.py +0 -91
  528. data/vendor/depot_tools/third_party/boto/services/sonofmmm.cfg +0 -43
  529. data/vendor/depot_tools/third_party/boto/services/sonofmmm.py +0 -81
  530. data/vendor/depot_tools/third_party/boto/services/submit.py +0 -88
  531. data/vendor/depot_tools/third_party/boto/ses/__init__.py +0 -54
  532. data/vendor/depot_tools/third_party/boto/ses/connection.py +0 -521
  533. data/vendor/depot_tools/third_party/boto/ses/exceptions.py +0 -77
  534. data/vendor/depot_tools/third_party/boto/storage_uri.py +0 -835
  535. data/vendor/depot_tools/third_party/boto/sts/__init__.py +0 -55
  536. data/vendor/depot_tools/third_party/boto/sts/connection.py +0 -207
  537. data/vendor/depot_tools/third_party/boto/sts/credentials.py +0 -215
  538. data/vendor/depot_tools/third_party/boto/utils.py +0 -927
  539. data/vendor/depot_tools/third_party/colorama/README.txt +0 -304
  540. data/vendor/depot_tools/third_party/fancy_urllib/README +0 -22
  541. data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +0 -460
  542. data/vendor/depot_tools/third_party/logilab/README.chromium +0 -6
  543. data/vendor/depot_tools/third_party/logilab/__init__.py +0 -0
  544. data/vendor/depot_tools/third_party/logilab/astroid/LICENSE.txt +0 -340
  545. data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +0 -11
  546. data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +0 -136
  547. data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +0 -42
  548. data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +0 -233
  549. data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +0 -548
  550. data/vendor/depot_tools/third_party/logilab/astroid/astpeephole.py +0 -86
  551. data/vendor/depot_tools/third_party/logilab/astroid/bases.py +0 -636
  552. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_builtin_inference.py +0 -336
  553. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +0 -15
  554. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_gi.py +0 -195
  555. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_mechanize.py +0 -18
  556. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_nose.py +0 -82
  557. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +0 -62
  558. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +0 -76
  559. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +0 -44
  560. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_six.py +0 -288
  561. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +0 -65
  562. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +0 -473
  563. data/vendor/depot_tools/third_party/logilab/astroid/builder.py +0 -263
  564. data/vendor/depot_tools/third_party/logilab/astroid/context.py +0 -81
  565. data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +0 -75
  566. data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +0 -71
  567. data/vendor/depot_tools/third_party/logilab/astroid/inference.py +0 -359
  568. data/vendor/depot_tools/third_party/logilab/astroid/manager.py +0 -267
  569. data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +0 -147
  570. data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +0 -741
  571. data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +0 -1053
  572. data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +0 -87
  573. data/vendor/depot_tools/third_party/logilab/astroid/objects.py +0 -186
  574. data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +0 -470
  575. data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +0 -390
  576. data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +0 -989
  577. data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +0 -1716
  578. data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +0 -201
  579. data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +0 -96
  580. data/vendor/depot_tools/third_party/logilab/astroid/util.py +0 -89
  581. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +0 -19
  582. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +0 -11
  583. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +0 -20
  584. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +0 -1421
  585. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +0 -9
  586. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +0 -246
  587. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +0 -414
  588. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +0 -13
  589. data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +0 -24
  590. data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +0 -11
  591. data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +0 -19
  592. data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +0 -2729
  593. data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +0 -96
  594. data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +0 -512
  595. data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +0 -228
  596. data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +0 -901
  597. data/vendor/depot_tools/third_party/mock/LICENSE.txt +0 -26
  598. data/vendor/depot_tools/third_party/mock/README.chromium +0 -24
  599. data/vendor/depot_tools/third_party/mock/__init__.py +0 -2366
  600. data/vendor/depot_tools/third_party/oauth2client/LICENSE +0 -202
  601. data/vendor/depot_tools/third_party/oauth2client/MODIFICATIONS.diff +0 -66
  602. data/vendor/depot_tools/third_party/oauth2client/README.chromium +0 -15
  603. data/vendor/depot_tools/third_party/oauth2client/__init__.py +0 -5
  604. data/vendor/depot_tools/third_party/oauth2client/anyjson.py +0 -32
  605. data/vendor/depot_tools/third_party/oauth2client/appengine.py +0 -963
  606. data/vendor/depot_tools/third_party/oauth2client/client.py +0 -1363
  607. data/vendor/depot_tools/third_party/oauth2client/clientsecrets.py +0 -153
  608. data/vendor/depot_tools/third_party/oauth2client/crypt.py +0 -377
  609. data/vendor/depot_tools/third_party/oauth2client/django_orm.py +0 -134
  610. data/vendor/depot_tools/third_party/oauth2client/file.py +0 -124
  611. data/vendor/depot_tools/third_party/oauth2client/gce.py +0 -90
  612. data/vendor/depot_tools/third_party/oauth2client/keyring_storage.py +0 -109
  613. data/vendor/depot_tools/third_party/oauth2client/locked_file.py +0 -373
  614. data/vendor/depot_tools/third_party/oauth2client/multistore_file.py +0 -465
  615. data/vendor/depot_tools/third_party/oauth2client/old_run.py +0 -160
  616. data/vendor/depot_tools/third_party/oauth2client/tools.py +0 -243
  617. data/vendor/depot_tools/third_party/oauth2client/util.py +0 -196
  618. data/vendor/depot_tools/third_party/oauth2client/xsrfutil.py +0 -113
  619. data/vendor/depot_tools/third_party/protobuf26/README.chromium +0 -23
  620. data/vendor/depot_tools/third_party/protobuf26/__init__.py +0 -0
  621. data/vendor/depot_tools/third_party/protobuf26/compiler/__init__.py +0 -0
  622. data/vendor/depot_tools/third_party/protobuf26/compiler/plugin_pb2.py +0 -184
  623. data/vendor/depot_tools/third_party/protobuf26/descriptor.py +0 -849
  624. data/vendor/depot_tools/third_party/protobuf26/descriptor_database.py +0 -137
  625. data/vendor/depot_tools/third_party/protobuf26/descriptor_pb2.py +0 -1522
  626. data/vendor/depot_tools/third_party/protobuf26/descriptor_pool.py +0 -643
  627. data/vendor/depot_tools/third_party/protobuf26/internal/__init__.py +0 -0
  628. data/vendor/depot_tools/third_party/protobuf26/internal/api_implementation.py +0 -89
  629. data/vendor/depot_tools/third_party/protobuf26/internal/containers.py +0 -269
  630. data/vendor/depot_tools/third_party/protobuf26/internal/cpp_message.py +0 -663
  631. data/vendor/depot_tools/third_party/protobuf26/internal/decoder.py +0 -831
  632. data/vendor/depot_tools/third_party/protobuf26/internal/encoder.py +0 -788
  633. data/vendor/depot_tools/third_party/protobuf26/internal/enum_type_wrapper.py +0 -89
  634. data/vendor/depot_tools/third_party/protobuf26/internal/message_listener.py +0 -78
  635. data/vendor/depot_tools/third_party/protobuf26/internal/python_message.py +0 -1247
  636. data/vendor/depot_tools/third_party/protobuf26/internal/type_checkers.py +0 -328
  637. data/vendor/depot_tools/third_party/protobuf26/internal/wire_format.py +0 -268
  638. data/vendor/depot_tools/third_party/protobuf26/message.py +0 -284
  639. data/vendor/depot_tools/third_party/protobuf26/message_factory.py +0 -155
  640. data/vendor/depot_tools/third_party/protobuf26/reflection.py +0 -205
  641. data/vendor/depot_tools/third_party/protobuf26/service.py +0 -226
  642. data/vendor/depot_tools/third_party/protobuf26/service_reflection.py +0 -284
  643. data/vendor/depot_tools/third_party/protobuf26/symbol_database.py +0 -185
  644. data/vendor/depot_tools/third_party/protobuf26/text_encoding.py +0 -110
  645. data/vendor/depot_tools/third_party/protobuf26/text_format.py +0 -873
  646. data/vendor/depot_tools/third_party/pylint.py +0 -37
  647. data/vendor/depot_tools/third_party/pylint/LICENSE.txt +0 -340
  648. data/vendor/depot_tools/third_party/pylint/README.chromium +0 -30
  649. data/vendor/depot_tools/third_party/pylint/__init__.py +0 -46
  650. data/vendor/depot_tools/third_party/pylint/__main__.py +0 -3
  651. data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +0 -80
  652. data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +0 -123
  653. data/vendor/depot_tools/third_party/pylint/checkers/async.py +0 -82
  654. data/vendor/depot_tools/third_party/pylint/checkers/base.py +0 -2010
  655. data/vendor/depot_tools/third_party/pylint/checkers/classes.py +0 -1120
  656. data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +0 -348
  657. data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +0 -369
  658. data/vendor/depot_tools/third_party/pylint/checkers/format.py +0 -993
  659. data/vendor/depot_tools/third_party/pylint/checkers/imports.py +0 -654
  660. data/vendor/depot_tools/third_party/pylint/checkers/logging.py +0 -258
  661. data/vendor/depot_tools/third_party/pylint/checkers/misc.py +0 -105
  662. data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +0 -169
  663. data/vendor/depot_tools/third_party/pylint/checkers/python3.py +0 -591
  664. data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +0 -129
  665. data/vendor/depot_tools/third_party/pylint/checkers/similar.py +0 -371
  666. data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +0 -264
  667. data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +0 -280
  668. data/vendor/depot_tools/third_party/pylint/checkers/strings.py +0 -618
  669. data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +0 -974
  670. data/vendor/depot_tools/third_party/pylint/checkers/utils.py +0 -741
  671. data/vendor/depot_tools/third_party/pylint/checkers/variables.py +0 -1191
  672. data/vendor/depot_tools/third_party/pylint/config.py +0 -820
  673. data/vendor/depot_tools/third_party/pylint/epylint.py +0 -181
  674. data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
  675. data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +0 -311
  676. data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +0 -62
  677. data/vendor/depot_tools/third_party/pylint/graph.py +0 -179
  678. data/vendor/depot_tools/third_party/pylint/gui.py +0 -531
  679. data/vendor/depot_tools/third_party/pylint/interfaces.py +0 -102
  680. data/vendor/depot_tools/third_party/pylint/lint.py +0 -1381
  681. data/vendor/depot_tools/third_party/pylint/pyreverse/__init__.py +0 -5
  682. data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +0 -230
  683. data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +0 -258
  684. data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +0 -372
  685. data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +0 -147
  686. data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +0 -210
  687. data/vendor/depot_tools/third_party/pylint/pyreverse/vcgutils.py +0 -198
  688. data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +0 -198
  689. data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +0 -149
  690. data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +0 -27
  691. data/vendor/depot_tools/third_party/pylint/reporters/html.py +0 -108
  692. data/vendor/depot_tools/third_party/pylint/reporters/json.py +0 -64
  693. data/vendor/depot_tools/third_party/pylint/reporters/text.py +0 -237
  694. data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +0 -106
  695. data/vendor/depot_tools/third_party/pylint/reporters/ureports/html_writer.py +0 -93
  696. data/vendor/depot_tools/third_party/pylint/reporters/ureports/nodes.py +0 -181
  697. data/vendor/depot_tools/third_party/pylint/reporters/ureports/text_writer.py +0 -99
  698. data/vendor/depot_tools/third_party/pylint/testutils.py +0 -414
  699. data/vendor/depot_tools/third_party/pylint/utils.py +0 -1148
  700. data/vendor/depot_tools/third_party/pymox/COPYING +0 -202
  701. data/vendor/depot_tools/third_party/pymox/MANIFEST.in +0 -5
  702. data/vendor/depot_tools/third_party/pymox/README +0 -56
  703. data/vendor/depot_tools/third_party/pymox/__init__.py +0 -0
  704. data/vendor/depot_tools/third_party/pymox/mox.py +0 -1643
  705. data/vendor/depot_tools/third_party/pymox/mox_test.py +0 -1708
  706. data/vendor/depot_tools/third_party/pymox/mox_test_helper.py +0 -76
  707. data/vendor/depot_tools/third_party/pymox/setup.py +0 -14
  708. data/vendor/depot_tools/third_party/pymox/stubout.py +0 -142
  709. data/vendor/depot_tools/third_party/pymox/stubout_test.py +0 -47
  710. data/vendor/depot_tools/third_party/pymox/stubout_testee.py +0 -2
  711. data/vendor/depot_tools/third_party/simplejson/LICENSE.txt +0 -19
  712. data/vendor/depot_tools/third_party/simplejson/PKG-INFO +0 -29
  713. data/vendor/depot_tools/third_party/simplejson/__init__.py +0 -437
  714. data/vendor/depot_tools/third_party/simplejson/decoder.py +0 -421
  715. data/vendor/depot_tools/third_party/simplejson/encoder.py +0 -501
  716. data/vendor/depot_tools/third_party/simplejson/ordered_dict.py +0 -119
  717. data/vendor/depot_tools/third_party/simplejson/scanner.py +0 -77
  718. data/vendor/depot_tools/third_party/simplejson/tool.py +0 -39
  719. data/vendor/depot_tools/third_party/upload.py +0 -2565
@@ -1,201 +0,0 @@
1
- """Utility functions for test code that uses astroid ASTs as input."""
2
- import functools
3
- import sys
4
-
5
- from astroid import nodes
6
- from astroid import builder
7
- # The name of the transient function that is used to
8
- # wrap expressions to be extracted when calling
9
- # extract_node.
10
- _TRANSIENT_FUNCTION = '__'
11
-
12
- # The comment used to select a statement to be extracted
13
- # when calling extract_node.
14
- _STATEMENT_SELECTOR = '#@'
15
-
16
- def _extract_expressions(node):
17
- """Find expressions in a call to _TRANSIENT_FUNCTION and extract them.
18
-
19
- The function walks the AST recursively to search for expressions that
20
- are wrapped into a call to _TRANSIENT_FUNCTION. If it finds such an
21
- expression, it completely removes the function call node from the tree,
22
- replacing it by the wrapped expression inside the parent.
23
-
24
- :param node: An astroid node.
25
- :type node: astroid.bases.NodeNG
26
- :yields: The sequence of wrapped expressions on the modified tree
27
- expression can be found.
28
- """
29
- if (isinstance(node, nodes.Call)
30
- and isinstance(node.func, nodes.Name)
31
- and node.func.name == _TRANSIENT_FUNCTION):
32
- real_expr = node.args[0]
33
- real_expr.parent = node.parent
34
- # Search for node in all _astng_fields (the fields checked when
35
- # get_children is called) of its parent. Some of those fields may
36
- # be lists or tuples, in which case the elements need to be checked.
37
- # When we find it, replace it by real_expr, so that the AST looks
38
- # like no call to _TRANSIENT_FUNCTION ever took place.
39
- for name in node.parent._astroid_fields:
40
- child = getattr(node.parent, name)
41
- if isinstance(child, (list, tuple)):
42
- for idx, compound_child in enumerate(child):
43
- if compound_child is node:
44
- child[idx] = real_expr
45
- elif child is node:
46
- setattr(node.parent, name, real_expr)
47
- yield real_expr
48
- else:
49
- for child in node.get_children():
50
- for result in _extract_expressions(child):
51
- yield result
52
-
53
-
54
- def _find_statement_by_line(node, line):
55
- """Extracts the statement on a specific line from an AST.
56
-
57
- If the line number of node matches line, it will be returned;
58
- otherwise its children are iterated and the function is called
59
- recursively.
60
-
61
- :param node: An astroid node.
62
- :type node: astroid.bases.NodeNG
63
- :param line: The line number of the statement to extract.
64
- :type line: int
65
- :returns: The statement on the line, or None if no statement for the line
66
- can be found.
67
- :rtype: astroid.bases.NodeNG or None
68
- """
69
- if isinstance(node, (nodes.ClassDef, nodes.FunctionDef)):
70
- # This is an inaccuracy in the AST: the nodes that can be
71
- # decorated do not carry explicit information on which line
72
- # the actual definition (class/def), but .fromline seems to
73
- # be close enough.
74
- node_line = node.fromlineno
75
- else:
76
- node_line = node.lineno
77
-
78
- if node_line == line:
79
- return node
80
-
81
- for child in node.get_children():
82
- result = _find_statement_by_line(child, line)
83
- if result:
84
- return result
85
-
86
- return None
87
-
88
- def extract_node(code, module_name=''):
89
- """Parses some Python code as a module and extracts a designated AST node.
90
-
91
- Statements:
92
- To extract one or more statement nodes, append #@ to the end of the line
93
-
94
- Examples:
95
- >>> def x():
96
- >>> def y():
97
- >>> return 1 #@
98
-
99
- The return statement will be extracted.
100
-
101
- >>> class X(object):
102
- >>> def meth(self): #@
103
- >>> pass
104
-
105
- The funcion object 'meth' will be extracted.
106
-
107
- Expressions:
108
- To extract arbitrary expressions, surround them with the fake
109
- function call __(...). After parsing, the surrounded expression
110
- will be returned and the whole AST (accessible via the returned
111
- node's parent attribute) will look like the function call was
112
- never there in the first place.
113
-
114
- Examples:
115
- >>> a = __(1)
116
-
117
- The const node will be extracted.
118
-
119
- >>> def x(d=__(foo.bar)): pass
120
-
121
- The node containing the default argument will be extracted.
122
-
123
- >>> def foo(a, b):
124
- >>> return 0 < __(len(a)) < b
125
-
126
- The node containing the function call 'len' will be extracted.
127
-
128
- If no statements or expressions are selected, the last toplevel
129
- statement will be returned.
130
-
131
- If the selected statement is a discard statement, (i.e. an expression
132
- turned into a statement), the wrapped expression is returned instead.
133
-
134
- For convenience, singleton lists are unpacked.
135
-
136
- :param str code: A piece of Python code that is parsed as
137
- a module. Will be passed through textwrap.dedent first.
138
- :param str module_name: The name of the module.
139
- :returns: The designated node from the parse tree, or a list of nodes.
140
- :rtype: astroid.bases.NodeNG, or a list of nodes.
141
- """
142
- def _extract(node):
143
- if isinstance(node, nodes.Expr):
144
- return node.value
145
- else:
146
- return node
147
-
148
- requested_lines = []
149
- for idx, line in enumerate(code.splitlines()):
150
- if line.strip().endswith(_STATEMENT_SELECTOR):
151
- requested_lines.append(idx + 1)
152
-
153
- tree = builder.parse(code, module_name=module_name)
154
- extracted = []
155
- if requested_lines:
156
- for line in requested_lines:
157
- extracted.append(_find_statement_by_line(tree, line))
158
-
159
- # Modifies the tree.
160
- extracted.extend(_extract_expressions(tree))
161
-
162
- if not extracted:
163
- extracted.append(tree.body[-1])
164
-
165
- extracted = [_extract(node) for node in extracted]
166
- if len(extracted) == 1:
167
- return extracted[0]
168
- else:
169
- return extracted
170
-
171
-
172
- def require_version(minver=None, maxver=None):
173
- """ Compare version of python interpreter to the given one. Skip the test
174
- if older.
175
- """
176
- def parse(string, default=None):
177
- string = string or default
178
- try:
179
- return tuple(int(v) for v in string.split('.'))
180
- except ValueError:
181
- raise ValueError('%s is not a correct version : should be X.Y[.Z].' % version)
182
-
183
- def check_require_version(f):
184
- current = sys.version_info[:3]
185
- if parse(minver, "0") < current <= parse(maxver, "4"):
186
- return f
187
- else:
188
- str_version = '.'.join(str(v) for v in sys.version_info)
189
- @functools.wraps(f)
190
- def new_f(self, *args, **kwargs):
191
- if minver is not None:
192
- self.skipTest('Needs Python > %s. Current version is %s.' % (minver, str_version))
193
- elif maxver is not None:
194
- self.skipTest('Needs Python <= %s. Current version is %s.' % (maxver, str_version))
195
- return new_f
196
-
197
-
198
- return check_require_version
199
-
200
- def get_name_node(start_from, name, index=0):
201
- return [n for n in start_from.nodes_of_class(nodes.Name) if n.name == name][index]
@@ -1,96 +0,0 @@
1
- # copyright 2003-2015 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
2
- # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
3
- #
4
- # This file is part of astroid.
5
- #
6
- # astroid is free software: you can redistribute it and/or modify it
7
- # under the terms of the GNU Lesser General Public License as published by the
8
- # Free Software Foundation, either version 2.1 of the License, or (at your
9
- # option) any later version.
10
- #
11
- # astroid is distributed in the hope that it will be useful, but
12
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
14
- # for more details.
15
- #
16
- # You should have received a copy of the GNU Lesser General Public License along
17
- # with astroid. If not, see <http://www.gnu.org/licenses/>.
18
-
19
- import collections
20
- import warnings
21
-
22
-
23
- class TransformVisitor(object):
24
- """A visitor for handling transforms.
25
-
26
- The standard approach of using it is to call
27
- :meth:`~visit` with an *astroid* module and the class
28
- will take care of the rest, walking the tree and running the
29
- transforms for each encountered node.
30
- """
31
-
32
- def __init__(self):
33
- self.transforms = collections.defaultdict(list)
34
-
35
- def _transform(self, node):
36
- """Call matching transforms for the given node if any and return the
37
- transformed node.
38
- """
39
- cls = node.__class__
40
- if cls not in self.transforms:
41
- # no transform registered for this class of node
42
- return node
43
-
44
- transforms = self.transforms[cls]
45
- orig_node = node # copy the reference
46
- for transform_func, predicate in transforms:
47
- if predicate is None or predicate(node):
48
- ret = transform_func(node)
49
- # if the transformation function returns something, it's
50
- # expected to be a replacement for the node
51
- if ret is not None:
52
- if node is not orig_node:
53
- # node has already be modified by some previous
54
- # transformation, warn about it
55
- warnings.warn('node %s substituted multiple times' % node)
56
- node = ret
57
- return node
58
-
59
- def _visit(self, node):
60
- if hasattr(node, '_astroid_fields'):
61
- for field in node._astroid_fields:
62
- value = getattr(node, field)
63
- visited = self._visit_generic(value)
64
- setattr(node, field, visited)
65
- return self._transform(node)
66
-
67
- def _visit_generic(self, node):
68
- if isinstance(node, list):
69
- return [self._visit_generic(child) for child in node]
70
- elif isinstance(node, tuple):
71
- return tuple(self._visit_generic(child) for child in node)
72
- else:
73
- return self._visit(node)
74
-
75
- def register_transform(self, node_class, transform, predicate=None):
76
- """Register `transform(node)` function to be applied on the given
77
- astroid's `node_class` if `predicate` is None or returns true
78
- when called with the node as argument.
79
-
80
- The transform function may return a value which is then used to
81
- substitute the original node in the tree.
82
- """
83
- self.transforms[node_class].append((transform, predicate))
84
-
85
- def unregister_transform(self, node_class, transform, predicate=None):
86
- """Unregister the given transform."""
87
- self.transforms[node_class].remove((transform, predicate))
88
-
89
- def visit(self, module):
90
- """Walk the given astroid *tree* and transform each encountered node
91
-
92
- Only the nodes which have transforms registered will actually
93
- be replaced or changed.
94
- """
95
- module.body = [self._visit(child) for child in module.body]
96
- return self._transform(module)
@@ -1,89 +0,0 @@
1
- # copyright 2003-2015 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
2
- # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
3
- #
4
- # This file is part of astroid.
5
- #
6
- # astroid is free software: you can redistribute it and/or modify it
7
- # under the terms of the GNU Lesser General Public License as published by the
8
- # Free Software Foundation, either version 2.1 of the License, or (at your
9
- # option) any later version.
10
- #
11
- # astroid is distributed in the hope that it will be useful, but
12
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
14
- # for more details.
15
- #
16
- # You should have received a copy of the GNU Lesser General Public License along
17
- # with astroid. If not, see <http://www.gnu.org/licenses/>.
18
- #
19
- # The code in this file was originally part of logilab-common, licensed under
20
- # the same license.
21
- import warnings
22
-
23
- from astroid import exceptions
24
-
25
-
26
- def generate_warning(message, warning):
27
- return lambda *args: warnings.warn(message % args, warning, stacklevel=3)
28
-
29
- rename_warning = generate_warning(
30
- "%r is deprecated and will be removed in astroid %.1f, use %r instead",
31
- PendingDeprecationWarning)
32
-
33
- attribute_to_method_warning = generate_warning(
34
- "%s is deprecated and will be removed in astroid %.1f, use the "
35
- "method '%s()' instead.", PendingDeprecationWarning)
36
-
37
- attribute_to_function_warning = generate_warning(
38
- "%s is deprecated and will be removed in astroid %.1f, use the "
39
- "function '%s()' instead.", PendingDeprecationWarning)
40
-
41
- method_to_function_warning = generate_warning(
42
- "%s() is deprecated and will be removed in astroid %.1f, use the "
43
- "function '%s()' instead.", PendingDeprecationWarning)
44
-
45
-
46
- class _Yes(object):
47
- """Special inference object, which is returned when inference fails."""
48
- def __repr__(self):
49
- return 'YES'
50
-
51
- __str__ = __repr__
52
-
53
- def __getattribute__(self, name):
54
- if name == 'next':
55
- raise AttributeError('next method should not be called')
56
- if name.startswith('__') and name.endswith('__'):
57
- return super(_Yes, self).__getattribute__(name)
58
- if name == 'accept':
59
- return super(_Yes, self).__getattribute__(name)
60
- return self
61
-
62
- def __call__(self, *args, **kwargs):
63
- return self
64
-
65
- def accept(self, visitor):
66
- func = getattr(visitor, "visit_yes")
67
- return func(self)
68
-
69
-
70
- YES = _Yes()
71
-
72
- def safe_infer(node, context=None):
73
- """Return the inferred value for the given node.
74
-
75
- Return None if inference failed or if there is some ambiguity (more than
76
- one node has been inferred).
77
- """
78
- try:
79
- inferit = node.infer(context=context)
80
- value = next(inferit)
81
- except exceptions.InferenceError:
82
- return
83
- try:
84
- next(inferit)
85
- return # None if there is ambiguity on the inferred node
86
- except exceptions.InferenceError:
87
- return # there is some kind of ambiguity
88
- except StopIteration:
89
- return value
@@ -1,19 +0,0 @@
1
- Copyright (c) 2014-2017, Ionel Cristian Mărieș
2
- All rights reserved.
3
-
4
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
5
- following conditions are met:
6
-
7
- 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
8
- disclaimer.
9
-
10
- 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
11
- disclaimer in the documentation and/or other materials provided with the distribution.
12
-
13
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
14
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
15
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
16
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
17
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
18
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
19
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,11 +0,0 @@
1
- URL: https://github.com/ionelmc/python-lazy-object-proxy
2
- URL: https://pypi.org/project/lazy-object-proxy/#files
3
- Version: 1.3.1
4
- License: BSD-2
5
- License File: LICENSE
6
-
7
- Description:
8
- This directory contains the lazy-object-proxy module, required for pylint.
9
-
10
- Local Modifications:
11
- None
@@ -1,20 +0,0 @@
1
- try:
2
- import copy_reg as copyreg
3
- except ImportError:
4
- import copyreg
5
-
6
- from .utils import identity
7
-
8
- copyreg.constructor(identity)
9
-
10
- try:
11
- from .cext import Proxy
12
- from .cext import identity
13
- except ImportError:
14
- from .slots import Proxy
15
- else:
16
- copyreg.constructor(identity)
17
-
18
- __version__ = "1.3.1"
19
-
20
- __all__ = "Proxy",
@@ -1,1421 +0,0 @@
1
- /* ------------------------------------------------------------------------- */
2
-
3
- #include "Python.h"
4
-
5
- #include "structmember.h"
6
-
7
- #ifndef PyVarObject_HEAD_INIT
8
- #define PyVarObject_HEAD_INIT(type, size) PyObject_HEAD_INIT(type) size,
9
- #endif
10
-
11
- #define Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(object) \
12
- if (PyObject_TypeCheck(object, &Proxy_Type)) { \
13
- object = Proxy__ensure_wrapped((ProxyObject *)object); \
14
- if (!object) return NULL; \
15
- }
16
-
17
- #define Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self) if (!Proxy__ensure_wrapped(self)) return NULL;
18
- #define Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self) if (!Proxy__ensure_wrapped(self)) return -1;
19
-
20
- #if PY_MAJOR_VERSION < 3
21
- #define Py_hash_t long
22
- #endif
23
-
24
- /* ------------------------------------------------------------------------- */
25
-
26
- typedef struct {
27
- PyObject_HEAD
28
-
29
- PyObject *dict;
30
- PyObject *wrapped;
31
- PyObject *factory;
32
- } ProxyObject;
33
-
34
- PyTypeObject Proxy_Type;
35
-
36
-
37
- /* ------------------------------------------------------------------------- */
38
-
39
- static PyObject *identity_ref = NULL;
40
- static PyObject *
41
- identity(PyObject *self, PyObject *value)
42
- {
43
- Py_INCREF(value);
44
- return value;
45
- }
46
-
47
- /* ------------------------------------------------------------------------- */
48
-
49
- PyDoc_STRVAR(identity_doc, "Indentity function: returns the single argument.");
50
-
51
- static struct PyMethodDef module_functions[] = {
52
- {"identity", identity, METH_O, identity_doc},
53
- {NULL, NULL}
54
- };
55
-
56
- /* ------------------------------------------------------------------------- */
57
-
58
- static PyObject *Proxy__ensure_wrapped(ProxyObject *self)
59
- {
60
- PyObject *wrapped;
61
-
62
- if (self->wrapped) {
63
- return self->wrapped;
64
- } else {
65
- if (self->factory) {
66
- wrapped = PyObject_CallFunctionObjArgs(self->factory, NULL);
67
- if (wrapped) {
68
- self->wrapped = wrapped;
69
- return wrapped;
70
- } else {
71
- return NULL;
72
- }
73
- } else {
74
- PyErr_SetString(PyExc_ValueError, "Proxy hasn't been initiated: __factory__ is missing.");
75
- return NULL;
76
- }
77
- }
78
- }
79
-
80
- /* ------------------------------------------------------------------------- */
81
-
82
- static PyObject *Proxy_new(PyTypeObject *type,
83
- PyObject *args, PyObject *kwds)
84
- {
85
- ProxyObject *self;
86
-
87
- self = (ProxyObject *)type->tp_alloc(type, 0);
88
-
89
- if (!self)
90
- return NULL;
91
-
92
- self->dict = PyDict_New();
93
- self->wrapped = NULL;
94
- self->factory = NULL;
95
-
96
- return (PyObject *)self;
97
- }
98
-
99
- /* ------------------------------------------------------------------------- */
100
-
101
- static int Proxy_raw_init(ProxyObject *self,
102
- PyObject *factory)
103
- {
104
- Py_INCREF(factory);
105
- Py_XDECREF(self->wrapped);
106
- Py_XDECREF(self->factory);
107
- self->factory = factory;
108
-
109
- return 0;
110
- }
111
-
112
- /* ------------------------------------------------------------------------- */
113
-
114
- static int Proxy_init(ProxyObject *self,
115
- PyObject *args, PyObject *kwds)
116
- {
117
- PyObject *wrapped = NULL;
118
-
119
- static char *kwlist[] = { "wrapped", NULL };
120
-
121
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O:ObjectProxy",
122
- kwlist, &wrapped)) {
123
- return -1;
124
- }
125
-
126
- return Proxy_raw_init(self, wrapped);
127
- }
128
-
129
- /* ------------------------------------------------------------------------- */
130
-
131
- static int Proxy_traverse(ProxyObject *self,
132
- visitproc visit, void *arg)
133
- {
134
- Py_VISIT(self->dict);
135
- Py_VISIT(self->wrapped);
136
- Py_VISIT(self->factory);
137
- return 0;
138
- }
139
-
140
- /* ------------------------------------------------------------------------- */
141
-
142
- static int Proxy_clear(ProxyObject *self)
143
- {
144
- Py_CLEAR(self->dict);
145
- Py_CLEAR(self->wrapped);
146
- Py_CLEAR(self->factory);
147
- return 0;
148
- }
149
-
150
- /* ------------------------------------------------------------------------- */
151
-
152
- static void Proxy_dealloc(ProxyObject *self)
153
- {
154
- PyObject_GC_UnTrack(self);
155
-
156
- Proxy_clear(self);
157
-
158
- Py_TYPE(self)->tp_free(self);
159
- }
160
-
161
- /* ------------------------------------------------------------------------- */
162
-
163
- static PyObject *Proxy_repr(ProxyObject *self)
164
- {
165
-
166
- #if PY_MAJOR_VERSION < 3
167
- PyObject *factory_repr;
168
-
169
- factory_repr = PyObject_Repr(self->factory);
170
- if (factory_repr == NULL)
171
- return NULL;
172
- #endif
173
-
174
- if (self->wrapped) {
175
- #if PY_MAJOR_VERSION >= 3
176
- return PyUnicode_FromFormat("<%s at %p wrapping %R at %p with factory %R>",
177
- Py_TYPE(self)->tp_name, self,
178
- self->wrapped, self->wrapped,
179
- self->factory);
180
- #else
181
- PyObject *wrapped_repr;
182
-
183
- wrapped_repr = PyObject_Repr(self->wrapped);
184
- if (wrapped_repr == NULL)
185
- return NULL;
186
-
187
- return PyString_FromFormat("<%s at %p wrapping %s at %p with factory %s>",
188
- Py_TYPE(self)->tp_name, self,
189
- PyString_AS_STRING(wrapped_repr), self->wrapped,
190
- PyString_AS_STRING(factory_repr));
191
- #endif
192
- } else {
193
- #if PY_MAJOR_VERSION >= 3
194
- return PyUnicode_FromFormat("<%s at %p with factory %R>",
195
- Py_TYPE(self)->tp_name, self,
196
- self->factory);
197
- #else
198
- return PyString_FromFormat("<%s at %p with factory %s>",
199
- Py_TYPE(self)->tp_name, self,
200
- PyString_AS_STRING(factory_repr));
201
- #endif
202
- }
203
- }
204
-
205
- /* ------------------------------------------------------------------------- */
206
-
207
- static Py_hash_t Proxy_hash(ProxyObject *self)
208
- {
209
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
210
-
211
- return PyObject_Hash(self->wrapped);
212
- }
213
-
214
- /* ------------------------------------------------------------------------- */
215
-
216
- static PyObject *Proxy_str(ProxyObject *self)
217
- {
218
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
219
-
220
- return PyObject_Str(self->wrapped);
221
- }
222
-
223
- /* ------------------------------------------------------------------------- */
224
-
225
- static PyObject *Proxy_add(PyObject *o1, PyObject *o2)
226
- {
227
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
228
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
229
-
230
- return PyNumber_Add(o1, o2);
231
- }
232
-
233
- /* ------------------------------------------------------------------------- */
234
-
235
- static PyObject *Proxy_subtract(PyObject *o1, PyObject *o2)
236
- {
237
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
238
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
239
-
240
- return PyNumber_Subtract(o1, o2);
241
- }
242
-
243
- /* ------------------------------------------------------------------------- */
244
-
245
- static PyObject *Proxy_multiply(PyObject *o1, PyObject *o2)
246
- {
247
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
248
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
249
-
250
- return PyNumber_Multiply(o1, o2);
251
- }
252
-
253
- /* ------------------------------------------------------------------------- */
254
-
255
- #if PY_MAJOR_VERSION < 3
256
- static PyObject *Proxy_divide(PyObject *o1, PyObject *o2)
257
- {
258
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
259
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
260
-
261
- return PyNumber_Divide(o1, o2);
262
- }
263
- #endif
264
-
265
- /* ------------------------------------------------------------------------- */
266
-
267
- static PyObject *Proxy_remainder(PyObject *o1, PyObject *o2)
268
- {
269
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
270
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
271
-
272
- return PyNumber_Remainder(o1, o2);
273
- }
274
-
275
- /* ------------------------------------------------------------------------- */
276
-
277
- static PyObject *Proxy_divmod(PyObject *o1, PyObject *o2)
278
- {
279
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
280
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
281
-
282
- return PyNumber_Divmod(o1, o2);
283
- }
284
-
285
- /* ------------------------------------------------------------------------- */
286
-
287
- static PyObject *Proxy_power(PyObject *o1, PyObject *o2,
288
- PyObject *modulo)
289
- {
290
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
291
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
292
-
293
- return PyNumber_Power(o1, o2, modulo);
294
- }
295
-
296
- /* ------------------------------------------------------------------------- */
297
-
298
- static PyObject *Proxy_negative(ProxyObject *self)
299
- {
300
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
301
-
302
- return PyNumber_Negative(self->wrapped);
303
- }
304
-
305
- /* ------------------------------------------------------------------------- */
306
-
307
- static PyObject *Proxy_positive(ProxyObject *self)
308
- {
309
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
310
-
311
- return PyNumber_Positive(self->wrapped);
312
- }
313
-
314
- /* ------------------------------------------------------------------------- */
315
-
316
- static PyObject *Proxy_absolute(ProxyObject *self)
317
- {
318
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
319
-
320
- return PyNumber_Absolute(self->wrapped);
321
- }
322
-
323
- /* ------------------------------------------------------------------------- */
324
-
325
- static int Proxy_bool(ProxyObject *self)
326
- {
327
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
328
-
329
- return PyObject_IsTrue(self->wrapped);
330
- }
331
-
332
- /* ------------------------------------------------------------------------- */
333
-
334
- static PyObject *Proxy_invert(ProxyObject *self)
335
- {
336
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
337
-
338
- return PyNumber_Invert(self->wrapped);
339
- }
340
-
341
- /* ------------------------------------------------------------------------- */
342
-
343
- static PyObject *Proxy_lshift(PyObject *o1, PyObject *o2)
344
- {
345
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
346
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
347
-
348
- return PyNumber_Lshift(o1, o2);
349
- }
350
-
351
- /* ------------------------------------------------------------------------- */
352
-
353
- static PyObject *Proxy_rshift(PyObject *o1, PyObject *o2)
354
- {
355
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
356
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
357
-
358
- return PyNumber_Rshift(o1, o2);
359
- }
360
-
361
- /* ------------------------------------------------------------------------- */
362
-
363
- static PyObject *Proxy_and(PyObject *o1, PyObject *o2)
364
- {
365
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
366
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
367
-
368
- return PyNumber_And(o1, o2);
369
- }
370
-
371
- /* ------------------------------------------------------------------------- */
372
-
373
- static PyObject *Proxy_xor(PyObject *o1, PyObject *o2)
374
- {
375
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
376
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
377
-
378
- return PyNumber_Xor(o1, o2);
379
- }
380
-
381
- /* ------------------------------------------------------------------------- */
382
-
383
- static PyObject *Proxy_or(PyObject *o1, PyObject *o2)
384
- {
385
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
386
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
387
-
388
- return PyNumber_Or(o1, o2);
389
- }
390
-
391
- /* ------------------------------------------------------------------------- */
392
-
393
- #if PY_MAJOR_VERSION < 3
394
- static PyObject *Proxy_int(ProxyObject *self)
395
- {
396
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
397
-
398
- return PyNumber_Int(self->wrapped);
399
- }
400
- #endif
401
-
402
- /* ------------------------------------------------------------------------- */
403
-
404
- static PyObject *Proxy_long(ProxyObject *self)
405
- {
406
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
407
-
408
- return PyNumber_Long(self->wrapped);
409
- }
410
-
411
- /* ------------------------------------------------------------------------- */
412
-
413
- static PyObject *Proxy_float(ProxyObject *self)
414
- {
415
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
416
-
417
- return PyNumber_Float(self->wrapped);
418
- }
419
-
420
- /* ------------------------------------------------------------------------- */
421
-
422
- #if PY_MAJOR_VERSION < 3
423
- static PyObject *Proxy_oct(ProxyObject *self)
424
- {
425
- PyNumberMethods *nb;
426
-
427
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
428
-
429
- if ((nb = self->wrapped->ob_type->tp_as_number) == NULL ||
430
- nb->nb_oct == NULL) {
431
- PyErr_SetString(PyExc_TypeError,
432
- "oct() argument can't be converted to oct");
433
- return NULL;
434
- }
435
-
436
- return (*nb->nb_oct)(self->wrapped);
437
- }
438
- #endif
439
-
440
- /* ------------------------------------------------------------------------- */
441
-
442
- #if PY_MAJOR_VERSION < 3
443
- static PyObject *Proxy_hex(ProxyObject *self)
444
- {
445
- PyNumberMethods *nb;
446
-
447
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
448
-
449
- if ((nb = self->wrapped->ob_type->tp_as_number) == NULL ||
450
- nb->nb_hex == NULL) {
451
- PyErr_SetString(PyExc_TypeError,
452
- "hex() argument can't be converted to hex");
453
- return NULL;
454
- }
455
-
456
- return (*nb->nb_hex)(self->wrapped);
457
- }
458
- #endif
459
-
460
- /* ------------------------------------------------------------------------- */
461
-
462
- static PyObject *Proxy_inplace_add(ProxyObject *self,
463
- PyObject *other)
464
- {
465
- PyObject *object = NULL;
466
-
467
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
468
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
469
-
470
- object = PyNumber_InPlaceAdd(self->wrapped, other);
471
-
472
- if (!object)
473
- return NULL;
474
-
475
- Py_DECREF(self->wrapped);
476
- self->wrapped = object;
477
-
478
- Py_INCREF(self);
479
- return (PyObject *)self;
480
- }
481
-
482
- /* ------------------------------------------------------------------------- */
483
-
484
- static PyObject *Proxy_inplace_subtract(
485
- ProxyObject *self, PyObject *other)
486
- {
487
- PyObject *object = NULL;
488
-
489
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
490
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
491
-
492
- object = PyNumber_InPlaceSubtract(self->wrapped, other);
493
-
494
- if (!object)
495
- return NULL;
496
-
497
- Py_DECREF(self->wrapped);
498
- self->wrapped = object;
499
-
500
- Py_INCREF(self);
501
- return (PyObject *)self;
502
- }
503
-
504
- /* ------------------------------------------------------------------------- */
505
-
506
- static PyObject *Proxy_inplace_multiply(
507
- ProxyObject *self, PyObject *other)
508
- {
509
- PyObject *object = NULL;
510
-
511
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
512
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
513
-
514
- object = PyNumber_InPlaceMultiply(self->wrapped, other);
515
-
516
- if (!object)
517
- return NULL;
518
-
519
- Py_DECREF(self->wrapped);
520
- self->wrapped = object;
521
-
522
- Py_INCREF(self);
523
- return (PyObject *)self;
524
- }
525
-
526
- /* ------------------------------------------------------------------------- */
527
-
528
- #if PY_MAJOR_VERSION < 3
529
- static PyObject *Proxy_inplace_divide(
530
- ProxyObject *self, PyObject *other)
531
- {
532
- PyObject *object = NULL;
533
-
534
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
535
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
536
-
537
- object = PyNumber_InPlaceDivide(self->wrapped, other);
538
-
539
- if (!object)
540
- return NULL;
541
-
542
- Py_DECREF(self->wrapped);
543
- self->wrapped = object;
544
-
545
- Py_INCREF(self);
546
- return (PyObject *)self;
547
- }
548
- #endif
549
-
550
- /* ------------------------------------------------------------------------- */
551
-
552
- static PyObject *Proxy_inplace_remainder(
553
- ProxyObject *self, PyObject *other)
554
- {
555
- PyObject *object = NULL;
556
-
557
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
558
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
559
-
560
- object = PyNumber_InPlaceRemainder(self->wrapped, other);
561
-
562
- if (!object)
563
- return NULL;
564
-
565
- Py_DECREF(self->wrapped);
566
- self->wrapped = object;
567
-
568
- Py_INCREF(self);
569
- return (PyObject *)self;
570
- }
571
-
572
- /* ------------------------------------------------------------------------- */
573
-
574
- static PyObject *Proxy_inplace_power(ProxyObject *self,
575
- PyObject *other, PyObject *modulo)
576
- {
577
- PyObject *object = NULL;
578
-
579
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
580
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
581
-
582
- object = PyNumber_InPlacePower(self->wrapped, other, modulo);
583
-
584
- if (!object)
585
- return NULL;
586
-
587
- Py_DECREF(self->wrapped);
588
- self->wrapped = object;
589
-
590
- Py_INCREF(self);
591
- return (PyObject *)self;
592
- }
593
-
594
- /* ------------------------------------------------------------------------- */
595
-
596
- static PyObject *Proxy_inplace_lshift(ProxyObject *self,
597
- PyObject *other)
598
- {
599
- PyObject *object = NULL;
600
-
601
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
602
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
603
-
604
- object = PyNumber_InPlaceLshift(self->wrapped, other);
605
-
606
- if (!object)
607
- return NULL;
608
-
609
- Py_DECREF(self->wrapped);
610
- self->wrapped = object;
611
-
612
- Py_INCREF(self);
613
- return (PyObject *)self;
614
- }
615
-
616
- /* ------------------------------------------------------------------------- */
617
-
618
- static PyObject *Proxy_inplace_rshift(ProxyObject *self,
619
- PyObject *other)
620
- {
621
- PyObject *object = NULL;
622
-
623
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
624
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
625
-
626
- object = PyNumber_InPlaceRshift(self->wrapped, other);
627
-
628
- if (!object)
629
- return NULL;
630
-
631
- Py_DECREF(self->wrapped);
632
- self->wrapped = object;
633
-
634
- Py_INCREF(self);
635
- return (PyObject *)self;
636
- }
637
-
638
- /* ------------------------------------------------------------------------- */
639
-
640
- static PyObject *Proxy_inplace_and(ProxyObject *self,
641
- PyObject *other)
642
- {
643
- PyObject *object = NULL;
644
-
645
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
646
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
647
-
648
- object = PyNumber_InPlaceAnd(self->wrapped, other);
649
-
650
- if (!object)
651
- return NULL;
652
-
653
- Py_DECREF(self->wrapped);
654
- self->wrapped = object;
655
-
656
- Py_INCREF(self);
657
- return (PyObject *)self;
658
- }
659
-
660
- /* ------------------------------------------------------------------------- */
661
-
662
- static PyObject *Proxy_inplace_xor(ProxyObject *self,
663
- PyObject *other)
664
- {
665
- PyObject *object = NULL;
666
-
667
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
668
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
669
-
670
- object = PyNumber_InPlaceXor(self->wrapped, other);
671
-
672
- if (!object)
673
- return NULL;
674
-
675
- Py_DECREF(self->wrapped);
676
- self->wrapped = object;
677
-
678
- Py_INCREF(self);
679
- return (PyObject *)self;
680
- }
681
-
682
- /* ------------------------------------------------------------------------- */
683
-
684
- static PyObject *Proxy_inplace_or(ProxyObject *self,
685
- PyObject *other)
686
- {
687
- PyObject *object = NULL;
688
-
689
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
690
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
691
-
692
- object = PyNumber_InPlaceOr(self->wrapped, other);
693
-
694
- Py_DECREF(self->wrapped);
695
- self->wrapped = object;
696
-
697
- Py_INCREF(self);
698
- return (PyObject *)self;
699
- }
700
-
701
- /* ------------------------------------------------------------------------- */
702
-
703
- static PyObject *Proxy_floor_divide(PyObject *o1, PyObject *o2)
704
- {
705
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
706
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
707
-
708
- return PyNumber_FloorDivide(o1, o2);
709
- }
710
-
711
- /* ------------------------------------------------------------------------- */
712
-
713
- static PyObject *Proxy_true_divide(PyObject *o1, PyObject *o2)
714
- {
715
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o1);
716
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(o2);
717
-
718
- return PyNumber_TrueDivide(o1, o2);
719
- }
720
-
721
- /* ------------------------------------------------------------------------- */
722
-
723
- static PyObject *Proxy_inplace_floor_divide(
724
- ProxyObject *self, PyObject *other)
725
- {
726
- PyObject *object = NULL;
727
-
728
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
729
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
730
-
731
- object = PyNumber_InPlaceFloorDivide(self->wrapped, other);
732
-
733
- if (!object)
734
- return NULL;
735
-
736
- Py_DECREF(self->wrapped);
737
- self->wrapped = object;
738
-
739
- Py_INCREF(self);
740
- return (PyObject *)self;
741
- }
742
-
743
- /* ------------------------------------------------------------------------- */
744
-
745
- static PyObject *Proxy_inplace_true_divide(
746
- ProxyObject *self, PyObject *other)
747
- {
748
- PyObject *object = NULL;
749
-
750
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
751
- Proxy__WRAPPED_REPLACE_OR_RETURN_NULL(other);
752
-
753
- object = PyNumber_InPlaceTrueDivide(self->wrapped, other);
754
-
755
- if (!object)
756
- return NULL;
757
-
758
- Py_DECREF(self->wrapped);
759
- self->wrapped = object;
760
-
761
- Py_INCREF(self);
762
- return (PyObject *)self;
763
- }
764
-
765
- /* ------------------------------------------------------------------------- */
766
-
767
- static PyObject *Proxy_index(ProxyObject *self)
768
- {
769
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
770
-
771
- return PyNumber_Index(self->wrapped);
772
- }
773
-
774
- /* ------------------------------------------------------------------------- */
775
-
776
- static Py_ssize_t Proxy_length(ProxyObject *self)
777
- {
778
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
779
-
780
- return PyObject_Length(self->wrapped);
781
- }
782
-
783
- /* ------------------------------------------------------------------------- */
784
-
785
- static int Proxy_contains(ProxyObject *self,
786
- PyObject *value)
787
- {
788
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
789
-
790
- return PySequence_Contains(self->wrapped, value);
791
- }
792
-
793
- /* ------------------------------------------------------------------------- */
794
-
795
- static PyObject *Proxy_getitem(ProxyObject *self,
796
- PyObject *key)
797
- {
798
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
799
-
800
- return PyObject_GetItem(self->wrapped, key);
801
- }
802
-
803
- /* ------------------------------------------------------------------------- */
804
-
805
- static int Proxy_setitem(ProxyObject *self,
806
- PyObject *key, PyObject* value)
807
- {
808
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
809
-
810
- if (value == NULL)
811
- return PyObject_DelItem(self->wrapped, key);
812
- else
813
- return PyObject_SetItem(self->wrapped, key, value);
814
- }
815
-
816
- /* ------------------------------------------------------------------------- */
817
-
818
- static PyObject *Proxy_dir(
819
- ProxyObject *self, PyObject *args)
820
- {
821
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
822
-
823
- return PyObject_Dir(self->wrapped);
824
- }
825
-
826
- /* ------------------------------------------------------------------------- */
827
-
828
- static PyObject *Proxy_enter(
829
- ProxyObject *self, PyObject *args, PyObject *kwds)
830
- {
831
- PyObject *method = NULL;
832
- PyObject *result = NULL;
833
-
834
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
835
-
836
- method = PyObject_GetAttrString(self->wrapped, "__enter__");
837
-
838
- if (!method)
839
- return NULL;
840
-
841
- result = PyObject_Call(method, args, kwds);
842
-
843
- Py_DECREF(method);
844
-
845
- return result;
846
- }
847
-
848
- /* ------------------------------------------------------------------------- */
849
-
850
- static PyObject *Proxy_exit(
851
- ProxyObject *self, PyObject *args, PyObject *kwds)
852
- {
853
- PyObject *method = NULL;
854
- PyObject *result = NULL;
855
-
856
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
857
-
858
- method = PyObject_GetAttrString(self->wrapped, "__exit__");
859
-
860
- if (!method)
861
- return NULL;
862
-
863
- result = PyObject_Call(method, args, kwds);
864
-
865
- Py_DECREF(method);
866
-
867
- return result;
868
- }
869
-
870
- /* ------------------------------------------------------------------------- */
871
-
872
- static PyObject *Proxy_bytes(
873
- ProxyObject *self, PyObject *args)
874
- {
875
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
876
-
877
- return PyObject_Bytes(self->wrapped);
878
- }
879
-
880
- /* ------------------------------------------------------------------------- */
881
-
882
- static PyObject *Proxy_reversed(
883
- ProxyObject *self, PyObject *args)
884
- {
885
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
886
-
887
- return PyObject_CallFunctionObjArgs((PyObject *)&PyReversed_Type,
888
- self->wrapped, NULL);
889
- }
890
-
891
- /* ------------------------------------------------------------------------- */
892
- static PyObject *Proxy_reduce(
893
- ProxyObject *self, PyObject *args)
894
- {
895
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
896
-
897
- return Py_BuildValue("(O(O))", identity_ref, self->wrapped);
898
- }
899
-
900
- /* ------------------------------------------------------------------------- */
901
-
902
- #if PY_MAJOR_VERSION >= 3
903
- static PyObject *Proxy_round(
904
- ProxyObject *self, PyObject *args)
905
- {
906
- PyObject *module = NULL;
907
- PyObject *dict = NULL;
908
- PyObject *round = NULL;
909
-
910
- PyObject *result = NULL;
911
-
912
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
913
-
914
- module = PyImport_ImportModule("builtins");
915
-
916
- if (!module)
917
- return NULL;
918
-
919
- dict = PyModule_GetDict(module);
920
- round = PyDict_GetItemString(dict, "round");
921
-
922
- if (!round) {
923
- Py_DECREF(module);
924
- return NULL;
925
- }
926
-
927
- Py_INCREF(round);
928
- Py_DECREF(module);
929
-
930
- result = PyObject_CallFunctionObjArgs(round, self->wrapped, NULL);
931
-
932
- Py_DECREF(round);
933
-
934
- return result;
935
- }
936
- #endif
937
-
938
- /* ------------------------------------------------------------------------- */
939
-
940
- static PyObject *Proxy_get_name(
941
- ProxyObject *self)
942
- {
943
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
944
-
945
- return PyObject_GetAttrString(self->wrapped, "__name__");
946
- }
947
-
948
- /* ------------------------------------------------------------------------- */
949
-
950
- static int Proxy_set_name(ProxyObject *self,
951
- PyObject *value)
952
- {
953
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
954
-
955
- return PyObject_SetAttrString(self->wrapped, "__name__", value);
956
- }
957
-
958
- /* ------------------------------------------------------------------------- */
959
-
960
- static PyObject *Proxy_get_qualname(
961
- ProxyObject *self)
962
- {
963
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
964
-
965
- return PyObject_GetAttrString(self->wrapped, "__qualname__");
966
- }
967
-
968
- /* ------------------------------------------------------------------------- */
969
-
970
- static int Proxy_set_qualname(ProxyObject *self,
971
- PyObject *value)
972
- {
973
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
974
-
975
- return PyObject_SetAttrString(self->wrapped, "__qualname__", value);
976
- }
977
-
978
- /* ------------------------------------------------------------------------- */
979
-
980
- static PyObject *Proxy_get_module(
981
- ProxyObject *self)
982
- {
983
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
984
-
985
- return PyObject_GetAttrString(self->wrapped, "__module__");
986
- }
987
-
988
- /* ------------------------------------------------------------------------- */
989
-
990
- static int Proxy_set_module(ProxyObject *self,
991
- PyObject *value)
992
- {
993
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
994
-
995
- if (PyObject_SetAttrString(self->wrapped, "__module__", value) == -1)
996
- return -1;
997
-
998
- return PyDict_SetItemString(self->dict, "__module__", value);
999
- }
1000
-
1001
- /* ------------------------------------------------------------------------- */
1002
-
1003
- static PyObject *Proxy_get_doc(
1004
- ProxyObject *self)
1005
- {
1006
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
1007
-
1008
- return PyObject_GetAttrString(self->wrapped, "__doc__");
1009
- }
1010
-
1011
- /* ------------------------------------------------------------------------- */
1012
-
1013
- static int Proxy_set_doc(ProxyObject *self,
1014
- PyObject *value)
1015
- {
1016
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
1017
-
1018
- if (PyObject_SetAttrString(self->wrapped, "__doc__", value) == -1)
1019
- return -1;
1020
-
1021
- return PyDict_SetItemString(self->dict, "__doc__", value);
1022
- }
1023
-
1024
- /* ------------------------------------------------------------------------- */
1025
-
1026
- static PyObject *Proxy_get_class(
1027
- ProxyObject *self)
1028
- {
1029
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
1030
-
1031
- return PyObject_GetAttrString(self->wrapped, "__class__");
1032
- }
1033
-
1034
- /* ------------------------------------------------------------------------- */
1035
-
1036
- static PyObject *Proxy_get_annotations(
1037
- ProxyObject *self)
1038
- {
1039
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
1040
-
1041
- return PyObject_GetAttrString(self->wrapped, "__annotations__");
1042
- }
1043
-
1044
- /* ------------------------------------------------------------------------- */
1045
-
1046
- static int Proxy_set_annotations(ProxyObject *self,
1047
- PyObject *value)
1048
- {
1049
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
1050
-
1051
- return PyObject_SetAttrString(self->wrapped, "__annotations__", value);
1052
- }
1053
-
1054
- /* ------------------------------------------------------------------------- */
1055
-
1056
- static PyObject *Proxy_get_wrapped(
1057
- ProxyObject *self)
1058
- {
1059
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
1060
-
1061
- Py_INCREF(self->wrapped);
1062
- return self->wrapped;
1063
- }
1064
-
1065
- /* ------------------------------------------------------------------------- */
1066
-
1067
- static int Proxy_set_wrapped(ProxyObject *self,
1068
- PyObject *value)
1069
- {
1070
- if (value) Py_INCREF(value);
1071
- Py_XDECREF(self->wrapped);
1072
-
1073
- self->wrapped = value;
1074
-
1075
- return 0;
1076
- }
1077
-
1078
- /* ------------------------------------------------------------------------- */
1079
-
1080
- static PyObject *Proxy_get_factory(
1081
- ProxyObject *self)
1082
- {
1083
- Py_INCREF(self->factory);
1084
- return self->factory;
1085
- }
1086
-
1087
- /* ------------------------------------------------------------------------- */
1088
-
1089
- static int Proxy_set_factory(ProxyObject *self,
1090
- PyObject *value)
1091
- {
1092
- if (value) Py_INCREF(value);
1093
- Py_XDECREF(self->factory);
1094
-
1095
- self->factory = value;
1096
-
1097
- return 0;
1098
- }
1099
-
1100
- /* ------------------------------------------------------------------------- */
1101
-
1102
- static PyObject *Proxy_getattro(
1103
- ProxyObject *self, PyObject *name)
1104
- {
1105
- PyObject *object = NULL;
1106
- PyObject *result = NULL;
1107
-
1108
- static PyObject *getattr_str = NULL;
1109
-
1110
- object = PyObject_GenericGetAttr((PyObject *)self, name);
1111
-
1112
- if (object)
1113
- return object;
1114
-
1115
- PyErr_Clear();
1116
-
1117
- if (!getattr_str) {
1118
- #if PY_MAJOR_VERSION >= 3
1119
- getattr_str = PyUnicode_InternFromString("__getattr__");
1120
- #else
1121
- getattr_str = PyString_InternFromString("__getattr__");
1122
- #endif
1123
- }
1124
-
1125
- object = PyObject_GenericGetAttr((PyObject *)self, getattr_str);
1126
-
1127
- if (!object)
1128
- return NULL;
1129
-
1130
- result = PyObject_CallFunctionObjArgs(object, name, NULL);
1131
-
1132
- Py_DECREF(object);
1133
-
1134
- return result;
1135
- }
1136
-
1137
- /* ------------------------------------------------------------------------- */
1138
-
1139
- static PyObject *Proxy_getattr(
1140
- ProxyObject *self, PyObject *args)
1141
- {
1142
- PyObject *name = NULL;
1143
-
1144
- #if PY_MAJOR_VERSION >= 3
1145
- if (!PyArg_ParseTuple(args, "U:__getattr__", &name))
1146
- return NULL;
1147
- #else
1148
- if (!PyArg_ParseTuple(args, "S:__getattr__", &name))
1149
- return NULL;
1150
- #endif
1151
-
1152
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
1153
-
1154
- return PyObject_GetAttr(self->wrapped, name);
1155
- }
1156
-
1157
- /* ------------------------------------------------------------------------- */
1158
-
1159
- static int Proxy_setattro(
1160
- ProxyObject *self, PyObject *name, PyObject *value)
1161
- {
1162
- if (PyObject_HasAttr((PyObject *)Py_TYPE(self), name))
1163
- return PyObject_GenericSetAttr((PyObject *)self, name, value);
1164
-
1165
- Proxy__ENSURE_WRAPPED_OR_RETURN_MINUS1(self);
1166
-
1167
- return PyObject_SetAttr(self->wrapped, name, value);
1168
- }
1169
-
1170
- /* ------------------------------------------------------------------------- */
1171
-
1172
- static PyObject *Proxy_richcompare(ProxyObject *self,
1173
- PyObject *other, int opcode)
1174
- {
1175
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
1176
-
1177
- return PyObject_RichCompare(self->wrapped, other, opcode);
1178
- }
1179
-
1180
- /* ------------------------------------------------------------------------- */
1181
-
1182
- static PyObject *Proxy_iter(ProxyObject *self)
1183
- {
1184
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
1185
-
1186
- return PyObject_GetIter(self->wrapped);
1187
- }
1188
-
1189
- /* ------------------------------------------------------------------------- */
1190
-
1191
- static PyObject *Proxy_call(
1192
- ProxyObject *self, PyObject *args, PyObject *kwds)
1193
- {
1194
- Proxy__ENSURE_WRAPPED_OR_RETURN_NULL(self);
1195
-
1196
- return PyObject_Call(self->wrapped, args, kwds);
1197
- }
1198
-
1199
- /* ------------------------------------------------------------------------- */;
1200
-
1201
- static PyNumberMethods Proxy_as_number = {
1202
- (binaryfunc)Proxy_add, /*nb_add*/
1203
- (binaryfunc)Proxy_subtract, /*nb_subtract*/
1204
- (binaryfunc)Proxy_multiply, /*nb_multiply*/
1205
- #if PY_MAJOR_VERSION < 3
1206
- (binaryfunc)Proxy_divide, /*nb_divide*/
1207
- #endif
1208
- (binaryfunc)Proxy_remainder, /*nb_remainder*/
1209
- (binaryfunc)Proxy_divmod, /*nb_divmod*/
1210
- (ternaryfunc)Proxy_power, /*nb_power*/
1211
- (unaryfunc)Proxy_negative, /*nb_negative*/
1212
- (unaryfunc)Proxy_positive, /*nb_positive*/
1213
- (unaryfunc)Proxy_absolute, /*nb_absolute*/
1214
- (inquiry)Proxy_bool, /*nb_nonzero/nb_bool*/
1215
- (unaryfunc)Proxy_invert, /*nb_invert*/
1216
- (binaryfunc)Proxy_lshift, /*nb_lshift*/
1217
- (binaryfunc)Proxy_rshift, /*nb_rshift*/
1218
- (binaryfunc)Proxy_and, /*nb_and*/
1219
- (binaryfunc)Proxy_xor, /*nb_xor*/
1220
- (binaryfunc)Proxy_or, /*nb_or*/
1221
- #if PY_MAJOR_VERSION < 3
1222
- 0, /*nb_coerce*/
1223
- #endif
1224
- #if PY_MAJOR_VERSION < 3
1225
- (unaryfunc)Proxy_int, /*nb_int*/
1226
- (unaryfunc)Proxy_long, /*nb_long*/
1227
- #else
1228
- (unaryfunc)Proxy_long, /*nb_int*/
1229
- 0, /*nb_long/nb_reserved*/
1230
- #endif
1231
- (unaryfunc)Proxy_float, /*nb_float*/
1232
- #if PY_MAJOR_VERSION < 3
1233
- (unaryfunc)Proxy_oct, /*nb_oct*/
1234
- (unaryfunc)Proxy_hex, /*nb_hex*/
1235
- #endif
1236
- (binaryfunc)Proxy_inplace_add, /*nb_inplace_add*/
1237
- (binaryfunc)Proxy_inplace_subtract, /*nb_inplace_subtract*/
1238
- (binaryfunc)Proxy_inplace_multiply, /*nb_inplace_multiply*/
1239
- #if PY_MAJOR_VERSION < 3
1240
- (binaryfunc)Proxy_inplace_divide, /*nb_inplace_divide*/
1241
- #endif
1242
- (binaryfunc)Proxy_inplace_remainder, /*nb_inplace_remainder*/
1243
- (ternaryfunc)Proxy_inplace_power, /*nb_inplace_power*/
1244
- (binaryfunc)Proxy_inplace_lshift, /*nb_inplace_lshift*/
1245
- (binaryfunc)Proxy_inplace_rshift, /*nb_inplace_rshift*/
1246
- (binaryfunc)Proxy_inplace_and, /*nb_inplace_and*/
1247
- (binaryfunc)Proxy_inplace_xor, /*nb_inplace_xor*/
1248
- (binaryfunc)Proxy_inplace_or, /*nb_inplace_or*/
1249
- (binaryfunc)Proxy_floor_divide, /*nb_floor_divide*/
1250
- (binaryfunc)Proxy_true_divide, /*nb_true_divide*/
1251
- (binaryfunc)Proxy_inplace_floor_divide, /*nb_inplace_floor_divide*/
1252
- (binaryfunc)Proxy_inplace_true_divide, /*nb_inplace_true_divide*/
1253
- (unaryfunc)Proxy_index, /*nb_index*/
1254
- };
1255
-
1256
- static PySequenceMethods Proxy_as_sequence = {
1257
- (lenfunc)Proxy_length, /*sq_length*/
1258
- 0, /*sq_concat*/
1259
- 0, /*sq_repeat*/
1260
- 0, /*sq_item*/
1261
- 0, /*sq_slice*/
1262
- 0, /*sq_ass_item*/
1263
- 0, /*sq_ass_slice*/
1264
- (objobjproc)Proxy_contains, /* sq_contains */
1265
- };
1266
-
1267
- static PyMappingMethods Proxy_as_mapping = {
1268
- (lenfunc)Proxy_length, /*mp_length*/
1269
- (binaryfunc)Proxy_getitem, /*mp_subscript*/
1270
- (objobjargproc)Proxy_setitem, /*mp_ass_subscript*/
1271
- };
1272
-
1273
- static PyMethodDef Proxy_methods[] = {
1274
- { "__dir__", (PyCFunction)Proxy_dir, METH_NOARGS, 0 },
1275
- { "__enter__", (PyCFunction)Proxy_enter,
1276
- METH_VARARGS | METH_KEYWORDS, 0 },
1277
- { "__exit__", (PyCFunction)Proxy_exit,
1278
- METH_VARARGS | METH_KEYWORDS, 0 },
1279
- { "__getattr__", (PyCFunction)Proxy_getattr,
1280
- METH_VARARGS , 0 },
1281
- { "__bytes__", (PyCFunction)Proxy_bytes, METH_NOARGS, 0 },
1282
- { "__reversed__", (PyCFunction)Proxy_reversed, METH_NOARGS, 0 },
1283
- { "__reduce__", (PyCFunction)Proxy_reduce, METH_NOARGS, 0 },
1284
- { "__reduce_ex__", (PyCFunction)Proxy_reduce, METH_O, 0 },
1285
- #if PY_MAJOR_VERSION >= 3
1286
- { "__round__", (PyCFunction)Proxy_round, METH_NOARGS, 0 },
1287
- #endif
1288
- { NULL, NULL },
1289
- };
1290
-
1291
- static PyGetSetDef Proxy_getset[] = {
1292
- { "__name__", (getter)Proxy_get_name,
1293
- (setter)Proxy_set_name, 0 },
1294
- { "__qualname__", (getter)Proxy_get_qualname,
1295
- (setter)Proxy_set_qualname, 0 },
1296
- { "__module__", (getter)Proxy_get_module,
1297
- (setter)Proxy_set_module, 0 },
1298
- { "__doc__", (getter)Proxy_get_doc,
1299
- (setter)Proxy_set_doc, 0 },
1300
- { "__class__", (getter)Proxy_get_class,
1301
- NULL, 0 },
1302
- { "__annotations__", (getter)Proxy_get_annotations,
1303
- (setter)Proxy_set_annotations, 0 },
1304
- { "__wrapped__", (getter)Proxy_get_wrapped,
1305
- (setter)Proxy_set_wrapped, 0 },
1306
- { "__factory__", (getter)Proxy_get_factory,
1307
- (setter)Proxy_set_factory, 0 },
1308
- { NULL },
1309
- };
1310
-
1311
- PyTypeObject Proxy_Type = {
1312
- PyVarObject_HEAD_INIT(NULL, 0)
1313
- "Proxy", /*tp_name*/
1314
- sizeof(ProxyObject), /*tp_basicsize*/
1315
- 0, /*tp_itemsize*/
1316
- /* methods */
1317
- (destructor)Proxy_dealloc, /*tp_dealloc*/
1318
- 0, /*tp_print*/
1319
- 0, /*tp_getattr*/
1320
- 0, /*tp_setattr*/
1321
- 0, /*tp_compare*/
1322
- (unaryfunc)Proxy_repr, /*tp_repr*/
1323
- &Proxy_as_number, /*tp_as_number*/
1324
- &Proxy_as_sequence, /*tp_as_sequence*/
1325
- &Proxy_as_mapping, /*tp_as_mapping*/
1326
- (hashfunc)Proxy_hash, /*tp_hash*/
1327
- (ternaryfunc)Proxy_call, /*tp_call*/
1328
- (unaryfunc)Proxy_str, /*tp_str*/
1329
- (getattrofunc)Proxy_getattro, /*tp_getattro*/
1330
- (setattrofunc)Proxy_setattro, /*tp_setattro*/
1331
- 0, /*tp_as_buffer*/
1332
- #if PY_MAJOR_VERSION < 3
1333
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_CHECKTYPES,
1334
- /*tp_flags*/
1335
- #else
1336
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC,
1337
- /*tp_flags*/
1338
- #endif
1339
- 0, /*tp_doc*/
1340
- (traverseproc)Proxy_traverse, /*tp_traverse*/
1341
- (inquiry)Proxy_clear, /*tp_clear*/
1342
- (richcmpfunc)Proxy_richcompare, /*tp_richcompare*/
1343
- 0, /*tp_weaklistoffset*/
1344
- (getiterfunc)Proxy_iter, /*tp_iter*/
1345
- 0, /*tp_iternext*/
1346
- Proxy_methods, /*tp_methods*/
1347
- 0, /*tp_members*/
1348
- Proxy_getset, /*tp_getset*/
1349
- 0, /*tp_base*/
1350
- 0, /*tp_dict*/
1351
- 0, /*tp_descr_get*/
1352
- 0, /*tp_descr_set*/
1353
- offsetof(ProxyObject, dict), /*tp_dictoffset*/
1354
- (initproc)Proxy_init, /*tp_init*/
1355
- PyType_GenericAlloc, /*tp_alloc*/
1356
- Proxy_new, /*tp_new*/
1357
- PyObject_GC_Del, /*tp_free*/
1358
- 0, /*tp_is_gc*/
1359
- };
1360
-
1361
- /* ------------------------------------------------------------------------- */
1362
-
1363
- #if PY_MAJOR_VERSION >= 3
1364
- static struct PyModuleDef moduledef = {
1365
- PyModuleDef_HEAD_INIT,
1366
- "lazy_object_proxy.cext", /* m_name */
1367
- NULL, /* m_doc */
1368
- -1, /* m_size */
1369
- module_functions, /* m_methods */
1370
- NULL, /* m_reload */
1371
- NULL, /* m_traverse */
1372
- NULL, /* m_clear */
1373
- NULL, /* m_free */
1374
- };
1375
- #endif
1376
-
1377
- static PyObject *
1378
- moduleinit(void)
1379
- {
1380
- PyObject *module;
1381
- PyObject *dict;
1382
-
1383
- #if PY_MAJOR_VERSION >= 3
1384
- module = PyModule_Create(&moduledef);
1385
- #else
1386
- module = Py_InitModule3("lazy_object_proxy.cext", module_functions, NULL);
1387
- #endif
1388
-
1389
- if (module == NULL)
1390
- return NULL;
1391
-
1392
- if (PyType_Ready(&Proxy_Type) < 0)
1393
- return NULL;
1394
-
1395
- dict = PyModule_GetDict(module);
1396
- if (dict == NULL)
1397
- return NULL;
1398
- identity_ref = PyDict_GetItemString(dict, "identity");
1399
- if (identity_ref == NULL)
1400
- return NULL;
1401
- Py_INCREF(identity_ref);
1402
-
1403
- Py_INCREF(&Proxy_Type);
1404
- PyModule_AddObject(module, "Proxy",
1405
- (PyObject *)&Proxy_Type);
1406
- return module;
1407
- }
1408
-
1409
- #if PY_MAJOR_VERSION < 3
1410
- PyMODINIT_FUNC initcext(void)
1411
- {
1412
- moduleinit();
1413
- }
1414
- #else
1415
- PyMODINIT_FUNC PyInit_cext(void)
1416
- {
1417
- return moduleinit();
1418
- }
1419
- #endif
1420
-
1421
- /* ------------------------------------------------------------------------- */