Commit Graph

1316 Commits

Author SHA1 Message Date
Eric Traut
da9586b537 Changed expression evaluator's read cache parameter to mandatory. 2019-10-27 12:59:53 -07:00
Eric Traut
27b2b96ad3 Avoid running binding logic for import statements if code is unreachable. 2019-10-27 08:30:01 -07:00
Eric Traut
a5314b24c4 Added missing call to addExceptTargets within conditional flow node creation. 2019-10-26 18:04:20 -07:00
Eric Traut
2de28529e9 Added control flow support for asserts. Added different flow flags for branch vs loop labels. Simplified and fixed bugs in the while/else control flow.
Changed control flow handling of return and yield statements.
2019-10-26 12:39:49 -07:00
Eric Traut
bb7e9efc3f Changed server to create <default> service on demand, when a file is opened that doesn't match any existing workspace. 2019-10-26 09:24:16 -07:00
Eric Traut
e79e03278c Fixed bug that affected proper type evaluation for CTypes like c_uint64. 2019-10-25 17:31:39 -07:00
Eric Traut
9f46eebf19 Fixed type completions for TypedDict classes when TypedDict is imported from typings (versus typing_extensions). Updated TypedDict unit tests to import form typings. 2019-10-25 11:49:43 -07:00
Eric Traut
1fbe8d8541 Published 1.0.81 2019-10-25 09:07:59 -07:00
Eric Traut
a6bf2c0e59 Added support for @abc.abstractproperty decorator. 2019-10-25 08:55:54 -07:00
Eric Traut
7be19b6a52 Expanded isinstance support (for both the reportUnnecessaryIsInstance switch and type constraints) to also support issubclass. 2019-10-24 23:22:03 -07:00
Eric Traut
90caa19512 Merge branch 'flow' 2019-10-24 21:55:25 -07:00
Eric Traut
db04c9c2f7 Added support for interleaved for and if clauses in list comprehension statements. 2019-10-24 21:49:20 -07:00
Eric Traut
ebdc2efba1 Implemented flow logic for list comprehensions. 2019-10-24 21:39:33 -07:00
Eric Traut
565d42a611 Added flow logic for import-from, unary, and binary statements. 2019-10-24 21:21:44 -07:00
Eric Traut
1787ac9e95 Fixed a couple of bugs relating to the handling of the @overload decorator. 2019-10-24 18:04:55 -07:00
Eric Traut
33c5823c98 Improved exception reporting message in service.ts. 2019-10-24 15:18:28 -07:00
Eric Traut
10c74c0f32 Implemented flow analysis for import-as and ternary expressions. 2019-10-24 12:51:47 -07:00
Eric Traut
a0d6c41a51 Implemented flow logic for try/except/else/finally, return, and raise statements. 2019-10-23 23:56:02 -07:00
Eric Traut
358abe62e4 Added code to command-line version to report a non-zero exit code if the config file couldn't be read or parsed. 2019-10-23 23:34:27 -07:00
Eric Traut
bc22f60eed Published 1.0.80 2019-10-23 09:53:29 -07:00
Eric Traut
48b20e8009 Implemented control flow logic for if/else and while/else statements. 2019-10-23 09:49:27 -07:00
Eric Traut
1ae39aa58d Implemented flow logic for for/while and continue/break. 2019-10-22 19:12:19 -07:00
Eric Traut
e9e84bdff8 Started to implement the code flow graph in the binder. 2019-10-22 17:31:33 -07:00
Eric Traut
619f18b1df Added special-case handling of __import__ built-in call so it always returns Any type. 2019-10-22 12:35:36 -07:00
Eric Traut
55adbf4b29 Changed implicit module symbol __path__ to be properly typed as Iterable[str] rather than str. 2019-10-22 12:00:45 -07:00
Eric Traut
9453e0c07e Fixed bug in alias resolution logic that caused the definition provider not to take the user to the right location in cases where there were multiple alias hops. 2019-10-22 12:00:09 -07:00
Eric Traut
67c08c8490 Added code to interpret the python.path VS Code setting in the same manner as the Python VS Code extension. In particular, it now handles the special-case value of "python" to mean "use the default python interpreter" rather than treating it as a relative path. 2019-10-22 11:29:17 -07:00
Eric Traut
843dc11bd4 Changed type analyzer to update the type of a variable name node when it has a type annotation but no assignment. Needed for the hover provider. 2019-10-21 22:33:36 -07:00
Eric Traut
7090376a3a Fixed static expression evaluation for expressions that involve platform when no platform is specified. 2019-10-21 22:33:00 -07:00
Eric Traut
6f1f381862 Fixed bug in binder where it was improperly evaluating whether code was unreachable. 2019-10-21 22:32:23 -07:00
Eric Traut
4ed148909d Changed binder to not register variable declarations for unreachable code. 2019-10-21 22:31:56 -07:00
Eric Traut
bbeb5ae165 Published 1.0.79 2019-10-21 17:41:01 -07:00
Eric Traut
44fe8e7c67 Fixed regression in import logic that resulted in lots of errors when import was resolved with a non-stub file. 2019-10-21 15:17:10 -07:00
Eric Traut
f1f6b814d7 Simplified and optimized binder logic. 2019-10-21 00:01:26 -07:00
Eric Traut
38e2a9cde5 Moved variable declarations to binder.
Fixed a couple of issues that caused the signature help provider to present incorrect signature information for named tuples.
2019-10-20 20:38:35 -07:00
Eric Traut
f2f36bf1f5 Published 1.0.78 2019-10-20 16:57:38 -07:00
Eric Traut
68ca16c1b0 Fixed regression in hover and definition provider relating to aliased symbols in "from import" statements. Significantly reduced complexity of definition provider by using existing code in other modules. 2019-10-20 16:25:48 -07:00
Eric Traut
25dbc4250d Fixed a few small regressions relating to imports. 2019-10-20 15:51:43 -07:00
Eric Traut
3de8d43dad Moved parent node linking from the binder to the parser. 2019-10-20 12:42:50 -07:00
Eric Traut
b96b446181 Published 1.0.77 2019-10-20 09:42:33 -07:00
Eric Traut
3236fe7264 Fixed regression in extension. 2019-10-20 09:39:36 -07:00
Eric Traut
9995ffcef2 Added implicit __doc__ symbol to modules. 2019-10-20 09:30:07 -07:00
Eric Traut
352e58cf03 Small code cleanup. 2019-10-20 09:17:25 -07:00
Eric Traut
b57b8c4ea1 Changed client to not crash if someone launches the production version of the extension in debug mode. 2019-10-20 09:17:13 -07:00
Eric Traut
b0a92ba84b Added code to extract parameter-specific documentation and present them as part of the signature help output. 2019-10-20 03:26:07 -07:00
Eric Traut
361dbbd072 Merge branch 'move_declarations6' 2019-10-20 02:22:37 -07:00
Eric Traut
67a6eeb91a Fixed bug where type analysis pass wasn't being reset back to 1 when markReanalysisRequired was called, so we would sometimes hit the max analysis limit. 2019-10-20 02:21:39 -07:00
Eric Traut
aa51a7f547 Fixed bug where type analysis pass wasn't being reset back to 1 when markReanalysisRequired was called, so we would sometimes hit the max analysis limit. 2019-10-20 02:21:25 -07:00
Eric Traut
204b452816 Improved responsiveness by making recursive binding to honor time limit. 2019-10-19 23:18:57 -07:00
Eric Traut
cb0013cb39 Finished moving alias declaration creation to binder. 2019-10-19 22:48:51 -07:00