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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +11 -14
- data/CHANGELOG.md +10 -0
- data/README.md +10 -11
- data/Rakefile +30 -36
- data/ext/libv8/builder.rb +1 -1
- data/lib/libv8/version.rb +1 -1
- data/libv8.gemspec +1 -3
- data/vendor/depot_tools/{cipd.ps1 → .cipd_impl.ps1} +0 -0
- data/vendor/depot_tools/.gitattributes +1 -1
- data/vendor/depot_tools/.gitignore +7 -2
- data/vendor/depot_tools/.style.yapf +3 -1
- data/vendor/depot_tools/.vpython +55 -0
- data/vendor/depot_tools/.vpython3 +23 -0
- data/vendor/depot_tools/CROS_OWNERS +3 -1
- data/vendor/depot_tools/GOMA_OWNERS +9 -0
- data/vendor/depot_tools/LUCI_OWNERS +5 -0
- data/vendor/depot_tools/OWNERS +21 -6
- data/vendor/depot_tools/PRESUBMIT.py +35 -18
- data/vendor/depot_tools/README.git-cl.md +0 -14
- data/vendor/depot_tools/README.md +1 -1
- data/vendor/depot_tools/WATCHLISTS +2 -2
- data/vendor/depot_tools/auth.py +60 -772
- data/vendor/depot_tools/autoninja +12 -6
- data/vendor/depot_tools/autoninja.bat +14 -6
- data/vendor/depot_tools/autoninja.py +64 -27
- data/vendor/depot_tools/bb +1 -1
- data/vendor/depot_tools/bootstrap/{win/README.md → README.md} +28 -14
- data/vendor/depot_tools/bootstrap/{win/win_tools.py → bootstrap.py} +60 -43
- data/vendor/depot_tools/bootstrap/{win/git-bash.template.sh → git-bash.template.sh} +1 -1
- data/vendor/depot_tools/bootstrap/{win/git.template.bat → git.template.bat} +0 -0
- data/vendor/depot_tools/bootstrap/manifest.txt +27 -0
- data/vendor/depot_tools/bootstrap/manifest_bleeding_edge.txt +27 -0
- data/vendor/depot_tools/bootstrap/{win/profile.d.python.sh → profile.d.python.sh} +0 -0
- data/vendor/depot_tools/bootstrap/{win/python27.bleeding_edge.bat → python27.bat} +0 -0
- data/vendor/depot_tools/bootstrap/{win/python27.new.bat → python3.bat} +3 -3
- data/vendor/depot_tools/bootstrap/{win/win_tools.bat → win_tools.bat} +21 -16
- data/vendor/depot_tools/bootstrap_python3 +35 -0
- data/vendor/depot_tools/cbuildbot +1 -1
- data/vendor/depot_tools/chrome_set_ver +1 -1
- data/vendor/depot_tools/cipd +43 -39
- data/vendor/depot_tools/cipd.bat +2 -2
- data/vendor/depot_tools/cipd_client_version +1 -1
- data/vendor/depot_tools/cipd_client_version.digests +15 -14
- data/vendor/depot_tools/cipd_manifest.txt +31 -8
- data/vendor/depot_tools/cipd_manifest.versions +278 -158
- data/vendor/depot_tools/cit.py +9 -7
- data/vendor/depot_tools/clang_format.py +4 -1
- data/vendor/depot_tools/clang_format_merge_driver.py +10 -8
- data/vendor/depot_tools/compile_single_file.py +7 -2
- data/vendor/depot_tools/cpplint.py +51 -45
- data/vendor/depot_tools/cros +87 -0
- data/vendor/depot_tools/cros_sdk +1 -1
- data/vendor/depot_tools/crosjobs +13 -0
- data/vendor/depot_tools/detect_host_arch.py +0 -1
- data/vendor/depot_tools/dirmd +12 -0
- data/vendor/depot_tools/dirmd.bat +7 -0
- data/vendor/depot_tools/download_from_google_storage.py +47 -27
- data/vendor/depot_tools/ensure_bootstrap +14 -0
- data/vendor/depot_tools/fetch +14 -1
- data/vendor/depot_tools/fetch.bat +14 -1
- data/vendor/depot_tools/fetch.py +5 -7
- data/vendor/depot_tools/fetch_configs/chromium.py +6 -4
- data/vendor/depot_tools/fetch_configs/devtools-frontend.py +44 -0
- data/vendor/depot_tools/fetch_configs/ios_internal.py +10 -19
- data/vendor/depot_tools/fix_encoding.py +19 -5
- data/vendor/depot_tools/gclient +28 -12
- data/vendor/depot_tools/gclient-new-workdir.py +2 -0
- data/vendor/depot_tools/gclient.bat +18 -1
- data/vendor/depot_tools/gclient.py +160 -119
- data/vendor/depot_tools/gclient_eval.py +119 -107
- data/vendor/depot_tools/gclient_paths.py +67 -57
- data/vendor/depot_tools/gclient_scm.py +181 -159
- data/vendor/depot_tools/gclient_utils.py +177 -124
- data/vendor/depot_tools/gerrit_client.py +21 -13
- data/vendor/depot_tools/gerrit_util.py +188 -228
- data/vendor/depot_tools/git-cache +1 -1
- data/vendor/depot_tools/git-cl +1 -1
- data/vendor/depot_tools/git-drover +1 -1
- data/vendor/depot_tools/git-find-releases +1 -1
- data/vendor/depot_tools/git-footers +1 -1
- data/vendor/depot_tools/git-freeze +1 -1
- data/vendor/depot_tools/git-hyper-blame +1 -1
- data/vendor/depot_tools/git-map +1 -1
- data/vendor/depot_tools/git-map-branches +1 -1
- data/vendor/depot_tools/git-mark-merge-base +1 -1
- data/vendor/depot_tools/git-nav-downstream +1 -1
- data/vendor/depot_tools/git-new-branch +1 -1
- data/vendor/depot_tools/git-number +1 -1
- data/vendor/depot_tools/git-rebase-update +1 -1
- data/vendor/depot_tools/git-rename-branch +1 -1
- data/vendor/depot_tools/git-reparent-branch +1 -1
- data/vendor/depot_tools/git-retry +1 -1
- data/vendor/depot_tools/git-squash-branch +1 -1
- data/vendor/depot_tools/git-thaw +1 -1
- data/vendor/depot_tools/git-upstream-diff +1 -1
- data/vendor/depot_tools/git_cache.py +255 -360
- data/vendor/depot_tools/git_cl.py +1562 -2059
- data/vendor/depot_tools/git_cl_completion.sh +16 -2
- data/vendor/depot_tools/git_common.py +77 -32
- data/vendor/depot_tools/git_drover.py +17 -8
- data/vendor/depot_tools/git_find_releases.py +11 -9
- data/vendor/depot_tools/git_footers.py +13 -9
- data/vendor/depot_tools/git_freezer.py +3 -1
- data/vendor/depot_tools/git_hyper_blame.py +25 -32
- data/vendor/depot_tools/git_map.py +115 -93
- data/vendor/depot_tools/git_map_branches.py +11 -10
- data/vendor/depot_tools/git_mark_merge_base.py +8 -6
- data/vendor/depot_tools/git_nav_downstream.py +9 -6
- data/vendor/depot_tools/git_new_branch.py +39 -33
- data/vendor/depot_tools/git_number.py +28 -17
- data/vendor/depot_tools/git_rebase_update.py +50 -49
- data/vendor/depot_tools/git_rename_branch.py +2 -2
- data/vendor/depot_tools/git_reparent_branch.py +8 -6
- data/vendor/depot_tools/git_upstream_diff.py +4 -2
- data/vendor/depot_tools/gn.py +6 -4
- data/vendor/depot_tools/goma_auth +12 -0
- data/vendor/depot_tools/goma_auth.bat +8 -0
- data/vendor/depot_tools/goma_ctl +12 -0
- data/vendor/depot_tools/goma_ctl.bat +8 -0
- data/vendor/depot_tools/gsutil.py +5 -2
- data/vendor/depot_tools/gsutil.py.bat +8 -0
- data/vendor/depot_tools/gsutil.vpython +3 -1
- data/vendor/depot_tools/infra/config/OWNERS +2 -2
- data/vendor/depot_tools/infra/config/recipes.cfg +3 -2
- data/vendor/depot_tools/led +1 -1
- data/vendor/depot_tools/lockfile.py +116 -0
- data/vendor/depot_tools/luci-auth +1 -1
- data/vendor/depot_tools/lucicfg +1 -1
- data/vendor/depot_tools/mac_toolchain +1 -1
- data/vendor/depot_tools/man/html/depot_tools.html +1 -1
- data/vendor/depot_tools/man/html/depot_tools_tutorial.html +31 -25
- data/vendor/depot_tools/man/html/git-cl.html +1 -1
- data/vendor/depot_tools/man/html/git-drover.html +18 -18
- data/vendor/depot_tools/man/html/git-footers.html +1 -1
- data/vendor/depot_tools/man/html/git-freeze.html +3 -3
- data/vendor/depot_tools/man/html/git-hyper-blame.html +1 -1
- data/vendor/depot_tools/man/html/git-map-branches.html +2 -2
- data/vendor/depot_tools/man/html/git-map.html +1 -1
- data/vendor/depot_tools/man/html/git-mark-merge-base.html +1 -1
- data/vendor/depot_tools/man/html/git-nav-downstream.html +3 -3
- data/vendor/depot_tools/man/html/git-nav-upstream.html +12 -6
- data/vendor/depot_tools/man/html/git-new-branch.html +1 -1
- data/vendor/depot_tools/man/html/git-rebase-update.html +20 -1
- data/vendor/depot_tools/man/html/git-rename-branch.html +1 -1
- data/vendor/depot_tools/man/html/git-reparent-branch.html +1 -1
- data/vendor/depot_tools/man/html/git-retry.html +1 -1
- data/vendor/depot_tools/man/html/git-squash-branch.html +1 -1
- data/vendor/depot_tools/man/html/git-thaw.html +1 -1
- data/vendor/depot_tools/man/html/git-upstream-diff.html +10 -6
- data/vendor/depot_tools/man/man1/git-cl.1 +4 -4
- data/vendor/depot_tools/man/man1/git-drover.1 +21 -21
- data/vendor/depot_tools/man/man1/git-footers.1 +4 -4
- data/vendor/depot_tools/man/man1/git-freeze.1 +6 -6
- data/vendor/depot_tools/man/man1/git-hyper-blame.1 +4 -4
- data/vendor/depot_tools/man/man1/git-map-branches.1 +4 -4
- data/vendor/depot_tools/man/man1/git-map.1 +4 -4
- data/vendor/depot_tools/man/man1/git-mark-merge-base.1 +4 -4
- data/vendor/depot_tools/man/man1/git-nav-downstream.1 +6 -6
- data/vendor/depot_tools/man/man1/git-nav-upstream.1 +15 -9
- data/vendor/depot_tools/man/man1/git-new-branch.1 +3 -3
- data/vendor/depot_tools/man/man1/git-rebase-update.1 +14 -4
- data/vendor/depot_tools/man/man1/git-rename-branch.1 +4 -4
- data/vendor/depot_tools/man/man1/git-reparent-branch.1 +4 -4
- data/vendor/depot_tools/man/man1/git-retry.1 +4 -4
- data/vendor/depot_tools/man/man1/git-squash-branch.1 +4 -4
- data/vendor/depot_tools/man/man1/git-thaw.1 +4 -4
- data/vendor/depot_tools/man/man1/git-upstream-diff.1 +7 -13
- data/vendor/depot_tools/man/man7/depot_tools.7 +4 -4
- data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +31 -25
- data/vendor/depot_tools/man/src/common_demo_functions.sh +2 -2
- data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +3 -3
- data/vendor/depot_tools/man/src/filter_demo_output.py +4 -2
- data/vendor/depot_tools/man/src/git-new-branch.txt +2 -1
- data/vendor/depot_tools/man/src/git-rebase-update.txt +8 -1
- data/vendor/depot_tools/metrics.README.md +8 -5
- data/vendor/depot_tools/metrics.py +7 -6
- data/vendor/depot_tools/metrics_utils.py +4 -14
- data/vendor/depot_tools/my_activity.py +85 -251
- data/vendor/depot_tools/ninja +1 -0
- data/vendor/depot_tools/ninja-mac +0 -0
- data/vendor/depot_tools/ninjalog_uploader.py +146 -145
- data/vendor/depot_tools/ninjalog_uploader_wrapper.py +69 -60
- data/vendor/depot_tools/owners.py +156 -43
- data/vendor/depot_tools/owners_finder.py +28 -14
- data/vendor/depot_tools/post_build_ninja_summary.py +76 -48
- data/vendor/depot_tools/presubmit_canned_checks.py +293 -106
- data/vendor/depot_tools/presubmit_support.py +527 -333
- data/vendor/depot_tools/prpc +1 -1
- data/vendor/depot_tools/pylint +2 -12
- data/vendor/depot_tools/pylint-1.5 +78 -0
- data/vendor/depot_tools/pylint-1.6 +78 -0
- data/vendor/depot_tools/pylint-1.7 +78 -0
- data/vendor/depot_tools/pylint-1.8 +78 -0
- data/vendor/depot_tools/pylint-1.9 +78 -0
- data/vendor/depot_tools/{depot-tools-auth.bat → pylint.bat} +2 -2
- data/vendor/depot_tools/pylint_main.py +45 -0
- data/vendor/depot_tools/pylintrc +14 -1
- data/vendor/depot_tools/python-bin/python3 +7 -0
- data/vendor/depot_tools/python_runner.sh +13 -8
- data/vendor/depot_tools/rdb +12 -0
- data/vendor/depot_tools/rdb.bat +7 -0
- data/vendor/depot_tools/recipes/OWNERS +0 -1
- data/vendor/depot_tools/recipes/README.recipes.md +218 -151
- data/vendor/depot_tools/recipes/recipe_modules/OWNERS +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +17 -16
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +127 -78
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +19 -4
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +18 -3
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +19 -4
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +28 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/input_commit_with_id_without_repo.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/multiple_patch_refs.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{with_manifest_name.json → no_cp_checkout_HEAD.json} +25 -15
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_branch_head.json +65 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_specific_commit.json +65 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_master.json +65 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/refs.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/resolve_chromium_fixed_version.json +117 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +17 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +41 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +24 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +38 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +36 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +0 -5
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +95 -22
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +187 -114
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +2 -2
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/do_not_retry_patch_failures_in_cq.py +42 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/ensure_checkout.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/__init__.py +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +2 -2
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +2 -4
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +26 -6
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +23 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +23 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/test_api.py +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +4 -1
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +4 -2
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +3 -1
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +4 -2
- data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +2 -1
- data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +82 -13
- data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +23 -11
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +3 -4
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +3 -6
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +3 -4
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +7 -7
- data/vendor/depot_tools/recipes/recipe_modules/gclient/resources/diff_deps.py +16 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/test_api.py +4 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/basic.json +55 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/dont have revision yet.json +84 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/no change, exception.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/windows.json +55 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.py +88 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +9 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/sync_failure.py +24 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +2 -1
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +7 -12
- data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +0 -2
- data/vendor/depot_tools/recipes/recipe_modules/git/api.py +9 -17
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +3 -13
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +4 -12
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +2 -10
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +1 -7
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +1 -7
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +0 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +3 -10
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +3 -11
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +3 -13
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +0 -5
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/__init__.py +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +7 -13
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +21 -16
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.py +1 -2
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +2 -2
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +23 -8
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +52 -1
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.py +15 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +32 -8
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/ancient_version.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/automatic_version.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/explicit_version.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/linux.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +5 -4
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +21 -2
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +20 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +235 -3
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +13 -5
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.py +5 -1
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/properties.proto +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/test_api.py +19 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/execute.py +247 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/prepare.py +49 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +33 -45
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +64 -21
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +64 -21
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +1 -22
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +1 -22
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +5 -32
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_fetch_ref_timeout.py +29 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.expected/basic.json +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.py +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_target_ref.py +32 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/linux.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +2 -1
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +1 -6
- data/vendor/depot_tools/recipes/recipes.py +49 -28
- data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +11 -6
- data/vendor/depot_tools/repo +698 -540
- data/vendor/depot_tools/roll-dep +14 -1
- data/vendor/depot_tools/roll-dep.bat +10 -1
- data/vendor/depot_tools/roll_dep.py +15 -10
- data/vendor/depot_tools/scm.py +95 -75
- data/vendor/depot_tools/setup_color.py +36 -2
- data/vendor/depot_tools/split_cl.py +44 -32
- data/vendor/depot_tools/subcommand.py +6 -6
- data/vendor/depot_tools/subprocess2.py +38 -322
- data/vendor/depot_tools/third_party/colorama/LICENSE.txt +0 -1
- data/vendor/depot_tools/third_party/colorama/README.chromium +4 -5
- data/vendor/depot_tools/third_party/colorama/README.rst +346 -0
- data/vendor/depot_tools/third_party/colorama/__init__.py +3 -4
- data/vendor/depot_tools/third_party/colorama/ansi.py +82 -30
- data/vendor/depot_tools/third_party/colorama/ansitowin32.py +105 -37
- data/vendor/depot_tools/third_party/colorama/initialise.py +39 -15
- data/vendor/depot_tools/third_party/colorama/win32.py +46 -28
- data/vendor/depot_tools/third_party/colorama/winterm.py +80 -31
- data/vendor/depot_tools/update_depot_tools +18 -8
- data/vendor/depot_tools/update_depot_tools.bat +19 -15
- data/vendor/depot_tools/upload_metrics.py +7 -6
- data/vendor/depot_tools/upload_to_google_storage.py +23 -16
- data/vendor/depot_tools/vpython +4 -4
- data/vendor/depot_tools/vpython.bat +1 -1
- data/vendor/depot_tools/vpython3 +55 -0
- data/vendor/depot_tools/vpython3.bat +12 -0
- data/vendor/depot_tools/watchlists.py +14 -11
- data/vendor/depot_tools/weekly +4 -2
- data/vendor/depot_tools/win32imports.py +61 -0
- data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +49 -41
- data/vendor/depot_tools/win_toolchain/package_from_installed.py +142 -149
- data/vendor/depot_tools/wtf +5 -3
- data/vendor/depot_tools/yapf +5 -1
- metadata +68 -343
- data/vendor/depot_tools/README.testing +0 -23
- data/vendor/depot_tools/annotated_gclient.py +0 -89
- data/vendor/depot_tools/appengine_mapper.py +0 -23
- data/vendor/depot_tools/bootstrap/win/manifest.txt +0 -20
- data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +0 -20
- data/vendor/depot_tools/bootstrap/win/pylint.new.bat +0 -7
- data/vendor/depot_tools/buildbucket.py +0 -186
- data/vendor/depot_tools/checkout.py +0 -431
- data/vendor/depot_tools/cros +0 -1
- data/vendor/depot_tools/dart_format.py +0 -58
- data/vendor/depot_tools/depot-tools-auth +0 -8
- data/vendor/depot_tools/depot-tools-auth.py +0 -102
- data/vendor/depot_tools/my_reviews.py +0 -396
- data/vendor/depot_tools/patch.py +0 -548
- data/vendor/depot_tools/pylint.py +0 -30
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +0 -239
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +0 -222
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/__init__.py +0 -4
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/api.py +0 -29
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.py +0 -33
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +0 -66
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +0 -11
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +0 -45
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +0 -45
- data/vendor/depot_tools/rietveld.py +0 -779
- data/vendor/depot_tools/roll-dep-svn +0 -8
- data/vendor/depot_tools/roll-dep-svn.bat +0 -12
- data/vendor/depot_tools/roll_dep_svn.py +0 -430
- data/vendor/depot_tools/support/chromite_wrapper +0 -96
- data/vendor/depot_tools/third_party/boto/LICENSE +0 -18
- data/vendor/depot_tools/third_party/boto/README.chromium +0 -43
- data/vendor/depot_tools/third_party/boto/README.rst +0 -163
- data/vendor/depot_tools/third_party/boto/__init__.py +0 -793
- data/vendor/depot_tools/third_party/boto/auth.py +0 -682
- data/vendor/depot_tools/third_party/boto/auth_handler.py +0 -58
- data/vendor/depot_tools/third_party/boto/cacerts/__init__.py +0 -22
- data/vendor/depot_tools/third_party/boto/cacerts/cacerts.txt +0 -2183
- data/vendor/depot_tools/third_party/boto/compat.py +0 -28
- data/vendor/depot_tools/third_party/boto/connection.py +0 -1081
- data/vendor/depot_tools/third_party/boto/contrib/__init__.py +0 -22
- data/vendor/depot_tools/third_party/boto/contrib/ymlmessage.py +0 -52
- data/vendor/depot_tools/third_party/boto/core/README +0 -58
- data/vendor/depot_tools/third_party/boto/core/__init__.py +0 -23
- data/vendor/depot_tools/third_party/boto/core/auth.py +0 -78
- data/vendor/depot_tools/third_party/boto/core/credentials.py +0 -154
- data/vendor/depot_tools/third_party/boto/core/dictresponse.py +0 -178
- data/vendor/depot_tools/third_party/boto/core/service.py +0 -67
- data/vendor/depot_tools/third_party/boto/datapipeline/__init__.py +0 -0
- data/vendor/depot_tools/third_party/boto/datapipeline/exceptions.py +0 -42
- data/vendor/depot_tools/third_party/boto/datapipeline/layer1.py +0 -546
- data/vendor/depot_tools/third_party/boto/ecs/__init__.py +0 -90
- data/vendor/depot_tools/third_party/boto/ecs/item.py +0 -153
- data/vendor/depot_tools/third_party/boto/exception.py +0 -476
- data/vendor/depot_tools/third_party/boto/file/README +0 -49
- data/vendor/depot_tools/third_party/boto/file/__init__.py +0 -28
- data/vendor/depot_tools/third_party/boto/file/bucket.py +0 -112
- data/vendor/depot_tools/third_party/boto/file/connection.py +0 -33
- data/vendor/depot_tools/third_party/boto/file/key.py +0 -199
- data/vendor/depot_tools/third_party/boto/file/simpleresultset.py +0 -30
- data/vendor/depot_tools/third_party/boto/fps/__init__.py +0 -21
- data/vendor/depot_tools/third_party/boto/fps/connection.py +0 -369
- data/vendor/depot_tools/third_party/boto/fps/exception.py +0 -344
- data/vendor/depot_tools/third_party/boto/fps/response.py +0 -175
- data/vendor/depot_tools/third_party/boto/gs/__init__.py +0 -22
- data/vendor/depot_tools/third_party/boto/gs/acl.py +0 -304
- data/vendor/depot_tools/third_party/boto/gs/bucket.py +0 -870
- data/vendor/depot_tools/third_party/boto/gs/bucketlistresultset.py +0 -64
- data/vendor/depot_tools/third_party/boto/gs/connection.py +0 -103
- data/vendor/depot_tools/third_party/boto/gs/cors.py +0 -169
- data/vendor/depot_tools/third_party/boto/gs/key.py +0 -704
- data/vendor/depot_tools/third_party/boto/gs/resumable_upload_handler.py +0 -659
- data/vendor/depot_tools/third_party/boto/gs/user.py +0 -54
- data/vendor/depot_tools/third_party/boto/handler.py +0 -44
- data/vendor/depot_tools/third_party/boto/https_connection.py +0 -124
- data/vendor/depot_tools/third_party/boto/jsonresponse.py +0 -163
- data/vendor/depot_tools/third_party/boto/manage/__init__.py +0 -23
- data/vendor/depot_tools/third_party/boto/manage/cmdshell.py +0 -241
- data/vendor/depot_tools/third_party/boto/manage/propget.py +0 -64
- data/vendor/depot_tools/third_party/boto/manage/server.py +0 -556
- data/vendor/depot_tools/third_party/boto/manage/task.py +0 -175
- data/vendor/depot_tools/third_party/boto/manage/test_manage.py +0 -34
- data/vendor/depot_tools/third_party/boto/manage/volume.py +0 -420
- data/vendor/depot_tools/third_party/boto/mashups/__init__.py +0 -23
- data/vendor/depot_tools/third_party/boto/mashups/interactive.py +0 -97
- data/vendor/depot_tools/third_party/boto/mashups/iobject.py +0 -115
- data/vendor/depot_tools/third_party/boto/mashups/order.py +0 -211
- data/vendor/depot_tools/third_party/boto/mashups/server.py +0 -395
- data/vendor/depot_tools/third_party/boto/plugin.py +0 -90
- data/vendor/depot_tools/third_party/boto/provider.py +0 -337
- data/vendor/depot_tools/third_party/boto/pyami/__init__.py +0 -22
- data/vendor/depot_tools/third_party/boto/pyami/bootstrap.py +0 -134
- data/vendor/depot_tools/third_party/boto/pyami/config.py +0 -229
- data/vendor/depot_tools/third_party/boto/pyami/copybot.cfg +0 -60
- data/vendor/depot_tools/third_party/boto/pyami/copybot.py +0 -97
- data/vendor/depot_tools/third_party/boto/pyami/helloworld.py +0 -28
- data/vendor/depot_tools/third_party/boto/pyami/launch_ami.py +0 -178
- data/vendor/depot_tools/third_party/boto/pyami/scriptbase.py +0 -44
- data/vendor/depot_tools/third_party/boto/pyami/startup.py +0 -60
- data/vendor/depot_tools/third_party/boto/regioninfo.py +0 -63
- data/vendor/depot_tools/third_party/boto/resultset.py +0 -169
- data/vendor/depot_tools/third_party/boto/roboto/__init__.py +0 -1
- data/vendor/depot_tools/third_party/boto/roboto/awsqueryrequest.py +0 -504
- data/vendor/depot_tools/third_party/boto/roboto/awsqueryservice.py +0 -121
- data/vendor/depot_tools/third_party/boto/roboto/param.py +0 -147
- data/vendor/depot_tools/third_party/boto/s3/__init__.py +0 -84
- data/vendor/depot_tools/third_party/boto/s3/acl.py +0 -164
- data/vendor/depot_tools/third_party/boto/s3/bucket.py +0 -1634
- data/vendor/depot_tools/third_party/boto/s3/bucketlistresultset.py +0 -139
- data/vendor/depot_tools/third_party/boto/s3/bucketlogging.py +0 -83
- data/vendor/depot_tools/third_party/boto/s3/connection.py +0 -540
- data/vendor/depot_tools/third_party/boto/s3/cors.py +0 -210
- data/vendor/depot_tools/third_party/boto/s3/deletemarker.py +0 -55
- data/vendor/depot_tools/third_party/boto/s3/key.py +0 -1712
- data/vendor/depot_tools/third_party/boto/s3/keyfile.py +0 -134
- data/vendor/depot_tools/third_party/boto/s3/lifecycle.py +0 -231
- data/vendor/depot_tools/third_party/boto/s3/multidelete.py +0 -138
- data/vendor/depot_tools/third_party/boto/s3/multipart.py +0 -315
- data/vendor/depot_tools/third_party/boto/s3/prefix.py +0 -42
- data/vendor/depot_tools/third_party/boto/s3/resumable_download_handler.py +0 -339
- data/vendor/depot_tools/third_party/boto/s3/tagging.py +0 -71
- data/vendor/depot_tools/third_party/boto/s3/user.py +0 -49
- data/vendor/depot_tools/third_party/boto/s3/website.py +0 -237
- data/vendor/depot_tools/third_party/boto/services/__init__.py +0 -23
- data/vendor/depot_tools/third_party/boto/services/bs.py +0 -179
- data/vendor/depot_tools/third_party/boto/services/message.py +0 -58
- data/vendor/depot_tools/third_party/boto/services/result.py +0 -136
- data/vendor/depot_tools/third_party/boto/services/service.py +0 -161
- data/vendor/depot_tools/third_party/boto/services/servicedef.py +0 -91
- data/vendor/depot_tools/third_party/boto/services/sonofmmm.cfg +0 -43
- data/vendor/depot_tools/third_party/boto/services/sonofmmm.py +0 -81
- data/vendor/depot_tools/third_party/boto/services/submit.py +0 -88
- data/vendor/depot_tools/third_party/boto/ses/__init__.py +0 -54
- data/vendor/depot_tools/third_party/boto/ses/connection.py +0 -521
- data/vendor/depot_tools/third_party/boto/ses/exceptions.py +0 -77
- data/vendor/depot_tools/third_party/boto/storage_uri.py +0 -835
- data/vendor/depot_tools/third_party/boto/sts/__init__.py +0 -55
- data/vendor/depot_tools/third_party/boto/sts/connection.py +0 -207
- data/vendor/depot_tools/third_party/boto/sts/credentials.py +0 -215
- data/vendor/depot_tools/third_party/boto/utils.py +0 -927
- data/vendor/depot_tools/third_party/colorama/README.txt +0 -304
- data/vendor/depot_tools/third_party/fancy_urllib/README +0 -22
- data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +0 -460
- data/vendor/depot_tools/third_party/logilab/README.chromium +0 -6
- data/vendor/depot_tools/third_party/logilab/__init__.py +0 -0
- data/vendor/depot_tools/third_party/logilab/astroid/LICENSE.txt +0 -340
- data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +0 -11
- data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +0 -136
- data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +0 -42
- data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +0 -233
- data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +0 -548
- data/vendor/depot_tools/third_party/logilab/astroid/astpeephole.py +0 -86
- data/vendor/depot_tools/third_party/logilab/astroid/bases.py +0 -636
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_builtin_inference.py +0 -336
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +0 -15
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_gi.py +0 -195
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_mechanize.py +0 -18
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_nose.py +0 -82
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +0 -62
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +0 -76
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +0 -44
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_six.py +0 -288
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +0 -65
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +0 -473
- data/vendor/depot_tools/third_party/logilab/astroid/builder.py +0 -263
- data/vendor/depot_tools/third_party/logilab/astroid/context.py +0 -81
- data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +0 -75
- data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +0 -71
- data/vendor/depot_tools/third_party/logilab/astroid/inference.py +0 -359
- data/vendor/depot_tools/third_party/logilab/astroid/manager.py +0 -267
- data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +0 -147
- data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +0 -741
- data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +0 -1053
- data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +0 -87
- data/vendor/depot_tools/third_party/logilab/astroid/objects.py +0 -186
- data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +0 -470
- data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +0 -390
- data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +0 -989
- data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +0 -1716
- data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +0 -201
- data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +0 -96
- data/vendor/depot_tools/third_party/logilab/astroid/util.py +0 -89
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +0 -19
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +0 -11
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +0 -20
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +0 -1421
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +0 -9
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +0 -246
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +0 -414
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +0 -13
- data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +0 -24
- data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +0 -11
- data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +0 -19
- data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +0 -2729
- data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +0 -96
- data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +0 -512
- data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +0 -228
- data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +0 -901
- data/vendor/depot_tools/third_party/mock/LICENSE.txt +0 -26
- data/vendor/depot_tools/third_party/mock/README.chromium +0 -24
- data/vendor/depot_tools/third_party/mock/__init__.py +0 -2366
- data/vendor/depot_tools/third_party/oauth2client/LICENSE +0 -202
- data/vendor/depot_tools/third_party/oauth2client/MODIFICATIONS.diff +0 -66
- data/vendor/depot_tools/third_party/oauth2client/README.chromium +0 -15
- data/vendor/depot_tools/third_party/oauth2client/__init__.py +0 -5
- data/vendor/depot_tools/third_party/oauth2client/anyjson.py +0 -32
- data/vendor/depot_tools/third_party/oauth2client/appengine.py +0 -963
- data/vendor/depot_tools/third_party/oauth2client/client.py +0 -1363
- data/vendor/depot_tools/third_party/oauth2client/clientsecrets.py +0 -153
- data/vendor/depot_tools/third_party/oauth2client/crypt.py +0 -377
- data/vendor/depot_tools/third_party/oauth2client/django_orm.py +0 -134
- data/vendor/depot_tools/third_party/oauth2client/file.py +0 -124
- data/vendor/depot_tools/third_party/oauth2client/gce.py +0 -90
- data/vendor/depot_tools/third_party/oauth2client/keyring_storage.py +0 -109
- data/vendor/depot_tools/third_party/oauth2client/locked_file.py +0 -373
- data/vendor/depot_tools/third_party/oauth2client/multistore_file.py +0 -465
- data/vendor/depot_tools/third_party/oauth2client/old_run.py +0 -160
- data/vendor/depot_tools/third_party/oauth2client/tools.py +0 -243
- data/vendor/depot_tools/third_party/oauth2client/util.py +0 -196
- data/vendor/depot_tools/third_party/oauth2client/xsrfutil.py +0 -113
- data/vendor/depot_tools/third_party/protobuf26/README.chromium +0 -23
- data/vendor/depot_tools/third_party/protobuf26/__init__.py +0 -0
- data/vendor/depot_tools/third_party/protobuf26/compiler/__init__.py +0 -0
- data/vendor/depot_tools/third_party/protobuf26/compiler/plugin_pb2.py +0 -184
- data/vendor/depot_tools/third_party/protobuf26/descriptor.py +0 -849
- data/vendor/depot_tools/third_party/protobuf26/descriptor_database.py +0 -137
- data/vendor/depot_tools/third_party/protobuf26/descriptor_pb2.py +0 -1522
- data/vendor/depot_tools/third_party/protobuf26/descriptor_pool.py +0 -643
- data/vendor/depot_tools/third_party/protobuf26/internal/__init__.py +0 -0
- data/vendor/depot_tools/third_party/protobuf26/internal/api_implementation.py +0 -89
- data/vendor/depot_tools/third_party/protobuf26/internal/containers.py +0 -269
- data/vendor/depot_tools/third_party/protobuf26/internal/cpp_message.py +0 -663
- data/vendor/depot_tools/third_party/protobuf26/internal/decoder.py +0 -831
- data/vendor/depot_tools/third_party/protobuf26/internal/encoder.py +0 -788
- data/vendor/depot_tools/third_party/protobuf26/internal/enum_type_wrapper.py +0 -89
- data/vendor/depot_tools/third_party/protobuf26/internal/message_listener.py +0 -78
- data/vendor/depot_tools/third_party/protobuf26/internal/python_message.py +0 -1247
- data/vendor/depot_tools/third_party/protobuf26/internal/type_checkers.py +0 -328
- data/vendor/depot_tools/third_party/protobuf26/internal/wire_format.py +0 -268
- data/vendor/depot_tools/third_party/protobuf26/message.py +0 -284
- data/vendor/depot_tools/third_party/protobuf26/message_factory.py +0 -155
- data/vendor/depot_tools/third_party/protobuf26/reflection.py +0 -205
- data/vendor/depot_tools/third_party/protobuf26/service.py +0 -226
- data/vendor/depot_tools/third_party/protobuf26/service_reflection.py +0 -284
- data/vendor/depot_tools/third_party/protobuf26/symbol_database.py +0 -185
- data/vendor/depot_tools/third_party/protobuf26/text_encoding.py +0 -110
- data/vendor/depot_tools/third_party/protobuf26/text_format.py +0 -873
- data/vendor/depot_tools/third_party/pylint.py +0 -37
- data/vendor/depot_tools/third_party/pylint/LICENSE.txt +0 -340
- data/vendor/depot_tools/third_party/pylint/README.chromium +0 -30
- data/vendor/depot_tools/third_party/pylint/__init__.py +0 -46
- data/vendor/depot_tools/third_party/pylint/__main__.py +0 -3
- data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +0 -80
- data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +0 -123
- data/vendor/depot_tools/third_party/pylint/checkers/async.py +0 -82
- data/vendor/depot_tools/third_party/pylint/checkers/base.py +0 -2010
- data/vendor/depot_tools/third_party/pylint/checkers/classes.py +0 -1120
- data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +0 -348
- data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +0 -369
- data/vendor/depot_tools/third_party/pylint/checkers/format.py +0 -993
- data/vendor/depot_tools/third_party/pylint/checkers/imports.py +0 -654
- data/vendor/depot_tools/third_party/pylint/checkers/logging.py +0 -258
- data/vendor/depot_tools/third_party/pylint/checkers/misc.py +0 -105
- data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +0 -169
- data/vendor/depot_tools/third_party/pylint/checkers/python3.py +0 -591
- data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +0 -129
- data/vendor/depot_tools/third_party/pylint/checkers/similar.py +0 -371
- data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +0 -264
- data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +0 -280
- data/vendor/depot_tools/third_party/pylint/checkers/strings.py +0 -618
- data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +0 -974
- data/vendor/depot_tools/third_party/pylint/checkers/utils.py +0 -741
- data/vendor/depot_tools/third_party/pylint/checkers/variables.py +0 -1191
- data/vendor/depot_tools/third_party/pylint/config.py +0 -820
- data/vendor/depot_tools/third_party/pylint/epylint.py +0 -181
- data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
- data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +0 -311
- data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +0 -62
- data/vendor/depot_tools/third_party/pylint/graph.py +0 -179
- data/vendor/depot_tools/third_party/pylint/gui.py +0 -531
- data/vendor/depot_tools/third_party/pylint/interfaces.py +0 -102
- data/vendor/depot_tools/third_party/pylint/lint.py +0 -1381
- data/vendor/depot_tools/third_party/pylint/pyreverse/__init__.py +0 -5
- data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +0 -230
- data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +0 -258
- data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +0 -372
- data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +0 -147
- data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +0 -210
- data/vendor/depot_tools/third_party/pylint/pyreverse/vcgutils.py +0 -198
- data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +0 -198
- data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +0 -149
- data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +0 -27
- data/vendor/depot_tools/third_party/pylint/reporters/html.py +0 -108
- data/vendor/depot_tools/third_party/pylint/reporters/json.py +0 -64
- data/vendor/depot_tools/third_party/pylint/reporters/text.py +0 -237
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +0 -106
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/html_writer.py +0 -93
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/nodes.py +0 -181
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/text_writer.py +0 -99
- data/vendor/depot_tools/third_party/pylint/testutils.py +0 -414
- data/vendor/depot_tools/third_party/pylint/utils.py +0 -1148
- data/vendor/depot_tools/third_party/pymox/COPYING +0 -202
- data/vendor/depot_tools/third_party/pymox/MANIFEST.in +0 -5
- data/vendor/depot_tools/third_party/pymox/README +0 -56
- data/vendor/depot_tools/third_party/pymox/__init__.py +0 -0
- data/vendor/depot_tools/third_party/pymox/mox.py +0 -1643
- data/vendor/depot_tools/third_party/pymox/mox_test.py +0 -1708
- data/vendor/depot_tools/third_party/pymox/mox_test_helper.py +0 -76
- data/vendor/depot_tools/third_party/pymox/setup.py +0 -14
- data/vendor/depot_tools/third_party/pymox/stubout.py +0 -142
- data/vendor/depot_tools/third_party/pymox/stubout_test.py +0 -47
- data/vendor/depot_tools/third_party/pymox/stubout_testee.py +0 -2
- data/vendor/depot_tools/third_party/simplejson/LICENSE.txt +0 -19
- data/vendor/depot_tools/third_party/simplejson/PKG-INFO +0 -29
- data/vendor/depot_tools/third_party/simplejson/__init__.py +0 -437
- data/vendor/depot_tools/third_party/simplejson/decoder.py +0 -421
- data/vendor/depot_tools/third_party/simplejson/encoder.py +0 -501
- data/vendor/depot_tools/third_party/simplejson/ordered_dict.py +0 -119
- data/vendor/depot_tools/third_party/simplejson/scanner.py +0 -77
- data/vendor/depot_tools/third_party/simplejson/tool.py +0 -39
- data/vendor/depot_tools/third_party/upload.py +0 -2565
|
@@ -1,359 +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 contains a set of functions to handle inference on astroid trees
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
from __future__ import print_function
|
|
22
|
-
|
|
23
|
-
from astroid import bases
|
|
24
|
-
from astroid import context as contextmod
|
|
25
|
-
from astroid import exceptions
|
|
26
|
-
from astroid import manager
|
|
27
|
-
from astroid import nodes
|
|
28
|
-
from astroid import protocols
|
|
29
|
-
from astroid import util
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
MANAGER = manager.AstroidManager()
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
# .infer method ###############################################################
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def infer_end(self, context=None):
|
|
39
|
-
"""inference's end for node such as Module, ClassDef, FunctionDef,
|
|
40
|
-
Const...
|
|
41
|
-
|
|
42
|
-
"""
|
|
43
|
-
yield self
|
|
44
|
-
nodes.Module._infer = infer_end
|
|
45
|
-
nodes.ClassDef._infer = infer_end
|
|
46
|
-
nodes.FunctionDef._infer = infer_end
|
|
47
|
-
nodes.Lambda._infer = infer_end
|
|
48
|
-
nodes.Const._infer = infer_end
|
|
49
|
-
nodes.List._infer = infer_end
|
|
50
|
-
nodes.Tuple._infer = infer_end
|
|
51
|
-
nodes.Dict._infer = infer_end
|
|
52
|
-
nodes.Set._infer = infer_end
|
|
53
|
-
|
|
54
|
-
def _higher_function_scope(node):
|
|
55
|
-
""" Search for the first function which encloses the given
|
|
56
|
-
scope. This can be used for looking up in that function's
|
|
57
|
-
scope, in case looking up in a lower scope for a particular
|
|
58
|
-
name fails.
|
|
59
|
-
|
|
60
|
-
:param node: A scope node.
|
|
61
|
-
:returns:
|
|
62
|
-
``None``, if no parent function scope was found,
|
|
63
|
-
otherwise an instance of :class:`astroid.scoped_nodes.Function`,
|
|
64
|
-
which encloses the given node.
|
|
65
|
-
"""
|
|
66
|
-
current = node
|
|
67
|
-
while current.parent and not isinstance(current.parent, nodes.FunctionDef):
|
|
68
|
-
current = current.parent
|
|
69
|
-
if current and current.parent:
|
|
70
|
-
return current.parent
|
|
71
|
-
|
|
72
|
-
def infer_name(self, context=None):
|
|
73
|
-
"""infer a Name: use name lookup rules"""
|
|
74
|
-
frame, stmts = self.lookup(self.name)
|
|
75
|
-
if not stmts:
|
|
76
|
-
# Try to see if the name is enclosed in a nested function
|
|
77
|
-
# and use the higher (first function) scope for searching.
|
|
78
|
-
# TODO: should this be promoted to other nodes as well?
|
|
79
|
-
parent_function = _higher_function_scope(self.scope())
|
|
80
|
-
if parent_function:
|
|
81
|
-
_, stmts = parent_function.lookup(self.name)
|
|
82
|
-
|
|
83
|
-
if not stmts:
|
|
84
|
-
raise exceptions.UnresolvableName(self.name)
|
|
85
|
-
context = context.clone()
|
|
86
|
-
context.lookupname = self.name
|
|
87
|
-
return bases._infer_stmts(stmts, context, frame)
|
|
88
|
-
nodes.Name._infer = bases.path_wrapper(infer_name)
|
|
89
|
-
nodes.AssignName.infer_lhs = infer_name # won't work with a path wrapper
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
@bases.path_wrapper
|
|
93
|
-
@bases.raise_if_nothing_inferred
|
|
94
|
-
def infer_call(self, context=None):
|
|
95
|
-
"""infer a Call node by trying to guess what the function returns"""
|
|
96
|
-
callcontext = context.clone()
|
|
97
|
-
callcontext.callcontext = contextmod.CallContext(args=self.args,
|
|
98
|
-
keywords=self.keywords)
|
|
99
|
-
callcontext.boundnode = None
|
|
100
|
-
for callee in self.func.infer(context):
|
|
101
|
-
if callee is util.YES:
|
|
102
|
-
yield callee
|
|
103
|
-
continue
|
|
104
|
-
try:
|
|
105
|
-
if hasattr(callee, 'infer_call_result'):
|
|
106
|
-
for inferred in callee.infer_call_result(self, callcontext):
|
|
107
|
-
yield inferred
|
|
108
|
-
except exceptions.InferenceError:
|
|
109
|
-
## XXX log error ?
|
|
110
|
-
continue
|
|
111
|
-
nodes.Call._infer = infer_call
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
@bases.path_wrapper
|
|
115
|
-
def infer_import(self, context=None, asname=True):
|
|
116
|
-
"""infer an Import node: return the imported module/object"""
|
|
117
|
-
name = context.lookupname
|
|
118
|
-
if name is None:
|
|
119
|
-
raise exceptions.InferenceError()
|
|
120
|
-
if asname:
|
|
121
|
-
yield self.do_import_module(self.real_name(name))
|
|
122
|
-
else:
|
|
123
|
-
yield self.do_import_module(name)
|
|
124
|
-
nodes.Import._infer = infer_import
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
def infer_name_module(self, name):
|
|
128
|
-
context = contextmod.InferenceContext()
|
|
129
|
-
context.lookupname = name
|
|
130
|
-
return self.infer(context, asname=False)
|
|
131
|
-
nodes.Import.infer_name_module = infer_name_module
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
@bases.path_wrapper
|
|
135
|
-
def infer_import_from(self, context=None, asname=True):
|
|
136
|
-
"""infer a ImportFrom node: return the imported module/object"""
|
|
137
|
-
name = context.lookupname
|
|
138
|
-
if name is None:
|
|
139
|
-
raise exceptions.InferenceError()
|
|
140
|
-
if asname:
|
|
141
|
-
name = self.real_name(name)
|
|
142
|
-
module = self.do_import_module()
|
|
143
|
-
try:
|
|
144
|
-
context = contextmod.copy_context(context)
|
|
145
|
-
context.lookupname = name
|
|
146
|
-
stmts = module.getattr(name, ignore_locals=module is self.root())
|
|
147
|
-
return bases._infer_stmts(stmts, context)
|
|
148
|
-
except exceptions.NotFoundError:
|
|
149
|
-
raise exceptions.InferenceError(name)
|
|
150
|
-
nodes.ImportFrom._infer = infer_import_from
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
@bases.raise_if_nothing_inferred
|
|
154
|
-
def infer_attribute(self, context=None):
|
|
155
|
-
"""infer an Attribute node by using getattr on the associated object"""
|
|
156
|
-
for owner in self.expr.infer(context):
|
|
157
|
-
if owner is util.YES:
|
|
158
|
-
yield owner
|
|
159
|
-
continue
|
|
160
|
-
try:
|
|
161
|
-
context.boundnode = owner
|
|
162
|
-
for obj in owner.igetattr(self.attrname, context):
|
|
163
|
-
yield obj
|
|
164
|
-
context.boundnode = None
|
|
165
|
-
except (exceptions.NotFoundError, exceptions.InferenceError):
|
|
166
|
-
context.boundnode = None
|
|
167
|
-
except AttributeError:
|
|
168
|
-
# XXX method / function
|
|
169
|
-
context.boundnode = None
|
|
170
|
-
nodes.Attribute._infer = bases.path_wrapper(infer_attribute)
|
|
171
|
-
nodes.AssignAttr.infer_lhs = infer_attribute # # won't work with a path wrapper
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
@bases.path_wrapper
|
|
175
|
-
def infer_global(self, context=None):
|
|
176
|
-
if context.lookupname is None:
|
|
177
|
-
raise exceptions.InferenceError()
|
|
178
|
-
try:
|
|
179
|
-
return bases._infer_stmts(self.root().getattr(context.lookupname),
|
|
180
|
-
context)
|
|
181
|
-
except exceptions.NotFoundError:
|
|
182
|
-
raise exceptions.InferenceError()
|
|
183
|
-
nodes.Global._infer = infer_global
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
@bases.raise_if_nothing_inferred
|
|
187
|
-
def infer_subscript(self, context=None):
|
|
188
|
-
"""Inference for subscripts
|
|
189
|
-
|
|
190
|
-
We're understanding if the index is a Const
|
|
191
|
-
or a slice, passing the result of inference
|
|
192
|
-
to the value's `getitem` method, which should
|
|
193
|
-
handle each supported index type accordingly.
|
|
194
|
-
"""
|
|
195
|
-
|
|
196
|
-
value = next(self.value.infer(context))
|
|
197
|
-
if value is util.YES:
|
|
198
|
-
yield util.YES
|
|
199
|
-
return
|
|
200
|
-
|
|
201
|
-
index = next(self.slice.infer(context))
|
|
202
|
-
if index is util.YES:
|
|
203
|
-
yield util.YES
|
|
204
|
-
return
|
|
205
|
-
|
|
206
|
-
if isinstance(index, nodes.Const):
|
|
207
|
-
try:
|
|
208
|
-
assigned = value.getitem(index.value, context)
|
|
209
|
-
except AttributeError:
|
|
210
|
-
raise exceptions.InferenceError()
|
|
211
|
-
except (IndexError, TypeError):
|
|
212
|
-
yield util.YES
|
|
213
|
-
return
|
|
214
|
-
|
|
215
|
-
# Prevent inferring if the infered subscript
|
|
216
|
-
# is the same as the original subscripted object.
|
|
217
|
-
if self is assigned or assigned is util.YES:
|
|
218
|
-
yield util.YES
|
|
219
|
-
return
|
|
220
|
-
for infered in assigned.infer(context):
|
|
221
|
-
yield infered
|
|
222
|
-
else:
|
|
223
|
-
raise exceptions.InferenceError()
|
|
224
|
-
nodes.Subscript._infer = bases.path_wrapper(infer_subscript)
|
|
225
|
-
nodes.Subscript.infer_lhs = infer_subscript
|
|
226
|
-
|
|
227
|
-
@bases.raise_if_nothing_inferred
|
|
228
|
-
def infer_unaryop(self, context=None):
|
|
229
|
-
for operand in self.operand.infer(context):
|
|
230
|
-
try:
|
|
231
|
-
yield operand.infer_unary_op(self.op)
|
|
232
|
-
except TypeError:
|
|
233
|
-
continue
|
|
234
|
-
except AttributeError:
|
|
235
|
-
meth = protocols.UNARY_OP_METHOD[self.op]
|
|
236
|
-
if meth is None:
|
|
237
|
-
yield util.YES
|
|
238
|
-
else:
|
|
239
|
-
try:
|
|
240
|
-
# XXX just suppose if the type implement meth, returned type
|
|
241
|
-
# will be the same
|
|
242
|
-
operand.getattr(meth)
|
|
243
|
-
yield operand
|
|
244
|
-
except GeneratorExit:
|
|
245
|
-
raise
|
|
246
|
-
except:
|
|
247
|
-
yield util.YES
|
|
248
|
-
nodes.UnaryOp._infer = bases.path_wrapper(infer_unaryop)
|
|
249
|
-
|
|
250
|
-
def _infer_binop(binop, operand1, operand2, context, failures=None):
|
|
251
|
-
if operand1 is util.YES:
|
|
252
|
-
yield operand1
|
|
253
|
-
return
|
|
254
|
-
try:
|
|
255
|
-
for valnode in operand1.infer_binary_op(binop, operand2, context):
|
|
256
|
-
yield valnode
|
|
257
|
-
except AttributeError:
|
|
258
|
-
try:
|
|
259
|
-
# XXX just suppose if the type implement meth, returned type
|
|
260
|
-
# will be the same
|
|
261
|
-
operand1.getattr(protocols.BIN_OP_METHOD[operator])
|
|
262
|
-
yield operand1
|
|
263
|
-
except:
|
|
264
|
-
if failures is None:
|
|
265
|
-
yield util.YES
|
|
266
|
-
else:
|
|
267
|
-
failures.append(operand1)
|
|
268
|
-
|
|
269
|
-
@bases.yes_if_nothing_inferred
|
|
270
|
-
def infer_binop(self, context=None):
|
|
271
|
-
failures = []
|
|
272
|
-
for lhs in self.left.infer(context):
|
|
273
|
-
for val in _infer_binop(self, lhs, self.right, context, failures):
|
|
274
|
-
yield val
|
|
275
|
-
for lhs in failures:
|
|
276
|
-
for rhs in self.right.infer(context):
|
|
277
|
-
for val in _infer_binop(self, rhs, lhs, context):
|
|
278
|
-
yield val
|
|
279
|
-
nodes.BinOp._infer = bases.path_wrapper(infer_binop)
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
def infer_arguments(self, context=None):
|
|
283
|
-
name = context.lookupname
|
|
284
|
-
if name is None:
|
|
285
|
-
raise exceptions.InferenceError()
|
|
286
|
-
return protocols._arguments_infer_argname(self, name, context)
|
|
287
|
-
nodes.Arguments._infer = infer_arguments
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
@bases.path_wrapper
|
|
291
|
-
def infer_assign(self, context=None):
|
|
292
|
-
"""infer a AssignName/AssignAttr: need to inspect the RHS part of the
|
|
293
|
-
assign node
|
|
294
|
-
"""
|
|
295
|
-
stmt = self.statement()
|
|
296
|
-
if isinstance(stmt, nodes.AugAssign):
|
|
297
|
-
return stmt.infer(context)
|
|
298
|
-
|
|
299
|
-
stmts = list(self.assigned_stmts(context=context))
|
|
300
|
-
return bases._infer_stmts(stmts, context)
|
|
301
|
-
nodes.AssignName._infer = infer_assign
|
|
302
|
-
nodes.AssignAttr._infer = infer_assign
|
|
303
|
-
|
|
304
|
-
def infer_augassign(self, context=None):
|
|
305
|
-
failures = []
|
|
306
|
-
for lhs in self.target.infer_lhs(context):
|
|
307
|
-
for val in _infer_binop(self, lhs, self.value, context, failures):
|
|
308
|
-
yield val
|
|
309
|
-
for lhs in failures:
|
|
310
|
-
for rhs in self.value.infer(context):
|
|
311
|
-
for val in _infer_binop(self, rhs, lhs, context):
|
|
312
|
-
yield val
|
|
313
|
-
nodes.AugAssign._infer = bases.path_wrapper(infer_augassign)
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
# no infer method on DelName and DelAttr (expected InferenceError)
|
|
317
|
-
|
|
318
|
-
@bases.path_wrapper
|
|
319
|
-
def infer_empty_node(self, context=None):
|
|
320
|
-
if not self.has_underlying_object():
|
|
321
|
-
yield util.YES
|
|
322
|
-
else:
|
|
323
|
-
try:
|
|
324
|
-
for inferred in MANAGER.infer_ast_from_something(self.object,
|
|
325
|
-
context=context):
|
|
326
|
-
yield inferred
|
|
327
|
-
except exceptions.AstroidError:
|
|
328
|
-
yield util.YES
|
|
329
|
-
nodes.EmptyNode._infer = infer_empty_node
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
def infer_index(self, context=None):
|
|
333
|
-
return self.value.infer(context)
|
|
334
|
-
nodes.Index._infer = infer_index
|
|
335
|
-
|
|
336
|
-
# TODO: move directly into bases.Instance when the dependency hell
|
|
337
|
-
# will be solved.
|
|
338
|
-
def instance_getitem(self, index, context=None):
|
|
339
|
-
# Rewrap index to Const for this case
|
|
340
|
-
index = nodes.Const(index)
|
|
341
|
-
if context:
|
|
342
|
-
new_context = context.clone()
|
|
343
|
-
else:
|
|
344
|
-
context = new_context = contextmod.InferenceContext()
|
|
345
|
-
|
|
346
|
-
# Create a new callcontext for providing index as an argument.
|
|
347
|
-
new_context.callcontext = contextmod.CallContext(args=[index])
|
|
348
|
-
new_context.boundnode = self
|
|
349
|
-
|
|
350
|
-
method = next(self.igetattr('__getitem__', context=context))
|
|
351
|
-
if not isinstance(method, bases.BoundMethod):
|
|
352
|
-
raise exceptions.InferenceError
|
|
353
|
-
|
|
354
|
-
try:
|
|
355
|
-
return next(method.infer_call_result(self, new_context))
|
|
356
|
-
except StopIteration:
|
|
357
|
-
raise exceptions.InferenceError
|
|
358
|
-
|
|
359
|
-
bases.Instance.getitem = instance_getitem
|
|
@@ -1,267 +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 manager: avoid multiple astroid build of a same module when
|
|
19
|
-
possible by providing a class responsible to get astroid representation
|
|
20
|
-
from various source and using a cache of built modules)
|
|
21
|
-
"""
|
|
22
|
-
from __future__ import print_function
|
|
23
|
-
|
|
24
|
-
import imp
|
|
25
|
-
import os
|
|
26
|
-
import zipimport
|
|
27
|
-
|
|
28
|
-
from astroid import exceptions
|
|
29
|
-
from astroid import modutils
|
|
30
|
-
from astroid import transforms
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def safe_repr(obj):
|
|
34
|
-
try:
|
|
35
|
-
return repr(obj)
|
|
36
|
-
except Exception: # pylint: disable=broad-except
|
|
37
|
-
return '???'
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
class AstroidManager(object):
|
|
41
|
-
"""the astroid manager, responsible to build astroid from files
|
|
42
|
-
or modules.
|
|
43
|
-
|
|
44
|
-
Use the Borg pattern.
|
|
45
|
-
"""
|
|
46
|
-
|
|
47
|
-
name = 'astroid loader'
|
|
48
|
-
brain = {}
|
|
49
|
-
|
|
50
|
-
def __init__(self):
|
|
51
|
-
self.__dict__ = AstroidManager.brain
|
|
52
|
-
if not self.__dict__:
|
|
53
|
-
# NOTE: cache entries are added by the [re]builder
|
|
54
|
-
self.astroid_cache = {}
|
|
55
|
-
self._mod_file_cache = {}
|
|
56
|
-
self._failed_import_hooks = []
|
|
57
|
-
self.always_load_extensions = False
|
|
58
|
-
self.optimize_ast = False
|
|
59
|
-
self.extension_package_whitelist = set()
|
|
60
|
-
self._transform = transforms.TransformVisitor()
|
|
61
|
-
|
|
62
|
-
# Export these APIs for convenience
|
|
63
|
-
self.register_transform = self._transform.register_transform
|
|
64
|
-
self.unregister_transform = self._transform.unregister_transform
|
|
65
|
-
|
|
66
|
-
def visit_transforms(self, node):
|
|
67
|
-
"""Visit the transforms and apply them to the given *node*."""
|
|
68
|
-
return self._transform.visit(node)
|
|
69
|
-
|
|
70
|
-
def ast_from_file(self, filepath, modname=None, fallback=True, source=False):
|
|
71
|
-
"""given a module name, return the astroid object"""
|
|
72
|
-
try:
|
|
73
|
-
filepath = modutils.get_source_file(filepath, include_no_ext=True)
|
|
74
|
-
source = True
|
|
75
|
-
except modutils.NoSourceFile:
|
|
76
|
-
pass
|
|
77
|
-
if modname is None:
|
|
78
|
-
try:
|
|
79
|
-
modname = '.'.join(modutils.modpath_from_file(filepath))
|
|
80
|
-
except ImportError:
|
|
81
|
-
modname = filepath
|
|
82
|
-
if modname in self.astroid_cache and self.astroid_cache[modname].source_file == filepath:
|
|
83
|
-
return self.astroid_cache[modname]
|
|
84
|
-
if source:
|
|
85
|
-
from astroid.builder import AstroidBuilder
|
|
86
|
-
return AstroidBuilder(self).file_build(filepath, modname)
|
|
87
|
-
elif fallback and modname:
|
|
88
|
-
return self.ast_from_module_name(modname)
|
|
89
|
-
raise exceptions.AstroidBuildingException(
|
|
90
|
-
'unable to get astroid for file %s' % filepath)
|
|
91
|
-
|
|
92
|
-
def _build_stub_module(self, modname):
|
|
93
|
-
from astroid.builder import AstroidBuilder
|
|
94
|
-
return AstroidBuilder(self).string_build('', modname)
|
|
95
|
-
|
|
96
|
-
def _can_load_extension(self, modname):
|
|
97
|
-
if self.always_load_extensions:
|
|
98
|
-
return True
|
|
99
|
-
if modutils.is_standard_module(modname):
|
|
100
|
-
return True
|
|
101
|
-
parts = modname.split('.')
|
|
102
|
-
return any(
|
|
103
|
-
'.'.join(parts[:x]) in self.extension_package_whitelist
|
|
104
|
-
for x in range(1, len(parts) + 1))
|
|
105
|
-
|
|
106
|
-
def ast_from_module_name(self, modname, context_file=None):
|
|
107
|
-
"""given a module name, return the astroid object"""
|
|
108
|
-
if modname in self.astroid_cache:
|
|
109
|
-
return self.astroid_cache[modname]
|
|
110
|
-
if modname == '__main__':
|
|
111
|
-
return self._build_stub_module(modname)
|
|
112
|
-
old_cwd = os.getcwd()
|
|
113
|
-
if context_file:
|
|
114
|
-
os.chdir(os.path.dirname(context_file))
|
|
115
|
-
try:
|
|
116
|
-
filepath, mp_type = self.file_from_module_name(modname, context_file)
|
|
117
|
-
if mp_type == modutils.PY_ZIPMODULE:
|
|
118
|
-
module = self.zip_import_data(filepath)
|
|
119
|
-
if module is not None:
|
|
120
|
-
return module
|
|
121
|
-
elif mp_type in (imp.C_BUILTIN, imp.C_EXTENSION):
|
|
122
|
-
if mp_type == imp.C_EXTENSION and not self._can_load_extension(modname):
|
|
123
|
-
return self._build_stub_module(modname)
|
|
124
|
-
try:
|
|
125
|
-
module = modutils.load_module_from_name(modname)
|
|
126
|
-
except Exception as ex:
|
|
127
|
-
msg = 'Unable to load module %s (%s)' % (modname, ex)
|
|
128
|
-
raise exceptions.AstroidBuildingException(msg)
|
|
129
|
-
return self.ast_from_module(module, modname)
|
|
130
|
-
elif mp_type == imp.PY_COMPILED:
|
|
131
|
-
msg = "Unable to load compiled module %s" % (modname,)
|
|
132
|
-
raise exceptions.AstroidBuildingException(msg)
|
|
133
|
-
if filepath is None:
|
|
134
|
-
msg = "Unable to load module %s" % (modname,)
|
|
135
|
-
raise exceptions.AstroidBuildingException(msg)
|
|
136
|
-
return self.ast_from_file(filepath, modname, fallback=False)
|
|
137
|
-
except exceptions.AstroidBuildingException as e:
|
|
138
|
-
for hook in self._failed_import_hooks:
|
|
139
|
-
try:
|
|
140
|
-
return hook(modname)
|
|
141
|
-
except exceptions.AstroidBuildingException:
|
|
142
|
-
pass
|
|
143
|
-
raise e
|
|
144
|
-
finally:
|
|
145
|
-
os.chdir(old_cwd)
|
|
146
|
-
|
|
147
|
-
def zip_import_data(self, filepath):
|
|
148
|
-
if zipimport is None:
|
|
149
|
-
return None
|
|
150
|
-
from astroid.builder import AstroidBuilder
|
|
151
|
-
builder = AstroidBuilder(self)
|
|
152
|
-
for ext in ('.zip', '.egg'):
|
|
153
|
-
try:
|
|
154
|
-
eggpath, resource = filepath.rsplit(ext + os.path.sep, 1)
|
|
155
|
-
except ValueError:
|
|
156
|
-
continue
|
|
157
|
-
try:
|
|
158
|
-
importer = zipimport.zipimporter(eggpath + ext)
|
|
159
|
-
zmodname = resource.replace(os.path.sep, '.')
|
|
160
|
-
if importer.is_package(resource):
|
|
161
|
-
zmodname = zmodname + '.__init__'
|
|
162
|
-
module = builder.string_build(importer.get_source(resource),
|
|
163
|
-
zmodname, filepath)
|
|
164
|
-
return module
|
|
165
|
-
except Exception: # pylint: disable=broad-except
|
|
166
|
-
continue
|
|
167
|
-
return None
|
|
168
|
-
|
|
169
|
-
def file_from_module_name(self, modname, contextfile):
|
|
170
|
-
# pylint: disable=redefined-variable-type
|
|
171
|
-
try:
|
|
172
|
-
value = self._mod_file_cache[(modname, contextfile)]
|
|
173
|
-
except KeyError:
|
|
174
|
-
try:
|
|
175
|
-
value = modutils.file_info_from_modpath(
|
|
176
|
-
modname.split('.'), context_file=contextfile)
|
|
177
|
-
except ImportError as ex:
|
|
178
|
-
msg = 'Unable to load module %s (%s)' % (modname, ex)
|
|
179
|
-
value = exceptions.AstroidBuildingException(msg)
|
|
180
|
-
self._mod_file_cache[(modname, contextfile)] = value
|
|
181
|
-
if isinstance(value, exceptions.AstroidBuildingException):
|
|
182
|
-
raise value
|
|
183
|
-
return value
|
|
184
|
-
|
|
185
|
-
def ast_from_module(self, module, modname=None):
|
|
186
|
-
"""given an imported module, return the astroid object"""
|
|
187
|
-
modname = modname or module.__name__
|
|
188
|
-
if modname in self.astroid_cache:
|
|
189
|
-
return self.astroid_cache[modname]
|
|
190
|
-
try:
|
|
191
|
-
# some builtin modules don't have __file__ attribute
|
|
192
|
-
filepath = module.__file__
|
|
193
|
-
if modutils.is_python_source(filepath):
|
|
194
|
-
return self.ast_from_file(filepath, modname)
|
|
195
|
-
except AttributeError:
|
|
196
|
-
pass
|
|
197
|
-
from astroid.builder import AstroidBuilder
|
|
198
|
-
return AstroidBuilder(self).module_build(module, modname)
|
|
199
|
-
|
|
200
|
-
def ast_from_class(self, klass, modname=None):
|
|
201
|
-
"""get astroid for the given class"""
|
|
202
|
-
if modname is None:
|
|
203
|
-
try:
|
|
204
|
-
modname = klass.__module__
|
|
205
|
-
except AttributeError:
|
|
206
|
-
msg = 'Unable to get module for class %s' % safe_repr(klass)
|
|
207
|
-
raise exceptions.AstroidBuildingException(msg)
|
|
208
|
-
modastroid = self.ast_from_module_name(modname)
|
|
209
|
-
return modastroid.getattr(klass.__name__)[0] # XXX
|
|
210
|
-
|
|
211
|
-
def infer_ast_from_something(self, obj, context=None):
|
|
212
|
-
"""infer astroid for the given class"""
|
|
213
|
-
if hasattr(obj, '__class__') and not isinstance(obj, type):
|
|
214
|
-
klass = obj.__class__
|
|
215
|
-
else:
|
|
216
|
-
klass = obj
|
|
217
|
-
try:
|
|
218
|
-
modname = klass.__module__
|
|
219
|
-
except AttributeError:
|
|
220
|
-
msg = 'Unable to get module for %s' % safe_repr(klass)
|
|
221
|
-
raise exceptions.AstroidBuildingException(msg)
|
|
222
|
-
except Exception as ex:
|
|
223
|
-
msg = ('Unexpected error while retrieving module for %s: %s'
|
|
224
|
-
% (safe_repr(klass), ex))
|
|
225
|
-
raise exceptions.AstroidBuildingException(msg)
|
|
226
|
-
try:
|
|
227
|
-
name = klass.__name__
|
|
228
|
-
except AttributeError:
|
|
229
|
-
msg = 'Unable to get name for %s' % safe_repr(klass)
|
|
230
|
-
raise exceptions.AstroidBuildingException(msg)
|
|
231
|
-
except Exception as ex:
|
|
232
|
-
exc = ('Unexpected error while retrieving name for %s: %s'
|
|
233
|
-
% (safe_repr(klass), ex))
|
|
234
|
-
raise exceptions.AstroidBuildingException(exc)
|
|
235
|
-
# take care, on living object __module__ is regularly wrong :(
|
|
236
|
-
modastroid = self.ast_from_module_name(modname)
|
|
237
|
-
if klass is obj:
|
|
238
|
-
for inferred in modastroid.igetattr(name, context):
|
|
239
|
-
yield inferred
|
|
240
|
-
else:
|
|
241
|
-
for inferred in modastroid.igetattr(name, context):
|
|
242
|
-
yield inferred.instantiate_class()
|
|
243
|
-
|
|
244
|
-
def register_failed_import_hook(self, hook):
|
|
245
|
-
"""Registers a hook to resolve imports that cannot be found otherwise.
|
|
246
|
-
|
|
247
|
-
`hook` must be a function that accepts a single argument `modname` which
|
|
248
|
-
contains the name of the module or package that could not be imported.
|
|
249
|
-
If `hook` can resolve the import, must return a node of type `astroid.Module`,
|
|
250
|
-
otherwise, it must raise `AstroidBuildingException`.
|
|
251
|
-
"""
|
|
252
|
-
self._failed_import_hooks.append(hook)
|
|
253
|
-
|
|
254
|
-
def cache_module(self, module):
|
|
255
|
-
"""Cache a module if no module with the same name is known yet."""
|
|
256
|
-
self.astroid_cache.setdefault(module.name, module)
|
|
257
|
-
|
|
258
|
-
def clear_cache(self, astroid_builtin=None):
|
|
259
|
-
# XXX clear transforms
|
|
260
|
-
self.astroid_cache.clear()
|
|
261
|
-
# force bootstrap again, else we may ends up with cache inconsistency
|
|
262
|
-
# between the manager and CONST_PROXY, making
|
|
263
|
-
# unittest_lookup.LookupTC.test_builtin_lookup fail depending on the
|
|
264
|
-
# test order
|
|
265
|
-
import astroid.raw_building
|
|
266
|
-
astroid.raw_building._astroid_bootstrapping(
|
|
267
|
-
astroid_builtin=astroid_builtin)
|