libv8 6.7.288.46.1 → 7.3.492.27.0beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +3 -0
- data/CHANGELOG.md +4 -0
- data/README.md +2 -0
- data/ext/libv8/builder.rb +6 -2
- data/lib/libv8/version.rb +1 -1
- data/vendor/depot_tools/.gitattributes +1 -0
- data/vendor/depot_tools/.gitignore +7 -0
- data/vendor/depot_tools/CROS_OWNERS +5 -0
- data/vendor/depot_tools/OWNERS +12 -1
- data/vendor/depot_tools/PRESUBMIT.py +16 -9
- data/vendor/depot_tools/README.md +9 -2
- data/vendor/depot_tools/autoninja +14 -6
- data/vendor/depot_tools/autoninja.bat +11 -1
- data/vendor/depot_tools/autoninja.py +40 -18
- data/vendor/depot_tools/bb +12 -0
- data/vendor/depot_tools/bb.bat +7 -0
- data/vendor/depot_tools/bootstrap/win/manifest.txt +1 -1
- data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +1 -1
- data/vendor/depot_tools/bootstrap/win/win_tools.py +2 -1
- data/vendor/depot_tools/buildbucket.py +57 -4
- data/vendor/depot_tools/cipd +157 -44
- data/vendor/depot_tools/cipd.bat +51 -14
- data/vendor/depot_tools/cipd.ps1 +104 -42
- data/vendor/depot_tools/cipd_client_version +1 -1
- data/vendor/depot_tools/cipd_client_version.digests +21 -0
- data/vendor/depot_tools/cipd_manifest.txt +19 -6
- data/vendor/depot_tools/cipd_manifest.versions +318 -0
- data/vendor/depot_tools/clang_format.py +4 -4
- data/vendor/depot_tools/cpplint.py +44 -199
- data/vendor/depot_tools/dart_format.py +2 -2
- data/vendor/depot_tools/detect_host_arch.py +8 -3
- data/vendor/depot_tools/download_from_google_storage.py +47 -39
- data/vendor/depot_tools/fetch.py +30 -18
- data/vendor/depot_tools/fetch_configs/android_internal.py +34 -0
- data/vendor/depot_tools/fetch_configs/chromium.py +18 -1
- data/vendor/depot_tools/fetch_configs/config_util.py +4 -2
- data/vendor/depot_tools/fetch_configs/inspector_protocol.py +40 -0
- data/vendor/depot_tools/fetch_configs/node-ci.py +41 -0
- data/vendor/depot_tools/fix_encoding.py +3 -3
- data/vendor/depot_tools/gclient +1 -1
- data/vendor/depot_tools/gclient.py +415 -198
- data/vendor/depot_tools/gclient_eval.py +220 -171
- data/vendor/depot_tools/gclient_paths.py +142 -0
- data/vendor/depot_tools/gclient_scm.py +200 -51
- data/vendor/depot_tools/gclient_utils.py +88 -191
- data/vendor/depot_tools/gerrit_client.py +13 -0
- data/vendor/depot_tools/gerrit_util.py +158 -23
- data/vendor/depot_tools/git-nav-upstream +1 -1
- data/vendor/depot_tools/git_cache.py +77 -24
- data/vendor/depot_tools/git_cl.py +705 -1099
- data/vendor/depot_tools/git_common.py +9 -6
- data/vendor/depot_tools/git_map_branches.py +19 -2
- data/vendor/depot_tools/git_nav_downstream.py +3 -4
- data/vendor/depot_tools/git_rebase_update.py +14 -0
- data/vendor/depot_tools/git_reparent_branch.py +8 -2
- data/vendor/depot_tools/gn.py +38 -3
- data/vendor/depot_tools/gsutil.py +8 -3
- data/vendor/depot_tools/gsutil.py.bat +15 -0
- data/vendor/depot_tools/gsutil.vpython +16 -0
- data/vendor/depot_tools/infra/config/OWNERS +0 -1
- data/vendor/depot_tools/infra/config/recipes.cfg +3 -2
- data/vendor/depot_tools/lucicfg +12 -0
- data/vendor/depot_tools/lucicfg.bat +7 -0
- data/vendor/depot_tools/man/html/git-map-branches.html +34 -2
- data/vendor/depot_tools/man/html/git-new-branch.html +40 -32
- data/vendor/depot_tools/man/man1/git-map-branches.1 +24 -5
- data/vendor/depot_tools/man/man1/git-new-branch.1 +35 -27
- data/vendor/depot_tools/man/src/git-map-branches.demo.1.sh +1 -0
- data/vendor/depot_tools/man/src/git-map-branches.txt +10 -0
- data/vendor/depot_tools/man/src/git-new-branch.demo.1.sh +9 -4
- data/vendor/depot_tools/man/src/git-new-branch.txt +1 -1
- data/vendor/depot_tools/metrics.README.md +98 -0
- data/vendor/depot_tools/metrics.py +296 -0
- data/vendor/depot_tools/metrics_utils.py +303 -0
- data/vendor/depot_tools/my_activity.py +91 -29
- data/vendor/depot_tools/ninja +1 -1
- data/vendor/depot_tools/ninjalog.README.md +64 -0
- data/vendor/depot_tools/ninjalog_uploader.py +232 -0
- data/vendor/depot_tools/ninjalog_uploader_wrapper.py +116 -0
- data/vendor/depot_tools/owners.py +30 -13
- data/vendor/depot_tools/owners_finder.py +5 -2
- data/vendor/depot_tools/presubmit_canned_checks.py +188 -29
- data/vendor/depot_tools/presubmit_support.py +18 -41
- data/vendor/depot_tools/pylintrc +23 -19
- data/vendor/depot_tools/recipes/OWNERS +2 -0
- data/vendor/depot_tools/recipes/README.recipes.md +344 -151
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/OWNERS +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +2 -16
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +141 -99
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +5 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +5 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +6 -98
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +45 -5
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{tryjob.json → input_commit_with_id_without_repo.json} +6 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{tryjob_empty_revision.json → multiple_patch_refs.json} +8 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +19 -29
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{trychange.json → refs.json} +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +51 -6
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +50 -6
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +51 -6
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +17 -25
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +17 -25
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +18 -26
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +18 -26
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +26 -28
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +45 -5
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +17 -25
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +13 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_manifest_name.json +13 -152
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +185 -202
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +52 -157
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +5 -14
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/ensure_checkout.py +34 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +14 -2
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +7 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +9 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +9 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +9 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +13 -8
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +18 -12
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +18 -12
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +18 -12
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.py +3 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +58 -46
- data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +65 -22
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +20 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +20 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +20 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +20 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +5 -2
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +62 -14
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +24 -38
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +56 -50
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.py +15 -9
- data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +4 -1
- data/vendor/depot_tools/recipes/recipe_modules/git/api.py +34 -22
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +222 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +224 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +10 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +5 -7
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +5 -7
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +10 -5
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +8 -9
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +12 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +27 -11
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +12 -13
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/__init__.py +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +120 -5
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +45 -3
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.py +25 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +56 -4
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +6 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.py +49 -0
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +24 -13
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +13 -14
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +1 -2
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +35 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +116 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/linux.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +82 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +23 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +2 -7
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +7 -6
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +117 -8
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +7 -4
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +98 -7
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +147 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +8 -5
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +8 -5
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +9 -6
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +9 -6
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +27 -2
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/test_api.py +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/__init__.py +25 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/api.py +137 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/linux.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +107 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +26 -0
- data/vendor/depot_tools/recipes/recipes.py +37 -27
- data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +7 -10
- data/vendor/depot_tools/repo +34 -8
- data/vendor/depot_tools/roll_dep.py +52 -49
- data/vendor/depot_tools/scm.py +38 -23
- data/vendor/depot_tools/setup_color.py +4 -2
- data/vendor/depot_tools/split_cl.py +32 -4
- data/vendor/depot_tools/subprocess2.py +22 -4
- data/vendor/depot_tools/third_party/httplib2/README.chromium +2 -2
- data/vendor/depot_tools/third_party/httplib2/__init__.py +242 -158
- data/vendor/depot_tools/third_party/httplib2/cacerts.txt +57 -44
- data/vendor/depot_tools/third_party/httplib2/socks.py +15 -5
- data/vendor/depot_tools/third_party/logilab/README.chromium +2 -4
- data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +2 -1
- data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +10 -5
- data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +5 -5
- data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +233 -0
- data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +82 -33
- data/vendor/depot_tools/third_party/logilab/astroid/bases.py +137 -153
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{builtin_inference.py → brain_builtin_inference.py} +117 -26
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +15 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{py2gi.py → brain_gi.py} +48 -8
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{py2mechanize.py → brain_mechanize.py} +0 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{pynose.py → brain_nose.py} +4 -1
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +62 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +76 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +44 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{pysix_moves.py → brain_six.py} +28 -1
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +65 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +473 -0
- data/vendor/depot_tools/third_party/logilab/astroid/builder.py +104 -81
- data/vendor/depot_tools/third_party/logilab/astroid/context.py +81 -0
- data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +75 -0
- data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +20 -0
- data/vendor/depot_tools/third_party/logilab/astroid/inference.py +137 -183
- data/vendor/depot_tools/third_party/logilab/astroid/manager.py +45 -169
- data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +37 -14
- data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +112 -41
- data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +243 -156
- data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +35 -22
- data/vendor/depot_tools/third_party/logilab/astroid/objects.py +186 -0
- data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +157 -102
- data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +32 -8
- data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +372 -309
- data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +652 -420
- data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +4 -21
- data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +96 -0
- data/vendor/depot_tools/third_party/logilab/astroid/util.py +89 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +19 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +11 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +20 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +1421 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +9 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +246 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +414 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +13 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +24 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +11 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +19 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +2729 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +96 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +512 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +228 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +901 -0
- data/vendor/depot_tools/third_party/pylint/README.chromium +2 -25
- data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +13 -3
- data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +1 -2
- data/vendor/depot_tools/third_party/pylint/checkers/async.py +82 -0
- data/vendor/depot_tools/third_party/pylint/checkers/base.py +893 -119
- data/vendor/depot_tools/third_party/pylint/checkers/classes.py +342 -204
- data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +51 -34
- data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +84 -47
- data/vendor/depot_tools/third_party/pylint/checkers/format.py +55 -30
- data/vendor/depot_tools/third_party/pylint/checkers/imports.py +314 -73
- data/vendor/depot_tools/third_party/pylint/checkers/logging.py +10 -8
- data/vendor/depot_tools/third_party/pylint/checkers/misc.py +2 -1
- data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +45 -48
- data/vendor/depot_tools/third_party/pylint/checkers/python3.py +31 -21
- data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +3 -3
- data/vendor/depot_tools/third_party/pylint/checkers/similar.py +4 -5
- data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +24 -10
- data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +120 -56
- data/vendor/depot_tools/third_party/pylint/checkers/strings.py +38 -35
- data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +485 -138
- data/vendor/depot_tools/third_party/pylint/checkers/utils.py +319 -142
- data/vendor/depot_tools/third_party/pylint/checkers/variables.py +329 -207
- data/vendor/depot_tools/third_party/pylint/config.py +739 -76
- data/vendor/depot_tools/third_party/pylint/epylint.py +9 -5
- data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
- data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +311 -0
- data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +62 -0
- data/vendor/depot_tools/third_party/{logilab/common → pylint}/graph.py +30 -133
- data/vendor/depot_tools/third_party/pylint/gui.py +2 -2
- data/vendor/depot_tools/third_party/pylint/interfaces.py +21 -3
- data/vendor/depot_tools/third_party/pylint/lint.py +123 -140
- data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +10 -13
- data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +15 -4
- data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +372 -0
- data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +30 -7
- data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +80 -2
- data/vendor/depot_tools/third_party/{logilab/common → pylint/pyreverse}/vcgutils.py +19 -37
- data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +3 -4
- data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +34 -18
- data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +1 -1
- data/vendor/depot_tools/third_party/pylint/reporters/html.py +10 -3
- data/vendor/depot_tools/third_party/pylint/reporters/json.py +10 -4
- data/vendor/depot_tools/third_party/pylint/reporters/text.py +94 -3
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +106 -0
- data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/html_writer.py +17 -57
- data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/nodes.py +52 -74
- data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/text_writer.py +14 -60
- data/vendor/depot_tools/third_party/pylint/testutils.py +22 -20
- data/vendor/depot_tools/third_party/pylint/utils.py +268 -44
- data/vendor/depot_tools/third_party/repo/progress.py +42 -0
- data/vendor/depot_tools/update_depot_tools +1 -1
- data/vendor/depot_tools/upload_metrics.py +25 -0
- data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +45 -15
- data/vendor/depot_tools/win_toolchain/package_from_installed.py +71 -24
- data/vendor/depot_tools/yapf +1 -1
- data/vendor/depot_tools/yapf.bat +1 -1
- metadata +92 -77
- data/vendor/depot_tools/git-crsync +0 -3
- data/vendor/depot_tools/infra/config/cq.cfg +0 -32
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/apply_gerrit_ref.json +0 -29
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/apply_gerrit_ref_custom.json +0 -29
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/buildbot.json +0 -105
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/shallow.json +0 -195
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle_deprecated.json +0 -248
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8.json +0 -248
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_manifest_name_no_patch.json +0 -105
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/apply_gerrit.py +0 -33
- data/vendor/depot_tools/third_party/logilab/astroid/brain/py2pytest.py +0 -31
- data/vendor/depot_tools/third_party/logilab/astroid/brain/py2qt4.py +0 -22
- data/vendor/depot_tools/third_party/logilab/astroid/brain/py2stdlib.py +0 -334
- data/vendor/depot_tools/third_party/logilab/astroid/inspector.py +0 -273
- data/vendor/depot_tools/third_party/logilab/astroid/utils.py +0 -239
- data/vendor/depot_tools/third_party/logilab/common/LICENSE.txt +0 -339
- data/vendor/depot_tools/third_party/logilab/common/README.chromium +0 -11
- data/vendor/depot_tools/third_party/logilab/common/__init__.py +0 -175
- data/vendor/depot_tools/third_party/logilab/common/__pkginfo__.py +0 -57
- data/vendor/depot_tools/third_party/logilab/common/cache.py +0 -114
- data/vendor/depot_tools/third_party/logilab/common/changelog.py +0 -238
- data/vendor/depot_tools/third_party/logilab/common/clcommands.py +0 -334
- data/vendor/depot_tools/third_party/logilab/common/cli.py +0 -211
- data/vendor/depot_tools/third_party/logilab/common/compat.py +0 -78
- data/vendor/depot_tools/third_party/logilab/common/configuration.py +0 -1105
- data/vendor/depot_tools/third_party/logilab/common/contexts.py +0 -5
- data/vendor/depot_tools/third_party/logilab/common/corbautils.py +0 -117
- data/vendor/depot_tools/third_party/logilab/common/daemon.py +0 -101
- data/vendor/depot_tools/third_party/logilab/common/date.py +0 -335
- data/vendor/depot_tools/third_party/logilab/common/dbf.py +0 -231
- data/vendor/depot_tools/third_party/logilab/common/debugger.py +0 -214
- data/vendor/depot_tools/third_party/logilab/common/decorators.py +0 -281
- data/vendor/depot_tools/third_party/logilab/common/deprecation.py +0 -189
- data/vendor/depot_tools/third_party/logilab/common/fileutils.py +0 -404
- data/vendor/depot_tools/third_party/logilab/common/interface.py +0 -71
- data/vendor/depot_tools/third_party/logilab/common/logging_ext.py +0 -195
- data/vendor/depot_tools/third_party/logilab/common/modutils.py +0 -702
- data/vendor/depot_tools/third_party/logilab/common/optik_ext.py +0 -392
- data/vendor/depot_tools/third_party/logilab/common/optparser.py +0 -92
- data/vendor/depot_tools/third_party/logilab/common/proc.py +0 -277
- data/vendor/depot_tools/third_party/logilab/common/pyro_ext.py +0 -180
- data/vendor/depot_tools/third_party/logilab/common/pytest.py +0 -1199
- data/vendor/depot_tools/third_party/logilab/common/registry.py +0 -1119
- data/vendor/depot_tools/third_party/logilab/common/shellutils.py +0 -462
- data/vendor/depot_tools/third_party/logilab/common/sphinx_ext.py +0 -87
- data/vendor/depot_tools/third_party/logilab/common/sphinxutils.py +0 -122
- data/vendor/depot_tools/third_party/logilab/common/table.py +0 -929
- data/vendor/depot_tools/third_party/logilab/common/tasksqueue.py +0 -101
- data/vendor/depot_tools/third_party/logilab/common/testlib.py +0 -1392
- data/vendor/depot_tools/third_party/logilab/common/textutils.py +0 -537
- data/vendor/depot_tools/third_party/logilab/common/tree.py +0 -369
- data/vendor/depot_tools/third_party/logilab/common/umessage.py +0 -194
- data/vendor/depot_tools/third_party/logilab/common/ureports/__init__.py +0 -172
- data/vendor/depot_tools/third_party/logilab/common/ureports/docbook_writer.py +0 -140
- data/vendor/depot_tools/third_party/logilab/common/urllib2ext.py +0 -89
- data/vendor/depot_tools/third_party/logilab/common/visitor.py +0 -109
- data/vendor/depot_tools/third_party/logilab/common/xmlrpcutils.py +0 -131
- data/vendor/depot_tools/third_party/logilab/common/xmlutils.py +0 -61
@@ -7,9 +7,11 @@ from textwrap import dedent
|
|
7
7
|
import six
|
8
8
|
from astroid import (MANAGER, UseInferenceDefault,
|
9
9
|
inference_tip, YES, InferenceError, UnresolvableName)
|
10
|
+
from astroid import arguments
|
10
11
|
from astroid import nodes
|
12
|
+
from astroid import objects
|
11
13
|
from astroid.builder import AstroidBuilder
|
12
|
-
|
14
|
+
from astroid import util
|
13
15
|
|
14
16
|
def _extend_str(class_node, rvalue):
|
15
17
|
"""function to extend builtin str/unicode class"""
|
@@ -51,7 +53,7 @@ def _extend_str(class_node, rvalue):
|
|
51
53
|
def rstrip(self, chars=None):
|
52
54
|
return {rvalue}
|
53
55
|
def rjust(self, width, fillchar=None):
|
54
|
-
return {rvalue}
|
56
|
+
return {rvalue}
|
55
57
|
def center(self, width, fillchar=None):
|
56
58
|
return {rvalue}
|
57
59
|
def ljust(self, width, fillchar=None):
|
@@ -60,7 +62,7 @@ def _extend_str(class_node, rvalue):
|
|
60
62
|
code = code.format(rvalue=rvalue)
|
61
63
|
fake = AstroidBuilder(MANAGER).string_build(code)['whatever']
|
62
64
|
for method in fake.mymethods():
|
63
|
-
class_node.
|
65
|
+
class_node._locals[method.name] = [method]
|
64
66
|
method.parent = class_node
|
65
67
|
|
66
68
|
def extend_builtins(class_transforms):
|
@@ -86,12 +88,17 @@ def register_builtin_transform(transform, builtin_name):
|
|
86
88
|
def _transform_wrapper(node, context=None):
|
87
89
|
result = transform(node, context=context)
|
88
90
|
if result:
|
89
|
-
result.parent
|
91
|
+
if not result.parent:
|
92
|
+
# Let the transformation function determine
|
93
|
+
# the parent for its result. Otherwise,
|
94
|
+
# we set it to be the node we transformed from.
|
95
|
+
result.parent = node
|
96
|
+
|
90
97
|
result.lineno = node.lineno
|
91
98
|
result.col_offset = node.col_offset
|
92
99
|
return iter([result])
|
93
100
|
|
94
|
-
MANAGER.register_transform(nodes.
|
101
|
+
MANAGER.register_transform(nodes.Call,
|
95
102
|
inference_tip(_transform_wrapper),
|
96
103
|
lambda n: (isinstance(n.func, nodes.Name) and
|
97
104
|
n.func.name == builtin_name))
|
@@ -108,13 +115,13 @@ def _generic_inference(node, context, node_type, transform):
|
|
108
115
|
transformed = transform(arg)
|
109
116
|
if not transformed:
|
110
117
|
try:
|
111
|
-
|
118
|
+
inferred = next(arg.infer(context=context))
|
112
119
|
except (InferenceError, StopIteration):
|
113
120
|
raise UseInferenceDefault()
|
114
|
-
if
|
121
|
+
if inferred is util.YES:
|
115
122
|
raise UseInferenceDefault()
|
116
|
-
transformed = transform(
|
117
|
-
if not transformed or transformed is YES:
|
123
|
+
transformed = transform(inferred)
|
124
|
+
if not transformed or transformed is util.YES:
|
118
125
|
raise UseInferenceDefault()
|
119
126
|
return transformed
|
120
127
|
|
@@ -172,19 +179,25 @@ infer_set = partial(
|
|
172
179
|
iterables=(nodes.List, nodes.Tuple),
|
173
180
|
build_elts=set)
|
174
181
|
|
182
|
+
infer_frozenset = partial(
|
183
|
+
_infer_builtin,
|
184
|
+
klass=objects.FrozenSet,
|
185
|
+
iterables=(nodes.List, nodes.Tuple, nodes.Set),
|
186
|
+
build_elts=frozenset)
|
187
|
+
|
175
188
|
|
176
189
|
def _get_elts(arg, context):
|
177
190
|
is_iterable = lambda n: isinstance(n,
|
178
191
|
(nodes.List, nodes.Tuple, nodes.Set))
|
179
192
|
try:
|
180
|
-
|
193
|
+
inferred = next(arg.infer(context))
|
181
194
|
except (InferenceError, UnresolvableName):
|
182
195
|
raise UseInferenceDefault()
|
183
|
-
if isinstance(
|
184
|
-
items =
|
185
|
-
elif is_iterable(
|
196
|
+
if isinstance(inferred, nodes.Dict):
|
197
|
+
items = inferred.items
|
198
|
+
elif is_iterable(inferred):
|
186
199
|
items = []
|
187
|
-
for elt in
|
200
|
+
for elt in inferred.elts:
|
188
201
|
# If an item is not a pair of two items,
|
189
202
|
# then fallback to the default inference.
|
190
203
|
# Also, take in consideration only hashable items,
|
@@ -213,24 +226,28 @@ def infer_dict(node, context=None):
|
|
213
226
|
* dict(mapping, **kwargs)
|
214
227
|
* dict(**kwargs)
|
215
228
|
|
216
|
-
If a case can't be
|
229
|
+
If a case can't be inferred, we'll fallback to default inference.
|
217
230
|
"""
|
218
|
-
|
219
|
-
|
220
|
-
|
231
|
+
call = arguments.CallSite.from_call(node)
|
232
|
+
if call.has_invalid_arguments() or call.has_invalid_keywords():
|
233
|
+
raise UseInferenceDefault
|
234
|
+
|
235
|
+
args = call.positional_arguments
|
236
|
+
kwargs = list(call.keyword_arguments.items())
|
237
|
+
|
238
|
+
if not args and not kwargs:
|
221
239
|
# dict()
|
222
240
|
return nodes.Dict()
|
223
|
-
elif
|
241
|
+
elif kwargs and not args:
|
224
242
|
# dict(a=1, b=2, c=4)
|
225
|
-
items = [(nodes.Const(
|
226
|
-
elif
|
227
|
-
has_keywords(node.args[1:])):
|
243
|
+
items = [(nodes.Const(key), value) for key, value in kwargs]
|
244
|
+
elif len(args) == 1 and kwargs:
|
228
245
|
# dict(some_iterable, b=2, c=4)
|
229
|
-
elts = _get_elts(
|
230
|
-
keys = [(nodes.Const(
|
246
|
+
elts = _get_elts(args[0], context)
|
247
|
+
keys = [(nodes.Const(key), value) for key, value in kwargs]
|
231
248
|
items = elts + keys
|
232
|
-
elif len(
|
233
|
-
items = _get_elts(
|
249
|
+
elif len(args) == 1:
|
250
|
+
items = _get_elts(args[0], context)
|
234
251
|
else:
|
235
252
|
raise UseInferenceDefault()
|
236
253
|
|
@@ -238,8 +255,82 @@ def infer_dict(node, context=None):
|
|
238
255
|
empty.items = items
|
239
256
|
return empty
|
240
257
|
|
258
|
+
|
259
|
+
def _node_class(node):
|
260
|
+
klass = node.frame()
|
261
|
+
while klass is not None and not isinstance(klass, nodes.ClassDef):
|
262
|
+
if klass.parent is None:
|
263
|
+
klass = None
|
264
|
+
else:
|
265
|
+
klass = klass.parent.frame()
|
266
|
+
return klass
|
267
|
+
|
268
|
+
|
269
|
+
def infer_super(node, context=None):
|
270
|
+
"""Understand super calls.
|
271
|
+
|
272
|
+
There are some restrictions for what can be understood:
|
273
|
+
|
274
|
+
* unbounded super (one argument form) is not understood.
|
275
|
+
|
276
|
+
* if the super call is not inside a function (classmethod or method),
|
277
|
+
then the default inference will be used.
|
278
|
+
|
279
|
+
* if the super arguments can't be infered, the default inference
|
280
|
+
will be used.
|
281
|
+
"""
|
282
|
+
if len(node.args) == 1:
|
283
|
+
# Ignore unbounded super.
|
284
|
+
raise UseInferenceDefault
|
285
|
+
|
286
|
+
scope = node.scope()
|
287
|
+
if not isinstance(scope, nodes.FunctionDef):
|
288
|
+
# Ignore non-method uses of super.
|
289
|
+
raise UseInferenceDefault
|
290
|
+
if scope.type not in ('classmethod', 'method'):
|
291
|
+
# Not interested in staticmethods.
|
292
|
+
raise UseInferenceDefault
|
293
|
+
|
294
|
+
cls = _node_class(scope)
|
295
|
+
if not len(node.args):
|
296
|
+
mro_pointer = cls
|
297
|
+
# In we are in a classmethod, the interpreter will fill
|
298
|
+
# automatically the class as the second argument, not an instance.
|
299
|
+
if scope.type == 'classmethod':
|
300
|
+
mro_type = cls
|
301
|
+
else:
|
302
|
+
mro_type = cls.instantiate_class()
|
303
|
+
else:
|
304
|
+
# TODO(cpopa): support flow control (multiple inference values).
|
305
|
+
try:
|
306
|
+
mro_pointer = next(node.args[0].infer(context=context))
|
307
|
+
except InferenceError:
|
308
|
+
raise UseInferenceDefault
|
309
|
+
try:
|
310
|
+
mro_type = next(node.args[1].infer(context=context))
|
311
|
+
except InferenceError:
|
312
|
+
raise UseInferenceDefault
|
313
|
+
|
314
|
+
if mro_pointer is YES or mro_type is YES:
|
315
|
+
# No way we could understand this.
|
316
|
+
raise UseInferenceDefault
|
317
|
+
|
318
|
+
super_obj = objects.Super(mro_pointer=mro_pointer,
|
319
|
+
mro_type=mro_type,
|
320
|
+
self_class=cls,
|
321
|
+
scope=scope)
|
322
|
+
super_obj.parent = node
|
323
|
+
return iter([super_obj])
|
324
|
+
|
325
|
+
|
241
326
|
# Builtins inference
|
327
|
+
MANAGER.register_transform(nodes.Call,
|
328
|
+
inference_tip(infer_super),
|
329
|
+
lambda n: (isinstance(n.func, nodes.Name) and
|
330
|
+
n.func.name == 'super'))
|
331
|
+
|
242
332
|
register_builtin_transform(infer_tuple, 'tuple')
|
243
333
|
register_builtin_transform(infer_set, 'set')
|
244
334
|
register_builtin_transform(infer_list, 'list')
|
245
335
|
register_builtin_transform(infer_dict, 'dict')
|
336
|
+
register_builtin_transform(infer_frozenset, 'frozenset')
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"""Astroid hooks for dateutil"""
|
2
|
+
|
3
|
+
import textwrap
|
4
|
+
|
5
|
+
from astroid import MANAGER, register_module_extender
|
6
|
+
from astroid.builder import AstroidBuilder
|
7
|
+
|
8
|
+
def dateutil_transform():
|
9
|
+
return AstroidBuilder(MANAGER).string_build(textwrap.dedent('''
|
10
|
+
import datetime
|
11
|
+
def parse(timestr, parserinfo=None, **kwargs):
|
12
|
+
return datetime.datetime()
|
13
|
+
'''))
|
14
|
+
|
15
|
+
register_module_extender(MANAGER, 'dateutil.parser', dateutil_transform)
|
@@ -7,8 +7,9 @@ import inspect
|
|
7
7
|
import itertools
|
8
8
|
import sys
|
9
9
|
import re
|
10
|
+
import warnings
|
10
11
|
|
11
|
-
from astroid import MANAGER, AstroidBuildingException
|
12
|
+
from astroid import MANAGER, AstroidBuildingException, nodes
|
12
13
|
from astroid.builder import AstroidBuilder
|
13
14
|
|
14
15
|
|
@@ -46,13 +47,13 @@ def _gi_build_stub(parent):
|
|
46
47
|
elif (inspect.ismethod(obj) or
|
47
48
|
inspect.ismethoddescriptor(obj)):
|
48
49
|
methods[name] = obj
|
49
|
-
elif type(obj) in [int, str]:
|
50
|
-
constants[name] = obj
|
51
50
|
elif (str(obj).startswith("<flags") or
|
52
51
|
str(obj).startswith("<enum ") or
|
53
52
|
str(obj).startswith("<GType ") or
|
54
53
|
inspect.isdatadescriptor(obj)):
|
55
54
|
constants[name] = 0
|
55
|
+
elif isinstance(obj, (int, str)):
|
56
|
+
constants[name] = obj
|
56
57
|
elif callable(obj):
|
57
58
|
# Fall back to a function for anything callable
|
58
59
|
functions[name] = obj
|
@@ -73,7 +74,7 @@ def _gi_build_stub(parent):
|
|
73
74
|
val = constants[name]
|
74
75
|
|
75
76
|
strval = str(val)
|
76
|
-
if
|
77
|
+
if isinstance(val, str):
|
77
78
|
strval = '"%s"' % str(val).replace("\\", "\\\\")
|
78
79
|
ret += "%s = %s\n" % (name, strval)
|
79
80
|
|
@@ -82,7 +83,6 @@ def _gi_build_stub(parent):
|
|
82
83
|
if functions:
|
83
84
|
ret += "# %s functions\n\n" % parent.__name__
|
84
85
|
for name in sorted(functions):
|
85
|
-
func = functions[name]
|
86
86
|
ret += "def %s(*args, **kwargs):\n" % name
|
87
87
|
ret += " pass\n"
|
88
88
|
|
@@ -91,7 +91,6 @@ def _gi_build_stub(parent):
|
|
91
91
|
if methods:
|
92
92
|
ret += "# %s methods\n\n" % parent.__name__
|
93
93
|
for name in sorted(methods):
|
94
|
-
func = methods[name]
|
95
94
|
ret += "def %s(self, *args, **kwargs):\n" % name
|
96
95
|
ret += " pass\n"
|
97
96
|
|
@@ -135,7 +134,16 @@ def _import_gi_module(modname):
|
|
135
134
|
for m in itertools.chain(modnames, optional_modnames):
|
136
135
|
try:
|
137
136
|
__import__(m)
|
138
|
-
|
137
|
+
with warnings.catch_warnings():
|
138
|
+
# Just inspecting the code can raise gi deprecation
|
139
|
+
# warnings, so ignore them.
|
140
|
+
try:
|
141
|
+
from gi import PyGIDeprecationWarning
|
142
|
+
warnings.simplefilter("ignore", PyGIDeprecationWarning)
|
143
|
+
except Exception:
|
144
|
+
pass
|
145
|
+
|
146
|
+
modcode += _gi_build_stub(sys.modules[m])
|
139
147
|
except ImportError:
|
140
148
|
if m not in optional_modnames:
|
141
149
|
raise
|
@@ -150,6 +158,38 @@ def _import_gi_module(modname):
|
|
150
158
|
raise AstroidBuildingException('Failed to import module %r' % modname)
|
151
159
|
return astng
|
152
160
|
|
161
|
+
def _looks_like_require_version(node):
|
162
|
+
# Return whether this looks like a call to gi.require_version(<name>, <version>)
|
163
|
+
# Only accept function calls with two constant arguments
|
164
|
+
if len(node.args) != 2:
|
165
|
+
return False
|
153
166
|
|
154
|
-
|
167
|
+
if not all(isinstance(arg, nodes.Const) for arg in node.args):
|
168
|
+
return False
|
169
|
+
|
170
|
+
func = node.func
|
171
|
+
if isinstance(func, nodes.Attribute):
|
172
|
+
if func.attrname != 'require_version':
|
173
|
+
return False
|
174
|
+
if isinstance(func.expr, nodes.Name) and func.expr.name == 'gi':
|
175
|
+
return True
|
176
|
+
|
177
|
+
return False
|
155
178
|
|
179
|
+
if isinstance(func, nodes.Name):
|
180
|
+
return func.name == 'require_version'
|
181
|
+
|
182
|
+
return False
|
183
|
+
|
184
|
+
def _register_require_version(node):
|
185
|
+
# Load the gi.require_version locally
|
186
|
+
try:
|
187
|
+
import gi
|
188
|
+
gi.require_version(node.args[0].value, node.args[1].value)
|
189
|
+
except Exception:
|
190
|
+
pass
|
191
|
+
|
192
|
+
return node
|
193
|
+
|
194
|
+
MANAGER.register_failed_import_hook(_import_gi_module)
|
195
|
+
MANAGER.register_transform(nodes.Call, _register_require_version, _looks_like_require_version)
|
data/vendor/depot_tools/third_party/logilab/astroid/brain/{py2mechanize.py → brain_mechanize.py}
RENAMED
File without changes
|
@@ -48,11 +48,14 @@ def _nose_tools_functions():
|
|
48
48
|
if method.name.startswith('assert') and '_' not in method.name:
|
49
49
|
pep8_name = _pep8(method.name)
|
50
50
|
yield pep8_name, astroid.BoundMethod(method, case)
|
51
|
+
if method.name == 'assertEqual':
|
52
|
+
# nose also exports assert_equals.
|
53
|
+
yield 'assert_equals', astroid.BoundMethod(method, case)
|
51
54
|
|
52
55
|
|
53
56
|
def _nose_tools_transform(node):
|
54
57
|
for method_name, method in _nose_tools_functions():
|
55
|
-
node.
|
58
|
+
node._locals[method_name] = [method]
|
56
59
|
|
57
60
|
|
58
61
|
def _nose_tools_trivial_transform():
|
@@ -0,0 +1,62 @@
|
|
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 under
|
7
|
+
# the terms of the GNU Lesser General Public License as published by the Free
|
8
|
+
# Software Foundation, either version 2.1 of the License, or (at your option) any
|
9
|
+
# later version.
|
10
|
+
#
|
11
|
+
# astroid is distributed in the hope that it will be useful, but WITHOUT
|
12
|
+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
13
|
+
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
14
|
+
# 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
|
+
"""Astroid hooks for numpy."""
|
20
|
+
|
21
|
+
import astroid
|
22
|
+
|
23
|
+
|
24
|
+
# TODO(cpopa): drop when understanding augmented assignments
|
25
|
+
|
26
|
+
def numpy_core_transform():
|
27
|
+
return astroid.parse('''
|
28
|
+
from numpy.core import numeric
|
29
|
+
from numpy.core import fromnumeric
|
30
|
+
from numpy.core import defchararray
|
31
|
+
from numpy.core import records
|
32
|
+
from numpy.core import function_base
|
33
|
+
from numpy.core import machar
|
34
|
+
from numpy.core import getlimits
|
35
|
+
from numpy.core import shape_base
|
36
|
+
__all__ = (['char', 'rec', 'memmap', 'chararray'] + numeric.__all__ +
|
37
|
+
fromnumeric.__all__ +
|
38
|
+
records.__all__ +
|
39
|
+
function_base.__all__ +
|
40
|
+
machar.__all__ +
|
41
|
+
getlimits.__all__ +
|
42
|
+
shape_base.__all__)
|
43
|
+
''')
|
44
|
+
|
45
|
+
|
46
|
+
def numpy_transform():
|
47
|
+
return astroid.parse('''
|
48
|
+
from numpy import core
|
49
|
+
from numpy import matrixlib as _mat
|
50
|
+
from numpy import lib
|
51
|
+
__all__ = ['add_newdocs',
|
52
|
+
'ModuleDeprecationWarning',
|
53
|
+
'VisibleDeprecationWarning', 'linalg', 'fft', 'random',
|
54
|
+
'ctypeslib', 'ma',
|
55
|
+
'__version__', 'pkgload', 'PackageLoader',
|
56
|
+
'show_config'] + core.__all__ + _mat.__all__ + lib.__all__
|
57
|
+
|
58
|
+
''')
|
59
|
+
|
60
|
+
|
61
|
+
astroid.register_module_extender(astroid.MANAGER, 'numpy.core', numpy_core_transform)
|
62
|
+
astroid.register_module_extender(astroid.MANAGER, 'numpy', numpy_transform)
|
@@ -0,0 +1,76 @@
|
|
1
|
+
"""Astroid hooks for pytest."""
|
2
|
+
from __future__ import absolute_import
|
3
|
+
from astroid import MANAGER, register_module_extender
|
4
|
+
from astroid.builder import AstroidBuilder
|
5
|
+
|
6
|
+
|
7
|
+
def pytest_transform():
|
8
|
+
return AstroidBuilder(MANAGER).string_build('''
|
9
|
+
|
10
|
+
try:
|
11
|
+
import _pytest.mark
|
12
|
+
import _pytest.recwarn
|
13
|
+
import _pytest.runner
|
14
|
+
import _pytest.python
|
15
|
+
import _pytest.skipping
|
16
|
+
import _pytest.assertion
|
17
|
+
except ImportError:
|
18
|
+
pass
|
19
|
+
else:
|
20
|
+
deprecated_call = _pytest.recwarn.deprecated_call
|
21
|
+
warns = _pytest.recwarn.warns
|
22
|
+
|
23
|
+
exit = _pytest.runner.exit
|
24
|
+
fail = _pytest.runner.fail
|
25
|
+
skip = _pytest.runner.skip
|
26
|
+
importorskip = _pytest.runner.importorskip
|
27
|
+
|
28
|
+
xfail = _pytest.skipping.xfail
|
29
|
+
mark = _pytest.mark.MarkGenerator()
|
30
|
+
raises = _pytest.python.raises
|
31
|
+
|
32
|
+
# New in pytest 3.0
|
33
|
+
try:
|
34
|
+
approx = _pytest.python.approx
|
35
|
+
register_assert_rewrite = _pytest.assertion.register_assert_rewrite
|
36
|
+
except AttributeError:
|
37
|
+
pass
|
38
|
+
|
39
|
+
|
40
|
+
# Moved in pytest 3.0
|
41
|
+
|
42
|
+
try:
|
43
|
+
import _pytest.freeze_support
|
44
|
+
freeze_includes = _pytest.freeze_support.freeze_includes
|
45
|
+
except ImportError:
|
46
|
+
try:
|
47
|
+
import _pytest.genscript
|
48
|
+
freeze_includes = _pytest.genscript.freeze_includes
|
49
|
+
except ImportError:
|
50
|
+
pass
|
51
|
+
|
52
|
+
try:
|
53
|
+
import _pytest.debugging
|
54
|
+
set_trace = _pytest.debugging.pytestPDB().set_trace
|
55
|
+
except ImportError:
|
56
|
+
try:
|
57
|
+
import _pytest.pdb
|
58
|
+
set_trace = _pytest.pdb.pytestPDB().set_trace
|
59
|
+
except ImportError:
|
60
|
+
pass
|
61
|
+
|
62
|
+
try:
|
63
|
+
import _pytest.fixtures
|
64
|
+
fixture = _pytest.fixtures.fixture
|
65
|
+
yield_fixture = _pytest.fixtures.yield_fixture
|
66
|
+
except ImportError:
|
67
|
+
try:
|
68
|
+
import _pytest.python
|
69
|
+
fixture = _pytest.python.fixture
|
70
|
+
yield_fixture = _pytest.python.yield_fixture
|
71
|
+
except ImportError:
|
72
|
+
pass
|
73
|
+
''')
|
74
|
+
|
75
|
+
register_module_extender(MANAGER, 'pytest', pytest_transform)
|
76
|
+
register_module_extender(MANAGER, 'py.test', pytest_transform)
|