libv8 7.3.492.27.0 → 8.4.255.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (718) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +11 -14
  4. data/CHANGELOG.md +10 -0
  5. data/README.md +10 -11
  6. data/Rakefile +30 -36
  7. data/ext/libv8/builder.rb +1 -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 +7 -2
  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 +14 -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 +160 -119
  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 +181 -159
  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 +255 -360
  99. data/vendor/depot_tools/git_cl.py +1562 -2059
  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 +4 -2
  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 +8 -5
  178. data/vendor/depot_tools/metrics.py +7 -6
  179. data/vendor/depot_tools/metrics_utils.py +4 -14
  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 +156 -43
  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 +218 -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 -16
  208. data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +127 -78
  209. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +19 -4
  210. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +18 -3
  211. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +19 -4
  212. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +29 -8
  213. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +28 -10
  214. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +29 -8
  215. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +29 -8
  216. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/input_commit_with_id_without_repo.json +29 -8
  217. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/multiple_patch_refs.json +29 -8
  218. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +35 -10
  219. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{with_manifest_name.json → no_cp_checkout_HEAD.json} +25 -15
  220. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_branch_head.json +65 -0
  221. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_specific_commit.json +65 -0
  222. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_master.json +65 -0
  223. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/refs.json +29 -8
  224. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +29 -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 +17 -11
  227. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +41 -10
  228. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +24 -11
  229. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +35 -10
  230. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +35 -10
  231. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +38 -11
  232. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +36 -11
  233. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +35 -10
  234. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +35 -10
  235. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +35 -10
  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 +29 -8
  238. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +95 -22
  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 +23 -11
  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 +95 -75
  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 +23 -16
  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 +68 -343
  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/gclient/examples/full.expected/buildbot.json +0 -239
  405. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +0 -222
  406. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/__init__.py +0 -4
  407. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/api.py +0 -29
  408. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +0 -15
  409. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +0 -15
  410. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +0 -15
  411. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +0 -15
  412. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +0 -15
  413. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +0 -15
  414. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +0 -15
  415. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +0 -15
  416. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +0 -15
  417. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +0 -15
  418. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.py +0 -33
  419. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +0 -66
  420. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +0 -11
  421. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +0 -45
  422. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +0 -45
  423. data/vendor/depot_tools/rietveld.py +0 -779
  424. data/vendor/depot_tools/roll-dep-svn +0 -8
  425. data/vendor/depot_tools/roll-dep-svn.bat +0 -12
  426. data/vendor/depot_tools/roll_dep_svn.py +0 -430
  427. data/vendor/depot_tools/support/chromite_wrapper +0 -96
  428. data/vendor/depot_tools/third_party/boto/LICENSE +0 -18
  429. data/vendor/depot_tools/third_party/boto/README.chromium +0 -43
  430. data/vendor/depot_tools/third_party/boto/README.rst +0 -163
  431. data/vendor/depot_tools/third_party/boto/__init__.py +0 -793
  432. data/vendor/depot_tools/third_party/boto/auth.py +0 -682
  433. data/vendor/depot_tools/third_party/boto/auth_handler.py +0 -58
  434. data/vendor/depot_tools/third_party/boto/cacerts/__init__.py +0 -22
  435. data/vendor/depot_tools/third_party/boto/cacerts/cacerts.txt +0 -2183
  436. data/vendor/depot_tools/third_party/boto/compat.py +0 -28
  437. data/vendor/depot_tools/third_party/boto/connection.py +0 -1081
  438. data/vendor/depot_tools/third_party/boto/contrib/__init__.py +0 -22
  439. data/vendor/depot_tools/third_party/boto/contrib/ymlmessage.py +0 -52
  440. data/vendor/depot_tools/third_party/boto/core/README +0 -58
  441. data/vendor/depot_tools/third_party/boto/core/__init__.py +0 -23
  442. data/vendor/depot_tools/third_party/boto/core/auth.py +0 -78
  443. data/vendor/depot_tools/third_party/boto/core/credentials.py +0 -154
  444. data/vendor/depot_tools/third_party/boto/core/dictresponse.py +0 -178
  445. data/vendor/depot_tools/third_party/boto/core/service.py +0 -67
  446. data/vendor/depot_tools/third_party/boto/datapipeline/__init__.py +0 -0
  447. data/vendor/depot_tools/third_party/boto/datapipeline/exceptions.py +0 -42
  448. data/vendor/depot_tools/third_party/boto/datapipeline/layer1.py +0 -546
  449. data/vendor/depot_tools/third_party/boto/ecs/__init__.py +0 -90
  450. data/vendor/depot_tools/third_party/boto/ecs/item.py +0 -153
  451. data/vendor/depot_tools/third_party/boto/exception.py +0 -476
  452. data/vendor/depot_tools/third_party/boto/file/README +0 -49
  453. data/vendor/depot_tools/third_party/boto/file/__init__.py +0 -28
  454. data/vendor/depot_tools/third_party/boto/file/bucket.py +0 -112
  455. data/vendor/depot_tools/third_party/boto/file/connection.py +0 -33
  456. data/vendor/depot_tools/third_party/boto/file/key.py +0 -199
  457. data/vendor/depot_tools/third_party/boto/file/simpleresultset.py +0 -30
  458. data/vendor/depot_tools/third_party/boto/fps/__init__.py +0 -21
  459. data/vendor/depot_tools/third_party/boto/fps/connection.py +0 -369
  460. data/vendor/depot_tools/third_party/boto/fps/exception.py +0 -344
  461. data/vendor/depot_tools/third_party/boto/fps/response.py +0 -175
  462. data/vendor/depot_tools/third_party/boto/gs/__init__.py +0 -22
  463. data/vendor/depot_tools/third_party/boto/gs/acl.py +0 -304
  464. data/vendor/depot_tools/third_party/boto/gs/bucket.py +0 -870
  465. data/vendor/depot_tools/third_party/boto/gs/bucketlistresultset.py +0 -64
  466. data/vendor/depot_tools/third_party/boto/gs/connection.py +0 -103
  467. data/vendor/depot_tools/third_party/boto/gs/cors.py +0 -169
  468. data/vendor/depot_tools/third_party/boto/gs/key.py +0 -704
  469. data/vendor/depot_tools/third_party/boto/gs/resumable_upload_handler.py +0 -659
  470. data/vendor/depot_tools/third_party/boto/gs/user.py +0 -54
  471. data/vendor/depot_tools/third_party/boto/handler.py +0 -44
  472. data/vendor/depot_tools/third_party/boto/https_connection.py +0 -124
  473. data/vendor/depot_tools/third_party/boto/jsonresponse.py +0 -163
  474. data/vendor/depot_tools/third_party/boto/manage/__init__.py +0 -23
  475. data/vendor/depot_tools/third_party/boto/manage/cmdshell.py +0 -241
  476. data/vendor/depot_tools/third_party/boto/manage/propget.py +0 -64
  477. data/vendor/depot_tools/third_party/boto/manage/server.py +0 -556
  478. data/vendor/depot_tools/third_party/boto/manage/task.py +0 -175
  479. data/vendor/depot_tools/third_party/boto/manage/test_manage.py +0 -34
  480. data/vendor/depot_tools/third_party/boto/manage/volume.py +0 -420
  481. data/vendor/depot_tools/third_party/boto/mashups/__init__.py +0 -23
  482. data/vendor/depot_tools/third_party/boto/mashups/interactive.py +0 -97
  483. data/vendor/depot_tools/third_party/boto/mashups/iobject.py +0 -115
  484. data/vendor/depot_tools/third_party/boto/mashups/order.py +0 -211
  485. data/vendor/depot_tools/third_party/boto/mashups/server.py +0 -395
  486. data/vendor/depot_tools/third_party/boto/plugin.py +0 -90
  487. data/vendor/depot_tools/third_party/boto/provider.py +0 -337
  488. data/vendor/depot_tools/third_party/boto/pyami/__init__.py +0 -22
  489. data/vendor/depot_tools/third_party/boto/pyami/bootstrap.py +0 -134
  490. data/vendor/depot_tools/third_party/boto/pyami/config.py +0 -229
  491. data/vendor/depot_tools/third_party/boto/pyami/copybot.cfg +0 -60
  492. data/vendor/depot_tools/third_party/boto/pyami/copybot.py +0 -97
  493. data/vendor/depot_tools/third_party/boto/pyami/helloworld.py +0 -28
  494. data/vendor/depot_tools/third_party/boto/pyami/launch_ami.py +0 -178
  495. data/vendor/depot_tools/third_party/boto/pyami/scriptbase.py +0 -44
  496. data/vendor/depot_tools/third_party/boto/pyami/startup.py +0 -60
  497. data/vendor/depot_tools/third_party/boto/regioninfo.py +0 -63
  498. data/vendor/depot_tools/third_party/boto/resultset.py +0 -169
  499. data/vendor/depot_tools/third_party/boto/roboto/__init__.py +0 -1
  500. data/vendor/depot_tools/third_party/boto/roboto/awsqueryrequest.py +0 -504
  501. data/vendor/depot_tools/third_party/boto/roboto/awsqueryservice.py +0 -121
  502. data/vendor/depot_tools/third_party/boto/roboto/param.py +0 -147
  503. data/vendor/depot_tools/third_party/boto/s3/__init__.py +0 -84
  504. data/vendor/depot_tools/third_party/boto/s3/acl.py +0 -164
  505. data/vendor/depot_tools/third_party/boto/s3/bucket.py +0 -1634
  506. data/vendor/depot_tools/third_party/boto/s3/bucketlistresultset.py +0 -139
  507. data/vendor/depot_tools/third_party/boto/s3/bucketlogging.py +0 -83
  508. data/vendor/depot_tools/third_party/boto/s3/connection.py +0 -540
  509. data/vendor/depot_tools/third_party/boto/s3/cors.py +0 -210
  510. data/vendor/depot_tools/third_party/boto/s3/deletemarker.py +0 -55
  511. data/vendor/depot_tools/third_party/boto/s3/key.py +0 -1712
  512. data/vendor/depot_tools/third_party/boto/s3/keyfile.py +0 -134
  513. data/vendor/depot_tools/third_party/boto/s3/lifecycle.py +0 -231
  514. data/vendor/depot_tools/third_party/boto/s3/multidelete.py +0 -138
  515. data/vendor/depot_tools/third_party/boto/s3/multipart.py +0 -315
  516. data/vendor/depot_tools/third_party/boto/s3/prefix.py +0 -42
  517. data/vendor/depot_tools/third_party/boto/s3/resumable_download_handler.py +0 -339
  518. data/vendor/depot_tools/third_party/boto/s3/tagging.py +0 -71
  519. data/vendor/depot_tools/third_party/boto/s3/user.py +0 -49
  520. data/vendor/depot_tools/third_party/boto/s3/website.py +0 -237
  521. data/vendor/depot_tools/third_party/boto/services/__init__.py +0 -23
  522. data/vendor/depot_tools/third_party/boto/services/bs.py +0 -179
  523. data/vendor/depot_tools/third_party/boto/services/message.py +0 -58
  524. data/vendor/depot_tools/third_party/boto/services/result.py +0 -136
  525. data/vendor/depot_tools/third_party/boto/services/service.py +0 -161
  526. data/vendor/depot_tools/third_party/boto/services/servicedef.py +0 -91
  527. data/vendor/depot_tools/third_party/boto/services/sonofmmm.cfg +0 -43
  528. data/vendor/depot_tools/third_party/boto/services/sonofmmm.py +0 -81
  529. data/vendor/depot_tools/third_party/boto/services/submit.py +0 -88
  530. data/vendor/depot_tools/third_party/boto/ses/__init__.py +0 -54
  531. data/vendor/depot_tools/third_party/boto/ses/connection.py +0 -521
  532. data/vendor/depot_tools/third_party/boto/ses/exceptions.py +0 -77
  533. data/vendor/depot_tools/third_party/boto/storage_uri.py +0 -835
  534. data/vendor/depot_tools/third_party/boto/sts/__init__.py +0 -55
  535. data/vendor/depot_tools/third_party/boto/sts/connection.py +0 -207
  536. data/vendor/depot_tools/third_party/boto/sts/credentials.py +0 -215
  537. data/vendor/depot_tools/third_party/boto/utils.py +0 -927
  538. data/vendor/depot_tools/third_party/colorama/README.txt +0 -304
  539. data/vendor/depot_tools/third_party/fancy_urllib/README +0 -22
  540. data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +0 -460
  541. data/vendor/depot_tools/third_party/logilab/README.chromium +0 -6
  542. data/vendor/depot_tools/third_party/logilab/__init__.py +0 -0
  543. data/vendor/depot_tools/third_party/logilab/astroid/LICENSE.txt +0 -340
  544. data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +0 -11
  545. data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +0 -136
  546. data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +0 -42
  547. data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +0 -233
  548. data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +0 -548
  549. data/vendor/depot_tools/third_party/logilab/astroid/astpeephole.py +0 -86
  550. data/vendor/depot_tools/third_party/logilab/astroid/bases.py +0 -636
  551. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_builtin_inference.py +0 -336
  552. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +0 -15
  553. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_gi.py +0 -195
  554. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_mechanize.py +0 -18
  555. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_nose.py +0 -82
  556. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +0 -62
  557. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +0 -76
  558. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +0 -44
  559. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_six.py +0 -288
  560. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +0 -65
  561. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +0 -473
  562. data/vendor/depot_tools/third_party/logilab/astroid/builder.py +0 -263
  563. data/vendor/depot_tools/third_party/logilab/astroid/context.py +0 -81
  564. data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +0 -75
  565. data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +0 -71
  566. data/vendor/depot_tools/third_party/logilab/astroid/inference.py +0 -359
  567. data/vendor/depot_tools/third_party/logilab/astroid/manager.py +0 -267
  568. data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +0 -147
  569. data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +0 -741
  570. data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +0 -1053
  571. data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +0 -87
  572. data/vendor/depot_tools/third_party/logilab/astroid/objects.py +0 -186
  573. data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +0 -470
  574. data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +0 -390
  575. data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +0 -989
  576. data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +0 -1716
  577. data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +0 -201
  578. data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +0 -96
  579. data/vendor/depot_tools/third_party/logilab/astroid/util.py +0 -89
  580. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +0 -19
  581. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +0 -11
  582. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +0 -20
  583. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +0 -1421
  584. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +0 -9
  585. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +0 -246
  586. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +0 -414
  587. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +0 -13
  588. data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +0 -24
  589. data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +0 -11
  590. data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +0 -19
  591. data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +0 -2729
  592. data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +0 -96
  593. data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +0 -512
  594. data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +0 -228
  595. data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +0 -901
  596. data/vendor/depot_tools/third_party/mock/LICENSE.txt +0 -26
  597. data/vendor/depot_tools/third_party/mock/README.chromium +0 -24
  598. data/vendor/depot_tools/third_party/mock/__init__.py +0 -2366
  599. data/vendor/depot_tools/third_party/oauth2client/LICENSE +0 -202
  600. data/vendor/depot_tools/third_party/oauth2client/MODIFICATIONS.diff +0 -66
  601. data/vendor/depot_tools/third_party/oauth2client/README.chromium +0 -15
  602. data/vendor/depot_tools/third_party/oauth2client/__init__.py +0 -5
  603. data/vendor/depot_tools/third_party/oauth2client/anyjson.py +0 -32
  604. data/vendor/depot_tools/third_party/oauth2client/appengine.py +0 -963
  605. data/vendor/depot_tools/third_party/oauth2client/client.py +0 -1363
  606. data/vendor/depot_tools/third_party/oauth2client/clientsecrets.py +0 -153
  607. data/vendor/depot_tools/third_party/oauth2client/crypt.py +0 -377
  608. data/vendor/depot_tools/third_party/oauth2client/django_orm.py +0 -134
  609. data/vendor/depot_tools/third_party/oauth2client/file.py +0 -124
  610. data/vendor/depot_tools/third_party/oauth2client/gce.py +0 -90
  611. data/vendor/depot_tools/third_party/oauth2client/keyring_storage.py +0 -109
  612. data/vendor/depot_tools/third_party/oauth2client/locked_file.py +0 -373
  613. data/vendor/depot_tools/third_party/oauth2client/multistore_file.py +0 -465
  614. data/vendor/depot_tools/third_party/oauth2client/old_run.py +0 -160
  615. data/vendor/depot_tools/third_party/oauth2client/tools.py +0 -243
  616. data/vendor/depot_tools/third_party/oauth2client/util.py +0 -196
  617. data/vendor/depot_tools/third_party/oauth2client/xsrfutil.py +0 -113
  618. data/vendor/depot_tools/third_party/protobuf26/README.chromium +0 -23
  619. data/vendor/depot_tools/third_party/protobuf26/__init__.py +0 -0
  620. data/vendor/depot_tools/third_party/protobuf26/compiler/__init__.py +0 -0
  621. data/vendor/depot_tools/third_party/protobuf26/compiler/plugin_pb2.py +0 -184
  622. data/vendor/depot_tools/third_party/protobuf26/descriptor.py +0 -849
  623. data/vendor/depot_tools/third_party/protobuf26/descriptor_database.py +0 -137
  624. data/vendor/depot_tools/third_party/protobuf26/descriptor_pb2.py +0 -1522
  625. data/vendor/depot_tools/third_party/protobuf26/descriptor_pool.py +0 -643
  626. data/vendor/depot_tools/third_party/protobuf26/internal/__init__.py +0 -0
  627. data/vendor/depot_tools/third_party/protobuf26/internal/api_implementation.py +0 -89
  628. data/vendor/depot_tools/third_party/protobuf26/internal/containers.py +0 -269
  629. data/vendor/depot_tools/third_party/protobuf26/internal/cpp_message.py +0 -663
  630. data/vendor/depot_tools/third_party/protobuf26/internal/decoder.py +0 -831
  631. data/vendor/depot_tools/third_party/protobuf26/internal/encoder.py +0 -788
  632. data/vendor/depot_tools/third_party/protobuf26/internal/enum_type_wrapper.py +0 -89
  633. data/vendor/depot_tools/third_party/protobuf26/internal/message_listener.py +0 -78
  634. data/vendor/depot_tools/third_party/protobuf26/internal/python_message.py +0 -1247
  635. data/vendor/depot_tools/third_party/protobuf26/internal/type_checkers.py +0 -328
  636. data/vendor/depot_tools/third_party/protobuf26/internal/wire_format.py +0 -268
  637. data/vendor/depot_tools/third_party/protobuf26/message.py +0 -284
  638. data/vendor/depot_tools/third_party/protobuf26/message_factory.py +0 -155
  639. data/vendor/depot_tools/third_party/protobuf26/reflection.py +0 -205
  640. data/vendor/depot_tools/third_party/protobuf26/service.py +0 -226
  641. data/vendor/depot_tools/third_party/protobuf26/service_reflection.py +0 -284
  642. data/vendor/depot_tools/third_party/protobuf26/symbol_database.py +0 -185
  643. data/vendor/depot_tools/third_party/protobuf26/text_encoding.py +0 -110
  644. data/vendor/depot_tools/third_party/protobuf26/text_format.py +0 -873
  645. data/vendor/depot_tools/third_party/pylint.py +0 -37
  646. data/vendor/depot_tools/third_party/pylint/LICENSE.txt +0 -340
  647. data/vendor/depot_tools/third_party/pylint/README.chromium +0 -30
  648. data/vendor/depot_tools/third_party/pylint/__init__.py +0 -46
  649. data/vendor/depot_tools/third_party/pylint/__main__.py +0 -3
  650. data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +0 -80
  651. data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +0 -123
  652. data/vendor/depot_tools/third_party/pylint/checkers/async.py +0 -82
  653. data/vendor/depot_tools/third_party/pylint/checkers/base.py +0 -2010
  654. data/vendor/depot_tools/third_party/pylint/checkers/classes.py +0 -1120
  655. data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +0 -348
  656. data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +0 -369
  657. data/vendor/depot_tools/third_party/pylint/checkers/format.py +0 -993
  658. data/vendor/depot_tools/third_party/pylint/checkers/imports.py +0 -654
  659. data/vendor/depot_tools/third_party/pylint/checkers/logging.py +0 -258
  660. data/vendor/depot_tools/third_party/pylint/checkers/misc.py +0 -105
  661. data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +0 -169
  662. data/vendor/depot_tools/third_party/pylint/checkers/python3.py +0 -591
  663. data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +0 -129
  664. data/vendor/depot_tools/third_party/pylint/checkers/similar.py +0 -371
  665. data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +0 -264
  666. data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +0 -280
  667. data/vendor/depot_tools/third_party/pylint/checkers/strings.py +0 -618
  668. data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +0 -974
  669. data/vendor/depot_tools/third_party/pylint/checkers/utils.py +0 -741
  670. data/vendor/depot_tools/third_party/pylint/checkers/variables.py +0 -1191
  671. data/vendor/depot_tools/third_party/pylint/config.py +0 -820
  672. data/vendor/depot_tools/third_party/pylint/epylint.py +0 -181
  673. data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
  674. data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +0 -311
  675. data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +0 -62
  676. data/vendor/depot_tools/third_party/pylint/graph.py +0 -179
  677. data/vendor/depot_tools/third_party/pylint/gui.py +0 -531
  678. data/vendor/depot_tools/third_party/pylint/interfaces.py +0 -102
  679. data/vendor/depot_tools/third_party/pylint/lint.py +0 -1381
  680. data/vendor/depot_tools/third_party/pylint/pyreverse/__init__.py +0 -5
  681. data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +0 -230
  682. data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +0 -258
  683. data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +0 -372
  684. data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +0 -147
  685. data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +0 -210
  686. data/vendor/depot_tools/third_party/pylint/pyreverse/vcgutils.py +0 -198
  687. data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +0 -198
  688. data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +0 -149
  689. data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +0 -27
  690. data/vendor/depot_tools/third_party/pylint/reporters/html.py +0 -108
  691. data/vendor/depot_tools/third_party/pylint/reporters/json.py +0 -64
  692. data/vendor/depot_tools/third_party/pylint/reporters/text.py +0 -237
  693. data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +0 -106
  694. data/vendor/depot_tools/third_party/pylint/reporters/ureports/html_writer.py +0 -93
  695. data/vendor/depot_tools/third_party/pylint/reporters/ureports/nodes.py +0 -181
  696. data/vendor/depot_tools/third_party/pylint/reporters/ureports/text_writer.py +0 -99
  697. data/vendor/depot_tools/third_party/pylint/testutils.py +0 -414
  698. data/vendor/depot_tools/third_party/pylint/utils.py +0 -1148
  699. data/vendor/depot_tools/third_party/pymox/COPYING +0 -202
  700. data/vendor/depot_tools/third_party/pymox/MANIFEST.in +0 -5
  701. data/vendor/depot_tools/third_party/pymox/README +0 -56
  702. data/vendor/depot_tools/third_party/pymox/__init__.py +0 -0
  703. data/vendor/depot_tools/third_party/pymox/mox.py +0 -1643
  704. data/vendor/depot_tools/third_party/pymox/mox_test.py +0 -1708
  705. data/vendor/depot_tools/third_party/pymox/mox_test_helper.py +0 -76
  706. data/vendor/depot_tools/third_party/pymox/setup.py +0 -14
  707. data/vendor/depot_tools/third_party/pymox/stubout.py +0 -142
  708. data/vendor/depot_tools/third_party/pymox/stubout_test.py +0 -47
  709. data/vendor/depot_tools/third_party/pymox/stubout_testee.py +0 -2
  710. data/vendor/depot_tools/third_party/simplejson/LICENSE.txt +0 -19
  711. data/vendor/depot_tools/third_party/simplejson/PKG-INFO +0 -29
  712. data/vendor/depot_tools/third_party/simplejson/__init__.py +0 -437
  713. data/vendor/depot_tools/third_party/simplejson/decoder.py +0 -421
  714. data/vendor/depot_tools/third_party/simplejson/encoder.py +0 -501
  715. data/vendor/depot_tools/third_party/simplejson/ordered_dict.py +0 -119
  716. data/vendor/depot_tools/third_party/simplejson/scanner.py +0 -77
  717. data/vendor/depot_tools/third_party/simplejson/tool.py +0 -39
  718. data/vendor/depot_tools/third_party/upload.py +0 -2565
