Commit Graph

1316 Commits

Author SHA1 Message Date
Eric Traut
96a6ea9415 Fixed more bugs. 2019-11-14 20:53:20 -08:00
Eric Traut
9de260d158 Fixed more bugs. 2019-11-14 17:52:38 -08:00
Eric Traut
8d5f242c1e Fixed a couple of regressions. 2019-11-14 15:01:37 -08:00
Eric Traut
1123b7990a Fixed another infinite recursion issue. 2019-11-14 14:10:08 -08:00
Eric Traut
c37da9bc0d Added cache for callIsNoReturn evaluation. Used speculative mode for evaluating call type. 2019-11-14 12:08:38 -08:00
Eric Traut
bbf77867b8 Implemented isCallNoReturn to honor inferred NoReturn return types. 2019-11-14 00:33:10 -08:00
Eric Traut
c4e155cb5f Implemented lazy evaluation of inferred function return types. 2019-11-14 00:21:35 -08:00
Eric Traut
728fff47dd Moved inferredReturnType out of FunctionDetails. 2019-11-13 23:28:15 -08:00
Eric Traut
aeb15de56c Moved getEffectiveReturnType into type evaluator so we can execute it lazily. 2019-11-13 23:19:30 -08:00
Eric Traut
ebc1d5b648 Removed typeSourceId from overload type interface since it's no longer needed. 2019-11-13 22:45:12 -08:00
Eric Traut
3eea507a49 Fixed reentrancy checks for type resolutions and symbol resolutions. 2019-11-13 22:14:25 -08:00
Eric Traut
1bc2049d47 Improved error reporting for unknown types. 2019-11-12 20:52:47 -08:00
Eric Traut
e7d8b5819c Implemented deferred completion item resolution so we don't need to resolve the type of every returned item unless/until the user selects it from the list of completion items. 2019-11-12 16:23:29 -08:00
Eric Traut
7bb286159c Fixed regression in completion provider. 2019-11-12 13:51:56 -08:00
Eric Traut
0c84489d5e Temporarily enabled third-party library evaluation. 2019-11-12 13:38:23 -08:00
Eric Traut
fab2d951ec Fixed completion provider. 2019-11-12 13:38:08 -08:00
Eric Traut
5f3e2a6fde Fixed regression. 2019-11-12 13:37:53 -08:00
Eric Traut
7fa97dad7d Added code to remove diagnostics when a file is closed. 2019-11-12 11:09:12 -08:00
Eric Traut
835ebf6e88 Added lazy just-in-time binding. 2019-11-12 10:56:50 -08:00
Eric Traut
542d382b20 Added mode for analyzing only open files. 2019-11-12 10:27:53 -08:00
Eric Traut
ae2a540ce8 Roughed in isCallNoReturn. 2019-11-12 10:27:41 -08:00
Eric Traut
157b89cb63 Fixed bug in parameter evaluation code. 2019-11-12 09:51:55 -08:00
Eric Traut
2a448f2ad4 Added code to determine the type of a parameter without evaluating the full type of its function. 2019-11-12 09:04:00 -08:00
Eric Traut
cc8d025480 Renamed TypeAnalysis to Checking for consistency. 2019-11-12 09:03:26 -08:00
Eric Traut
4c14f0ec72 Started to rip out multi-pass logic. 2019-11-12 01:46:35 -08:00
Eric Traut
f9cf519761 Fixed bugs in handling of enums. 2019-11-12 01:34:47 -08:00
Eric Traut
952fcabbc9 Fixed recursion issue. 2019-11-12 00:12:42 -08:00
Eric Traut
8621988151 Removed some unnecessary accessor methods for ClassType. 2019-11-12 00:04:25 -08:00
Eric Traut
57ab21d361 Replaced remainder of getTypeExpression calls. Eliminated parse-node-based type cache in favor of evaluator cache. 2019-11-11 23:50:32 -08:00
Eric Traut
9f2e38a9ca Removed another getExpressionType. 2019-11-11 21:54:19 -08:00
Eric Traut
61ce9a4bb4 Removed more getExpressionType calls. 2019-11-11 21:47:09 -08:00
Eric Traut
e643ec605b Removed currentScope from binder - it's no longer necessary. 2019-11-11 21:31:46 -08:00
Eric Traut
93fa1a89b0 Removed a few more getExpressionType calls. 2019-11-11 21:30:11 -08:00
Eric Traut
977979b988 Fixed a couple of regressions. 2019-11-11 20:04:30 -08:00
Eric Traut
6fda0db05e Moved most of declarationUtils and symbolUtils and large portions of typeUtils into typeEvaluator module. 2019-11-11 19:08:35 -08:00
Eric Traut
98e5ae37ff Removed isFinal field in type cache. 2019-11-11 17:40:09 -08:00
Eric Traut
ce32f3dd9f Fixed undefined reference in hover path. 2019-11-11 17:39:52 -08:00
Eric Traut
262f58fee9 Finished implementing evaluateTypesForStatement. 2019-11-11 17:05:06 -08:00
Eric Traut
cb35dee895 Started to remove usage of AnalyzerNodeInfo.getExpressionType in favor of evaluator.getType. 2019-11-11 09:17:52 -08:00
Eric Traut
b9735b79be Simplified code. 2019-11-10 22:51:33 -08:00
Eric Traut
76cc221376 Started to simplify "usage". 2019-11-10 22:25:09 -08:00
Eric Traut
80e600738c A few simplifications... 2019-11-10 20:55:17 -08:00
Eric Traut
20163520c3 Removed more calls to getExpressionType. 2019-11-10 20:03:26 -08:00
Eric Traut
465d88c39d Started to remove getExpressionType calls from within evaluator. 2019-11-10 19:53:45 -08:00
Eric Traut
80082ba42b Remove unused import. 2019-11-10 19:36:21 -08:00
Eric Traut
8e988de2f0 Work around an intermittent warning from the TS compiler. 2019-11-10 19:36:10 -08:00
Eric Traut
08644cdd0d Renamed typeAnalyzer.test to checker.test 2019-11-10 18:03:41 -08:00
Eric Traut
38ac181c42 Type evaluator is now instantiated once per program rather than once per source file. 2019-11-10 18:00:00 -08:00
Eric Traut
90caa3159e Renamed expressionEvaluator to typeEvaluator and typeAnalyzer to checker to better reflect their new roles. 2019-11-10 16:56:15 -08:00
Eric Traut
406f167e17 Fixed regression in typed dict code found by unit tests. 2019-11-10 14:10:38 -08:00