Skip to content

The mother of all pull requests: add --incremental #1292

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 125 commits into from
Apr 8, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
3055df2
Dump/load infrastructure set up (data [de]serialization is bogus).
Feb 12, 2016
466eb79
Major redo; dependency processing now uses build manager states.
Feb 12, 2016
895fe54
Start on serialization.
Feb 13, 2016
9ab4020
Totally different approach to serialization.
Feb 15, 2016
68b4326
Improved log()/trace() API. Improved handling cached dependencies.
Feb 16, 2016
0f8dcdc
Serialize more types. We can now serialize (but not yet deserialize!)…
Feb 16, 2016
44b2828
Start fixing up nodes after deserialization().
Feb 18, 2016
f232056
Another big step towards correct [de]serialization. Added fairly thor…
Feb 18, 2016
d2491cd
Progress towards fixing up more cross references. But also more debug…
Feb 19, 2016
6dc9ba7
Do not serialize mro -- recompute it.
Feb 19, 2016
f5aabc2
Instance.serialize() always writes the TypeInfo's fullname. Different…
Feb 22, 2016
bf291ab
Fixing the fixup code. Too much debugging prints though.
Feb 22, 2016
a182fd7
Less debug output. The type fixer should now be (mostly) complete.
Feb 22, 2016
e6d7f5c
Lots more debugging around MRO calculation. Fixed a bug in serializat…
Feb 22, 2016
7f2e698
Fix a tricky issue where MRO linearization failed for the builtins/ty…
Feb 23, 2016
90338c5
Improved (de)serialization of TypeInfo. Multi-pass fixup algorithm.
Feb 23, 2016
c48ed17
Remove redundant final_passes(); it was a no-op.
Feb 24, 2016
2fcc2e0
Refactor build states, on our way to cycle resilience.
Feb 24, 2016
7a83a16
Various small cleanups.
Feb 25, 2016
924b08f
Rewrite fixit.lookup_qualified(). Rewrite is_ready() for cache states…
Feb 25, 2016
e7d5772
Be less shy about the type of variables and bound_vars -- they are al…
Feb 25, 2016
2d1c366
Serialize decorators (at least simple ones). Explicitly ignore UNBOUN…
Feb 25, 2016
dadb7e8
Fix up ct.bound_vars. Missing arg types are okay.
Feb 25, 2016
56dc1e2
Use log() instead of print() for "FIXING MODULE PASS N".
Feb 25, 2016
080b498
Add visit decorator and overloaded.
Feb 26, 2016
2ed9bb2
Serialize UnboundType.
Feb 29, 2016
93e14d1
Prototype approach to class C(NamedTuple("C", ...)): ...
Mar 1, 2016
adf7d6e
Make the type fixer/cleaner recurse into Instance.args.
Mar 2, 2016
92ecd7e
Serialize TypeList and EllipsisType.
Mar 3, 2016
2754695
Serialize Argument.type_annotation.
Mar 3, 2016
f00e8e0
Fix up SymbolNode.type.
Mar 3, 2016
5890f67
Serialize implicit flag. Reformat CallableType a bit.
Mar 3, 2016
95e0449
Must visit OverloadedFuncDef.type. Clean up visit_callable_types().
Mar 3, 2016
dfa9a65
Visit contents of CallableType.variables.
Mar 3, 2016
a5ac6bb
Serialize complete Var.
Mar 4, 2016
baddc75
Serialize all of NameExpr.
Mar 4, 2016
4503c8b
Serialize TupleType.implicit.
Mar 4, 2016
0bf0187
Serialize (mostly) complete ClassDef.
Mar 4, 2016
0e4bebb
Serialize FuncDef._fullname.
Mar 4, 2016
b82de11
Serialize FuncDef.is_class.
Mar 5, 2016
3ef91f4
Avoid crash in TypeCleaner.visit_instance() if inst.type is None.
Mar 6, 2016
ef061cf
Better approach to cross-references, to avoid copying imported defini…
Mar 7, 2016
ec4e173
Assign namedtuple a unique name from the start. Get rid of cleanup p…
Mar 8, 2016
10a26a0
Fix the post-serialization checking code.
Mar 8, 2016
55093da
Fix flake8 errors.
Mar 8, 2016
4d2a5a9
Only give a NamedTuple a unique name if not in an assignment. Also fi…
Mar 8, 2016
1df40ea
A cross_ref must have a dotted name.
Mar 8, 2016
f2076b8
Do not serialize Decorator.decorators.
Mar 8, 2016
526af54
Give nested classes their full name. Also updated tests.
Mar 8, 2016
0acc794
Fix reading source code when falling back to UnprocessedFile in Proba…
Mar 9, 2016
4eb8b25
Serialize SymbolTableNode.module_public.
Mar 9, 2016
64b353a
Use pyversion as part of cache name.
Mar 9, 2016
9b83618
Add --incremental flag (off by default).
Mar 9, 2016
2ffbbc3
TypeVarDef.values is actually Optional.
Mar 9, 2016
7a3d90c
Do not serialize ClassDef.decorators.
Mar 10, 2016
40152a4
Store a reference to the modules dict on the BuildManager.
Mar 10, 2016
4926915
Refactor dump_to_json().
Mar 10, 2016
2515bd1
New dependency manager. For now, only used when --incremental given.
Mar 10, 2016
39261a9
Clarify/fix big comment block, add some comments, minor cleanup.
Mar 11, 2016
0b891af
Honor --incremental in depmgr.
Mar 11, 2016
4be5af6
Tweak some log/trace calls. Add relative time to log/trace output.
Mar 11, 2016
1d6d921
Process nodes in an SCC in a deterministic order.
Mar 11, 2016
fb24521
Satisfy flake8. Warn instead of die on missing module ref.
Mar 11, 2016
6094ddb
Check for errors at various points.
Mar 11, 2016
6d065fd
Add -i as shortcut for --incremental. Pass -i -i to use new depmgr.
Mar 11, 2016
032f8d5
Don't write cache if we have errors. Improve fresh/stale logging.
Mar 11, 2016
2258ccd
Deal with __builtin__/builtins in Python 2 mode.
Mar 11, 2016
d41e7d4
Improve fresh/stale logging. Switch to absolute imports.
Mar 11, 2016
a6f0cfc
Honor manager.target field.
Mar 11, 2016
209c321
Some updates to module docstring.
Mar 11, 2016
1eba74d
Move module_not_found() into BuildManager.
Mar 11, 2016
24c34e9
Improve error handling around module loading.
Mar 11, 2016
85bb6af
Reworked dependency collection and import context management.
Mar 12, 2016
bde24ac
Fix errors about overreaching relative imports.
Mar 12, 2016
8476943
Patch submodule into its parent in a later stage so it's more likely …
Mar 12, 2016
5dfaafb
Support --[infer]stats and file reports.
Mar 13, 2016
f11dd1d
Call patch_parent() for fresh as well as stale modules. Minor cleanups.
Mar 13, 2016
7073e25
Killed the old state machine. Yeah!
Mar 13, 2016
0b4ef76
Merged depmgr into build, to avoid a nasty import cycle.
Mar 13, 2016
6b307c4
Make parse_file() a BuildManager method.
Mar 13, 2016
4b06576
Roots are dependencies after all. But they're still special.
Mar 13, 2016
182472e
Implement --silent-imports.
Mar 13, 2016
8c56b38
Compare cache file mtimes.
Mar 13, 2016
0273c05
Well... roots are *not* dependencies after all. It broke typeshed tes…
Mar 13, 2016
123c340
remove_cwd_prefix_from_path() should check for __init__.pyi.
Mar 14, 2016
80622d7
Rename roots to ancestors. Fix --silent for them.
Mar 14, 2016
d35e476
Improve SCC logging. Fix indentation.
Mar 14, 2016
e704e0c
Make sorted_components() work for subgraphs too.
Mar 14, 2016
ede8184
Horrible hack to deal with a nasty cycle in sqlalchemy.sql.
Mar 14, 2016
7f9fc43
Sync typeshed
Mar 14, 2016
eab8a82
Sync typeshed
Mar 15, 2016
46c2076
Stabilize return order of topsort and avoid depending on p for "from …
Mar 16, 2016
4a79bdd
Merge commit 'aa5efb0' into incremental (switch to argparse)
Mar 17, 2016
83bc59c
Merge branch 'master' into incremental (up to the rename of --implici…
Mar 17, 2016
06c701c
Sync typeshed (pickle).
Mar 17, 2016
24d211b
Merge branch 'master' into incremental
Mar 18, 2016
5a4e6d8
WIP: attempt to give classmethod first arg a reasonable type. Fixes #292
Mar 22, 2016
c45a1f1
Fix TypeAnalyser.visit_callable_type() to preserve fallback if presen…
Mar 23, 2016
601e0ae
Make tests pass.
Mar 23, 2016
8a2dbbd
Properly type-check C().some_class_method.
Mar 23, 2016
7ff4bc4
Rewrite long line.
Mar 23, 2016
f4770fa
Rename class_subtype to class_type.
Mar 23, 2016
8812d18
Add unit tests.
Mar 23, 2016
2b712df
Add a comment to the cls argument check.
Mar 23, 2016
e5f316b
It should not be an error to call an abstract method from a class met…
Mar 23, 2016
28aabb6
Propagate implicit and is_classmethod_class in CallableType.copy_modi…
Mar 23, 2016
2c639e5
Merge branch 'master' into incremental (esp. Greg's reports PR).
Mar 23, 2016
426b4f2
Merge branch 'classmethod' into incremental (PR #1313, classmethod fi…
Mar 23, 2016
8ff538f
[De]serialize is_classmethod_class.
Mar 23, 2016
30966e0
Clear trailing whitespace.
Mar 23, 2016
165a8a1
Merge branch 'master' into incremental
Apr 5, 2016
54d70ce
Merge branch 'master' into incremental
Apr 5, 2016
cd5ec0d
Remove all print statements and pdb calls from fixup.py. Add asserts …
Apr 6, 2016
9d2c327
Respond to code review for nodes.py.
Apr 6, 2016
3a2cc0b
Respond to code review for types.py.
Apr 6, 2016
ba1553d
Respond to code review for build.py.
Apr 6, 2016
84f0d86
Add a few unit tests for the graph processing in build.py.
Apr 6, 2016
d6800fe
Add manager and error messages to BuildResult; don't raise for non-bl…
Apr 7, 2016
a9cdd9b
Fix docstrings for AssertionFailure and SkipTestCaseException.
Apr 7, 2016
5594a1b
Added support for checking incremental mode.
Apr 7, 2016
700d959
Fully annotate testcheck.py
Apr 7, 2016
842a5e1
Fully annotate testgraph.py.
Apr 7, 2016
bb7f9c1
Merge remote-tracking branch 'origin/master' into incremental
Apr 7, 2016
cb00db6
Add missing annotations to helpers.py.
Apr 7, 2016
b513603
Fix typo in comment.
Apr 8, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ docs/build/
*.iml
/out/
.venv/
.mypy_cache/

# Packages
*.egg
Expand Down
Loading