@@ -1,42 +0,0 @@
1
- # copyright 2003-2013 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
- """astroid packaging information"""
19
- distname = 'astroid'
20
-
21
- modname = 'astroid'
22
-
23
- numversion = (1, 4, 9)
24
- version = '.'.join([str(num) for num in numversion])
25
-
26
- install_requires = ['six', 'lazy_object_proxy', 'wrapt']
27
-
28
- license = 'LGPL'
29
-
30
- author = 'Python Code Quality Authority'
31
- author_email = 'code-quality@python.org'
32
- mailinglist = "mailto://%s" % author_email
33
- web = 'https://github.com/PyCQA/astroid'
34
-
35
- description = "A abstract syntax tree for Python with inference support."
36
-
37
- classifiers = ["Topic :: Software Development :: Libraries :: Python Modules",
38
- "Topic :: Software Development :: Quality Assurance",
39
- "Programming Language :: Python",
40
- "Programming Language :: Python :: 2",
41
- "Programming Language :: Python :: 3",
42
- ]
@@ -1,233 +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
- from astroid import bases
20
- from astroid import context as contextmod
21
- from astroid import exceptions
22
- from astroid import nodes
23
- from astroid import util
24
-
25
- import six
26
-
27
-
28
- class CallSite(object):
29
- """Class for understanding arguments passed into a call site
30
-
31
- It needs a call context, which contains the arguments and the
32
- keyword arguments that were passed into a given call site.
33
- In order to infer what an argument represents, call
34
- :meth:`infer_argument` with the corresponding function node
35
- and the argument name.
36
- """
37
-
38
- def __init__(self, callcontext):
39
- args = callcontext.args
40
- keywords = callcontext.keywords
41
- self.duplicated_keywords = set()
42
- self._unpacked_args = self._unpack_args(args)
43
- self._unpacked_kwargs = self._unpack_keywords(keywords)
44
-
45
- self.positional_arguments = [
46
- arg for arg in self._unpacked_args
47
- if arg is not util.YES
48
- ]
49
- self.keyword_arguments = {
50
- key: value for key, value in self._unpacked_kwargs.items()
51
- if value is not util.YES
52
- }
53
-
54
- @classmethod
55
- def from_call(cls, call_node):
56
- """Get a CallSite object from the given Call node."""
57
- callcontext = contextmod.CallContext(call_node.args,
58
- call_node.keywords)
59
- return cls(callcontext)
60
-
61
- def has_invalid_arguments(self):
62
- """Check if in the current CallSite were passed *invalid* arguments
63
-
64
- This can mean multiple things. For instance, if an unpacking
65
- of an invalid object was passed, then this method will return True.
66
- Other cases can be when the arguments can't be inferred by astroid,
67
- for example, by passing objects which aren't known statically.
68
- """
69
- return len(self.positional_arguments) != len(self._unpacked_args)
70
-
71
- def has_invalid_keywords(self):
72
- """Check if in the current CallSite were passed *invalid* keyword arguments
73
-
74
- For instance, unpacking a dictionary with integer keys is invalid
75
- (**{1:2}), because the keys must be strings, which will make this
76
- method to return True. Other cases where this might return True if
77
- objects which can't be inferred were passed.
78
- """
79
- return len(self.keyword_arguments) != len(self._unpacked_kwargs)
80
-
81
- def _unpack_keywords(self, keywords):
82
- values = {}
83
- context = contextmod.InferenceContext()
84
- for name, value in keywords:
85
- if name is None:
86
- # Then it's an unpacking operation (**)
87
- try:
88
- inferred = next(value.infer(context=context))
89
- except exceptions.InferenceError:
90
- values[name] = util.YES
91
- continue
92
-
93
- if not isinstance(inferred, nodes.Dict):
94
- # Not something we can work with.
95
- values[name] = util.YES
96
- continue
97
-
98
- for dict_key, dict_value in inferred.items:
99
- try:
100
- dict_key = next(dict_key.infer(context=context))
101
- except exceptions.InferenceError:
102
- values[name] = util.YES
103
- continue
104
- if not isinstance(dict_key, nodes.Const):
105
- values[name] = util.YES
106
- continue
107
- if not isinstance(dict_key.value, six.string_types):
108
- values[name] = util.YES
109
- continue
110
- if dict_key.value in values:
111
- # The name is already in the dictionary
112
- values[dict_key.value] = util.YES
113
- self.duplicated_keywords.add(dict_key.value)
114
- continue
115
- values[dict_key.value] = dict_value
116
- else:
117
- values[name] = value
118
- return values
119
-
120
- @staticmethod
121
- def _unpack_args(args):
122
- values = []
123
- context = contextmod.InferenceContext()
124
- for arg in args:
125
- if isinstance(arg, nodes.Starred):
126
- try:
127
- inferred = next(arg.value.infer(context=context))
128
- except exceptions.InferenceError:
129
- values.append(util.YES)
130
- continue
131
-
132
- if inferred is util.YES:
133
- values.append(util.YES)
134
- continue
135
- if not hasattr(inferred, 'elts'):
136
- values.append(util.YES)
137
- continue
138
- values.extend(inferred.elts)
139
- else:
140
- values.append(arg)
141
- return values
142
-
143
- def infer_argument(self, funcnode, name, context):
144
- """infer a function argument value according to the call context"""
145
- if name in self.duplicated_keywords:
146
- raise exceptions.InferenceError(name)
147
-
148
- # Look into the keywords first, maybe it's already there.
149
- try:
150
- return self.keyword_arguments[name].infer(context)
151
- except KeyError:
152
- pass
153
-
154
- # Too many arguments given and no variable arguments.
155
- if len(self.positional_arguments) > len(funcnode.args.args):
156
- if not funcnode.args.vararg:
157
- raise exceptions.InferenceError(name)
158
-
159
- positional = self.positional_arguments[:len(funcnode.args.args)]
160
- vararg = self.positional_arguments[len(funcnode.args.args):]
161
- argindex = funcnode.args.find_argname(name)[0]
162
- kwonlyargs = set(arg.name for arg in funcnode.args.kwonlyargs)
163
- kwargs = {
164
- key: value for key, value in self.keyword_arguments.items()
165
- if key not in kwonlyargs
166
- }
167
- # If there are too few positionals compared to
168
- # what the function expects to receive, check to see
169
- # if the missing positional arguments were passed
170
- # as keyword arguments and if so, place them into the
171
- # positional args list.
172
- if len(positional) < len(funcnode.args.args):
173
- for func_arg in funcnode.args.args:
174
- if func_arg.name in kwargs:
175
- arg = kwargs.pop(func_arg.name)
176
- positional.append(arg)
177
-
178
- if argindex is not None:
179
- # 2. first argument of instance/class method
180
- if argindex == 0 and funcnode.type in ('method', 'classmethod'):
181
- if context.boundnode is not None:
182
- boundnode = context.boundnode
183
- else:
184
- # XXX can do better ?
185
- boundnode = funcnode.parent.frame()
186
- if funcnode.type == 'method':
187
- if not isinstance(boundnode, bases.Instance):
188
- boundnode = bases.Instance(boundnode)
189
- return iter((boundnode,))
190
- if funcnode.type == 'classmethod':
191
- return iter((boundnode,))
192
- # if we have a method, extract one position
193
- # from the index, so we'll take in account
194
- # the extra parameter represented by `self` or `cls`
195
- if funcnode.type in ('method', 'classmethod'):
196
- argindex -= 1
197
- # 2. search arg index
198
- try:
199
- return self.positional_arguments[argindex].infer(context)
200
- except IndexError:
201
- pass
202
-
203
- if funcnode.args.kwarg == name:
204
- # It wants all the keywords that were passed into
205
- # the call site.
206
- if self.has_invalid_keywords():
207
- raise exceptions.InferenceError
208
- kwarg = nodes.Dict()
209
- kwarg.lineno = funcnode.args.lineno
210
- kwarg.col_offset = funcnode.args.col_offset
211
- kwarg.parent = funcnode.args
212
- items = [(nodes.const_factory(key), value)
213
- for key, value in kwargs.items()]
214
- kwarg.items = items
215
- return iter((kwarg, ))
216
- elif funcnode.args.vararg == name:
217
- # It wants all the args that were passed into
218
- # the call site.
219
- if self.has_invalid_arguments():
220
- raise exceptions.InferenceError
221
- args = nodes.Tuple()
222
- args.lineno = funcnode.args.lineno
223
- args.col_offset = funcnode.args.col_offset
224
- args.parent = funcnode.args
225
- args.elts = vararg
226
- return iter((args, ))
227
-
228
- # Check if it's a default parameter.
229
- try:
230
- return funcnode.args.default_value(name).infer(context)
231
- except exceptions.NoDefault:
232
- pass
233
- raise exceptions.InferenceError(name)
@@ -1,548 +0,0 @@
1
- # copyright 2003-2013 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
- """This module renders Astroid nodes as string:
19
-
20
- * :func:`to_code` function return equivalent (hopefuly valid) python string
21
-
22
- * :func:`dump` function return an internal representation of nodes found
23
- in the tree, useful for debugging or understanding the tree structure
24
- """
25
- import sys
26
-
27
- import six
28
-
29
- INDENT = ' ' # 4 spaces ; keep indentation variable
30
-
31
-
32
- def dump(node, ids=False):
33
- """print a nice astroid tree representation.
34
-
35
- :param ids: if true, we also print the ids (usefull for debugging)
36
- """
37
- result = []
38
- _repr_tree(node, result, ids=ids)
39
- return "\n".join(result)
40
-
41
- def _repr_tree(node, result, indent='', _done=None, ids=False):
42
- """built a tree representation of a node as a list of lines"""
43
- if _done is None:
44
- _done = set()
45
- if not hasattr(node, '_astroid_fields'): # not a astroid node
46
- return
47
- if node in _done:
48
- result.append(indent + 'loop in tree: %s' % node)
49
- return
50
- _done.add(node)
51
- node_str = str(node)
52
- if ids:
53
- node_str += ' . \t%x' % id(node)
54
- result.append(indent + node_str)
55
- indent += INDENT
56
- for field in node._astroid_fields:
57
- value = getattr(node, field)
58
- if isinstance(value, (list, tuple)):
59
- result.append(indent + field + " = [")
60
- for child in value:
61
- if isinstance(child, (list, tuple)):
62
- # special case for Dict # FIXME
63
- _repr_tree(child[0], result, indent, _done, ids)
64
- _repr_tree(child[1], result, indent, _done, ids)
65
- result.append(indent + ',')
66
- else:
67
- _repr_tree(child, result, indent, _done, ids)
68
- result.append(indent + "]")
69
- else:
70
- result.append(indent + field + " = ")
71
- _repr_tree(value, result, indent, _done, ids)
72
-
73
-
74
- class AsStringVisitor(object):
75
- """Visitor to render an Astroid node as a valid python code string"""
76
-
77
- def __call__(self, node):
78
- """Makes this visitor behave as a simple function"""
79
- return node.accept(self)
80
-
81
- def _stmt_list(self, stmts):
82
- """return a list of nodes to string"""
83
- stmts = '\n'.join([nstr for nstr in [n.accept(self) for n in stmts] if nstr])
84
- return INDENT + stmts.replace('\n', '\n'+INDENT)
85
-
86
-
87
- ## visit_<node> methods ###########################################
88
-
89
- def visit_arguments(self, node):
90
- """return an astroid.Function node as string"""
91
- return node.format_args()
92
-
93
- def visit_assignattr(self, node):
94
- """return an astroid.AssAttr node as string"""
95
- return self.visit_attribute(node)
96
-
97
- def visit_assert(self, node):
98
- """return an astroid.Assert node as string"""
99
- if node.fail:
100
- return 'assert %s, %s' % (node.test.accept(self),
101
- node.fail.accept(self))
102
- return 'assert %s' % node.test.accept(self)
103
-
104
- def visit_assignname(self, node):
105
- """return an astroid.AssName node as string"""
106
- return node.name
107
-
108
- def visit_assign(self, node):
109
- """return an astroid.Assign node as string"""
110
- lhs = ' = '.join([n.accept(self) for n in node.targets])
111
- return '%s = %s' % (lhs, node.value.accept(self))
112
-
113
- def visit_augassign(self, node):
114
- """return an astroid.AugAssign node as string"""
115
- return '%s %s %s' % (node.target.accept(self), node.op, node.value.accept(self))
116
-
117
- def visit_repr(self, node):
118
- """return an astroid.Repr node as string"""
119
- return '`%s`' % node.value.accept(self)
120
-
121
- def visit_binop(self, node):
122
- """return an astroid.BinOp node as string"""
123
- return '(%s) %s (%s)' % (node.left.accept(self), node.op, node.right.accept(self))
124
-
125
- def visit_boolop(self, node):
126
- """return an astroid.BoolOp node as string"""
127
- return (' %s ' % node.op).join(['(%s)' % n.accept(self)
128
- for n in node.values])
129
-
130
- def visit_break(self, node):
131
- """return an astroid.Break node as string"""
132
- return 'break'
133
-
134
- def visit_call(self, node):
135
- """return an astroid.Call node as string"""
136
- expr_str = node.func.accept(self)
137
- args = [arg.accept(self) for arg in node.args]
138
- if node.keywords:
139
- keywords = [kwarg.accept(self) for kwarg in node.keywords]
140
- else:
141
- keywords = []
142
-
143
- args.extend(keywords)
144
- return '%s(%s)' % (expr_str, ', '.join(args))
145
-
146
- def visit_classdef(self, node):
147
- """return an astroid.ClassDef node as string"""
148
- decorate = node.decorators and node.decorators.accept(self) or ''
149
- bases = ', '.join([n.accept(self) for n in node.bases])
150
- if sys.version_info[0] == 2:
151
- bases = bases and '(%s)' % bases or ''
152
- else:
153
- metaclass = node.metaclass()
154
- if metaclass and not node.has_metaclass_hack():
155
- if bases:
156
- bases = '(%s, metaclass=%s)' % (bases, metaclass.name)
157
- else:
158
- bases = '(metaclass=%s)' % metaclass.name
159
- else:
160
- bases = bases and '(%s)' % bases or ''
161
- docs = node.doc and '\n%s"""%s"""' % (INDENT, node.doc) or ''
162
- return '\n\n%sclass %s%s:%s\n%s\n' % (decorate, node.name, bases, docs,
163
- self._stmt_list(node.body))
164
-
165
- def visit_compare(self, node):
166
- """return an astroid.Compare node as string"""
167
- rhs_str = ' '.join(['%s %s' % (op, expr.accept(self))
168
- for op, expr in node.ops])
169
- return '%s %s' % (node.left.accept(self), rhs_str)
170
-
171
- def visit_comprehension(self, node):
172
- """return an astroid.Comprehension node as string"""
173
- ifs = ''.join([' if %s' % n.accept(self) for n in node.ifs])
174
- return 'for %s in %s%s' % (node.target.accept(self),
175
- node.iter.accept(self), ifs)
176
-
177
- def visit_const(self, node):
178
- """return an astroid.Const node as string"""
179
- return repr(node.value)
180
-
181
- def visit_continue(self, node):
182
- """return an astroid.Continue node as string"""
183
- return 'continue'
184
-
185
- def visit_delete(self, node): # XXX check if correct
186
- """return an astroid.Delete node as string"""
187
- return 'del %s' % ', '.join([child.accept(self)
188
- for child in node.targets])
189
-
190
- def visit_delattr(self, node):
191
- """return an astroid.DelAttr node as string"""
192
- return self.visit_attribute(node)
193
-
194
- def visit_delname(self, node):
195
- """return an astroid.DelName node as string"""
196
- return node.name
197
-
198
- def visit_decorators(self, node):
199
- """return an astroid.Decorators node as string"""
200
- return '@%s\n' % '\n@'.join([item.accept(self) for item in node.nodes])
201
-
202
- def visit_dict(self, node):
203
- """return an astroid.Dict node as string"""
204
- return '{%s}' % ', '.join(self._visit_dict(node))
205
-
206
- def _visit_dict(self, node):
207
- for key, value in node.items:
208
- key = key.accept(self)
209
- value = value.accept(self)
210
- if key == '**':
211
- # It can only be a DictUnpack node.
212
- yield key + value
213
- else:
214
- yield '%s: %s' % (key, value)
215
-
216
- def visit_dictunpack(self, node):
217
- return '**'
218
-
219
- def visit_dictcomp(self, node):
220
- """return an astroid.DictComp node as string"""
221
- return '{%s: %s %s}' % (node.key.accept(self), node.value.accept(self),
222
- ' '.join([n.accept(self) for n in node.generators]))
223
-
224
- def visit_expr(self, node):
225
- """return an astroid.Discard node as string"""
226
- return node.value.accept(self)
227
-
228
- def visit_emptynode(self, node):
229
- """dummy method for visiting an Empty node"""
230
- return ''
231
-
232
- def visit_excepthandler(self, node):
233
- if node.type:
234
- if node.name:
235
- excs = 'except %s, %s' % (node.type.accept(self),
236
- node.name.accept(self))
237
- else:
238
- excs = 'except %s' % node.type.accept(self)
239
- else:
240
- excs = 'except'
241
- return '%s:\n%s' % (excs, self._stmt_list(node.body))
242
-
243
- def visit_ellipsis(self, node):
244
- """return an astroid.Ellipsis node as string"""
245
- return '...'
246
-
247
- def visit_empty(self, node):
248
- """return an Empty node as string"""
249
- return ''
250
-
251
- def visit_exec(self, node):
252
- """return an astroid.Exec node as string"""
253
- if node.locals:
254
- return 'exec %s in %s, %s' % (node.expr.accept(self),
255
- node.locals.accept(self),
256
- node.globals.accept(self))
257
- if node.globals:
258
- return 'exec %s in %s' % (node.expr.accept(self),
259
- node.globals.accept(self))
260
- return 'exec %s' % node.expr.accept(self)
261
-
262
- def visit_extslice(self, node):
263
- """return an astroid.ExtSlice node as string"""
264
- return ','.join([dim.accept(self) for dim in node.dims])
265
-
266
- def visit_for(self, node):
267
- """return an astroid.For node as string"""
268
- fors = 'for %s in %s:\n%s' % (node.target.accept(self),
269
- node.iter.accept(self),
270
- self._stmt_list(node.body))
271
- if node.orelse:
272
- fors = '%s\nelse:\n%s' % (fors, self._stmt_list(node.orelse))
273
- return fors
274
-
275
- def visit_importfrom(self, node):
276
- """return an astroid.ImportFrom node as string"""
277
- return 'from %s import %s' % ('.' * (node.level or 0) + node.modname,
278
- _import_string(node.names))
279
-
280
- def visit_functiondef(self, node):
281
- """return an astroid.Function node as string"""
282
- decorate = node.decorators and node.decorators.accept(self) or ''
283
- docs = node.doc and '\n%s"""%s"""' % (INDENT, node.doc) or ''
284
- return_annotation = ''
285
- if six.PY3 and node.returns:
286
- return_annotation = '->' + node.returns.as_string()
287
- trailer = return_annotation + ":"
288
- else:
289
- trailer = ":"
290
- def_format = "\n%sdef %s(%s)%s%s\n%s"
291
- return def_format % (decorate, node.name,
292
- node.args.accept(self),
293
- trailer, docs,
294
- self._stmt_list(node.body))
295
-
296
- def visit_generatorexp(self, node):
297
- """return an astroid.GeneratorExp node as string"""
298
- return '(%s %s)' % (node.elt.accept(self),
299
- ' '.join([n.accept(self) for n in node.generators]))
300
-
301
- def visit_attribute(self, node):
302
- """return an astroid.Getattr node as string"""
303
- return '%s.%s' % (node.expr.accept(self), node.attrname)
304
-
305
- def visit_global(self, node):
306
- """return an astroid.Global node as string"""
307
- return 'global %s' % ', '.join(node.names)
308
-
309
- def visit_if(self, node):
310
- """return an astroid.If node as string"""
311
- ifs = ['if %s:\n%s' % (node.test.accept(self), self._stmt_list(node.body))]
312
- if node.orelse:# XXX use elif ???
313
- ifs.append('else:\n%s' % self._stmt_list(node.orelse))
314
- return '\n'.join(ifs)
315
-
316
- def visit_ifexp(self, node):
317
- """return an astroid.IfExp node as string"""
318
- return '%s if %s else %s' % (node.body.accept(self),
319
- node.test.accept(self),
320
- node.orelse.accept(self))
321
-
322
- def visit_import(self, node):
323
- """return an astroid.Import node as string"""
324
- return 'import %s' % _import_string(node.names)
325
-
326
- def visit_keyword(self, node):
327
- """return an astroid.Keyword node as string"""
328
- if node.arg is None:
329
- return '**%s' % node.value.accept(self)
330
- return '%s=%s' % (node.arg, node.value.accept(self))
331
-
332
- def visit_lambda(self, node):
333
- """return an astroid.Lambda node as string"""
334
- return 'lambda %s: %s' % (node.args.accept(self),
335
- node.body.accept(self))
336
-
337
- def visit_list(self, node):
338
- """return an astroid.List node as string"""
339
- return '[%s]' % ', '.join([child.accept(self) for child in node.elts])
340
-
341
- def visit_listcomp(self, node):
342
- """return an astroid.ListComp node as string"""
343
- return '[%s %s]' % (node.elt.accept(self),
344
- ' '.join([n.accept(self) for n in node.generators]))
345
-
346
- def visit_module(self, node):
347
- """return an astroid.Module node as string"""
348
- docs = node.doc and '"""%s"""\n\n' % node.doc or ''
349
- return docs + '\n'.join([n.accept(self) for n in node.body]) + '\n\n'
350
-
351
- def visit_name(self, node):
352
- """return an astroid.Name node as string"""
353
- return node.name
354
-
355
- def visit_pass(self, node):
356
- """return an astroid.Pass node as string"""
357
- return 'pass'
358
-
359
- def visit_print(self, node):
360
- """return an astroid.Print node as string"""
361
- nodes = ', '.join([n.accept(self) for n in node.values])
362
- if not node.nl:
363
- nodes = '%s,' % nodes
364
- if node.dest:
365
- return 'print >> %s, %s' % (node.dest.accept(self), nodes)
366
- return 'print %s' % nodes
367
-
368
- def visit_raise(self, node):
369
- """return an astroid.Raise node as string"""
370
- if node.exc:
371
- if node.inst:
372
- if node.tback:
373
- return 'raise %s, %s, %s' % (node.exc.accept(self),
374
- node.inst.accept(self),
375
- node.tback.accept(self))
376
- return 'raise %s, %s' % (node.exc.accept(self),
377
- node.inst.accept(self))
378
- return 'raise %s' % node.exc.accept(self)
379
- return 'raise'
380
-
381
- def visit_return(self, node):
382
- """return an astroid.Return node as string"""
383
- if node.value:
384
- return 'return %s' % node.value.accept(self)
385
- else:
386
- return 'return'
387
-
388
- def visit_index(self, node):
389
- """return a astroid.Index node as string"""
390
- return node.value.accept(self)
391
-
392
- def visit_set(self, node):
393
- """return an astroid.Set node as string"""
394
- return '{%s}' % ', '.join([child.accept(self) for child in node.elts])
395
-
396
- def visit_setcomp(self, node):
397
- """return an astroid.SetComp node as string"""
398
- return '{%s %s}' % (node.elt.accept(self),
399
- ' '.join([n.accept(self) for n in node.generators]))
400
-
401
- def visit_slice(self, node):
402
- """return a astroid.Slice node as string"""
403
- lower = node.lower and node.lower.accept(self) or ''
404
- upper = node.upper and node.upper.accept(self) or ''
405
- step = node.step and node.step.accept(self) or ''
406
- if step:
407
- return '%s:%s:%s' % (lower, upper, step)
408
- return '%s:%s' % (lower, upper)
409
-
410
- def visit_subscript(self, node):
411
- """return an astroid.Subscript node as string"""
412
- return '%s[%s]' % (node.value.accept(self), node.slice.accept(self))
413
-
414
- def visit_tryexcept(self, node):
415
- """return an astroid.TryExcept node as string"""
416
- trys = ['try:\n%s' % self._stmt_list(node.body)]
417
- for handler in node.handlers:
418
- trys.append(handler.accept(self))
419
- if node.orelse:
420
- trys.append('else:\n%s' % self._stmt_list(node.orelse))
421
- return '\n'.join(trys)
422
-
423
- def visit_tryfinally(self, node):
424
- """return an astroid.TryFinally node as string"""
425
- return 'try:\n%s\nfinally:\n%s' % (self._stmt_list(node.body),
426
- self._stmt_list(node.finalbody))
427
-
428
- def visit_tuple(self, node):
429
- """return an astroid.Tuple node as string"""
430
- if len(node.elts) == 1:
431
- return '(%s, )' % node.elts[0].accept(self)
432
- return '(%s)' % ', '.join([child.accept(self) for child in node.elts])
433
-
434
- def visit_unaryop(self, node):
435
- """return an astroid.UnaryOp node as string"""
436
- if node.op == 'not':
437
- operator = 'not '
438
- else:
439
- operator = node.op
440
- return '%s%s' % (operator, node.operand.accept(self))
441
-
442
- def visit_while(self, node):
443
- """return an astroid.While node as string"""
444
- whiles = 'while %s:\n%s' % (node.test.accept(self),
445
- self._stmt_list(node.body))
446
- if node.orelse:
447
- whiles = '%s\nelse:\n%s' % (whiles, self._stmt_list(node.orelse))
448
- return whiles
449
-
450
- def visit_with(self, node): # 'with' without 'as' is possible
451
- """return an astroid.With node as string"""
452
- items = ', '.join(('(%s)' % expr.accept(self)) +
453
- (vars and ' as (%s)' % (vars.accept(self)) or '')
454
- for expr, vars in node.items)
455
- return 'with %s:\n%s' % (items, self._stmt_list(node.body))
456
-
457
- def visit_yield(self, node):
458
- """yield an ast.Yield node as string"""
459
- yi_val = node.value and (" " + node.value.accept(self)) or ""
460
- expr = 'yield' + yi_val
461
- if node.parent.is_statement:
462
- return expr
463
- else:
464
- return "(%s)" % (expr,)
465
-
466
- def visit_starred(self, node):
467
- """return Starred node as string"""
468
- return "*" + node.value.accept(self)
469
-
470
-
471
- # These aren't for real AST nodes, but for inference objects.
472
-
473
- def visit_frozenset(self, node):
474
- return node.parent.accept(self)
475
-
476
- def visit_super(self, node):
477
- return node.parent.accept(self)
478
-
479
- def visit_yes(self, node):
480
- return "Uninferable"
481
-
482
-
483
- class AsStringVisitor3k(AsStringVisitor):
484
- """AsStringVisitor3k overwrites some AsStringVisitor methods"""
485
-
486
- def visit_excepthandler(self, node):
487
- if node.type:
488
- if node.name:
489
- excs = 'except %s as %s' % (node.type.accept(self),
490
- node.name.accept(self))
491
- else:
492
- excs = 'except %s' % node.type.accept(self)
493
- else:
494
- excs = 'except'
495
- return '%s:\n%s' % (excs, self._stmt_list(node.body))
496
-
497
- def visit_nonlocal(self, node):
498
- """return an astroid.Nonlocal node as string"""
499
- return 'nonlocal %s' % ', '.join(node.names)
500
-
501
- def visit_raise(self, node):
502
- """return an astroid.Raise node as string"""
503
- if node.exc:
504
- if node.cause:
505
- return 'raise %s from %s' % (node.exc.accept(self),
506
- node.cause.accept(self))
507
- return 'raise %s' % node.exc.accept(self)
508
- return 'raise'
509
-
510
- def visit_yieldfrom(self, node):
511
- """ Return an astroid.YieldFrom node as string. """
512
- yi_val = node.value and (" " + node.value.accept(self)) or ""
513
- expr = 'yield from' + yi_val
514
- if node.parent.is_statement:
515
- return expr
516
- else:
517
- return "(%s)" % (expr,)
518
-
519
- def visit_asyncfunctiondef(self, node):
520
- function = super(AsStringVisitor3k, self).visit_functiondef(node)
521
- return 'async ' + function.strip()
522
-
523
- def visit_await(self, node):
524
- return 'await %s' % node.value.accept(self)
525
-
526
- def visit_asyncwith(self, node):
527
- return 'async %s' % self.visit_with(node)
528
-
529
- def visit_asyncfor(self, node):
530
- return 'async %s' % self.visit_for(node)
531
-
532
-
533
- def _import_string(names):
534
- """return a list of (name, asname) formatted as a string"""
535
- _names = []
536
- for name, asname in names:
537
- if asname is not None:
538
- _names.append('%s as %s' % (name, asname))
539
- else:
540
- _names.append(name)
541
- return ', '.join(_names)
542
-
543
-
544
- if sys.version_info >= (3, 0):
545
- AsStringVisitor = AsStringVisitor3k
546
-
547
- # this visitor is stateless, thus it can be reused
548
- to_code = AsStringVisitor()