Commit Graph
14215 Commits
Author SHA1 Message Date
Nathan Shively-Sanders aca0bb943f Fix lint on master 2019-09-24 08:30:18 -07:00
Nathan Shively-SandersandGitHub f1104806d5 Merge pull request #33263 from microsoft/infer-from-usage/similarity-to-builtins
Infer from usage by similarity to builtin types
2019-09-24 07:44:34 -07:00
Anders HejlsbergandGitHub bf992a57f6 Merge pull request #32695 from microsoft/assertionsInControlFlow
Assertions in control flow analysis
2019-09-23 16:57:56 -07:00
Wesley WighamandGitHub 00a43d7b49 Cache propagating variance flags in the relationship cache (#32225)
* Cache propagating variance flags in the relationship cache

* Convert base fields in relation comparison result to flags
2019-09-23 16:55:19 -07:00
Wesley WighamandGitHub 367b82055c Hoist and distribute type parameter constraints over type parameters … (#33453)
* Hoist and distribute type parameter constraints over type parameters when comparing against union targets when fetching union constraints

* Fix PR nits
2019-09-23 16:52:03 -07:00
Wesley WighamandGitHub 26caa3793e Introduce flattened error reporting for properties, call signatures, and construct signatures (#33473)
* Introduce flattened error reporting for properties, call signatures, and construct signatures

* Update message, specialize output for argument-less signatures

* Skip leading signature incompatability flattening

* Add return type specialized message
2019-09-23 16:08:44 -07:00
Wesley WighamandGitHub 6c2ae12559 Relax the constraints of isValidBaseType to allow base types to be constructor types (#33146)
* Relax the constraints of isValidBaseType to allow base types to be constructor types

* Fix nit

* Reduce confusion between isConstructorType and isValidBaseType

* Update comment
2019-09-23 15:58:03 -07:00
Daniel RosenwasserandGitHub 4f25774785 Merge pull request #33477 from Nathan-Fenner/error-on-extra-jsx-prop
report error on extraneous JSX prop instead of element name
2019-09-23 15:26:57 -07:00
Anders HejlsbergandGitHub 5d09688c1e Merge pull request #33228 from microsoft/fix32976
Less aggressive contextual signature instantiation
2019-09-21 07:31:24 -07:00
Anders Hejlsberg bcdf33d8de Fix forEachChild 2019-09-20 17:44:19 -07:00
Anders Hejlsberg c3dcc37c79 Merge branch 'master' into assertionsInControlFlow
# Conflicts:
#	src/compiler/checker.ts
2019-09-20 17:23:27 -07:00
Anders HejlsbergandGitHub 10e3f11c0d Merge pull request #33510 from microsoft/controlFlowLoopCaching
Enable caching for control flow paths that precede loops
2019-09-20 14:09:47 -07:00
Nathan Fenner 1cad8edfa7 check for SyntaxKind.JSXAttribute instead of located-ness of name prop 2019-09-20 14:00:11 -07:00
Anders Hejlsberg 007b4b1e31 Minor simplification 2019-09-20 10:24:02 -07:00
Anders Hejlsberg d4ad0d53dc Cheaper caching scheme 2019-09-20 06:47:42 -07:00
Sheetal NandiandGitHub 7f004ad8df Merge pull request #33380 from microsoft/isolatedModules
With --isolatedModules, --declaration emit is now allowed and builder handles it for incremental compilation
2019-09-19 16:20:21 -07:00
Sheetal NandiandGitHub 73233d72f7 Merge pull request #33503 from microsoft/moreApisForBuild
Add output file names api for supporting ts-loader
2019-09-19 09:18:27 -07:00
Anders Hejlsberg 7b77b49781 Enable caching for control flow paths that precede loops 2019-09-19 08:26:52 -07:00
Nathan Fenner dbc17229f7 report extraneous jsx attribute error on attribute name instead of entire attribute assignment 2019-09-18 16:31:44 -07:00
Nathan Fenner 940231785e report error on extra jsx prop instead of component name 2019-09-18 16:31:44 -07:00
Anders Hejlsberg cafec556f3 Properly handle try-finally statements in isReachableFlowNode 2019-09-18 15:20:20 -07:00
Sheetal Nandi e430f2a81c Add output file names api for supporting ts-loader 2019-09-18 14:13:49 -07:00
Wesley WighamandGitHub 5e06bea481 getConstraintDeclaration gets the first declaration with a constraint… (#33426)
* getConstraintDeclaration gets the first declaration with a constraint, rather than just the first declaration

* Add type annotation

* Update comment
2019-09-18 13:56:24 -07:00
Wesley WighamandGitHub 683e281040 Reintroduce cloneInferredPartOfContext to fix overloaded inferences with returnMappers (#33478) 2019-09-18 13:14:39 -07:00
Jack WilliamsandRyan Cavanaugh 1c20aa0b1a Narrow unknown under inequality when assumed false (#33488) 2019-09-18 10:54:42 -07:00
Anders Hejlsberg ba30fdc4ae Attach flow nodes only when allowUnreachableCode !== true 2019-09-18 06:36:51 -07:00
Ron BucktonandGitHub 344dba8809 Fix incorrect parameter types for AsyncIterator next/return (#33354) 2019-09-17 21:02:12 -07:00
Wesley WighamandGitHub 56e2cb31ad Reverse mapped types should have inferable indexes if their source had an inferable index (#33450) 2019-09-17 15:36:00 -07:00
Martin ProbstandDaniel Rosenwasser 6bb7e5c086 Handle parentless nodes in isParameterPropertyDeclaration
Fixes #33295.

This follows a similar pattern as in #20314 by requiring an explicit
`parent` parameter. Where possible, it uses the appopriate variable at
the call sites.

In several locations there is no context available though (e.g.
inspecting `valueDeclarations`) and we access `.parent` as the code
previously did. From a cursory inspection this seems correct, these
callpaths originate in phases where there must be a `parent` (i.e. in
checker, binder, etc).

Change-Id: I28e4726777b57237bec776e4001e9e69ac591b11
2019-09-17 13:22:30 -07:00
Andrew CaseyandGitHub 2f8832cccc Merge pull request #33469 from amcasey/gh33332
Make extractSymbol explicitly drop JSDoc nodes
2019-09-17 11:42:26 -07:00
Andrew Casey f10e38fea7 Make extractSymbol explicitly drop JSDoc nodes
Fixes #33332
2019-09-17 10:35:11 -07:00
Anders Hejlsberg 8cbf69489c Cache last isReachableFlowNode result + switch statement CFA fix 2019-09-17 07:01:07 -07:00
xiaofa 67aa2b22ac fix conflicts 2019-09-17 19:02:44 +08:00
Anders Hejlsberg d9c9129720 Ignore references in with statements in getTypeOfDottedName 2019-09-16 15:56:55 -07:00
Anders Hejlsberg 6d6c620cc2 Report grammatic and type-based unreachable code errors in the same way 2019-09-16 15:30:45 -07:00
Anders Hejlsberg def5e37e6a Revert "More efficient scheme for caching flow node reachability"
This reverts commit e97ebb7f1c.
2019-09-16 14:20:53 -07:00
Anders Hejlsberg e97ebb7f1c More efficient scheme for caching flow node reachability 2019-09-16 13:04:22 -07:00
Anders Hejlsberg 05d1e68e62 Fix linting issues 2019-09-15 18:13:49 -07:00
Anders Hejlsberg d26afd7273 for-in or for-of expression is evaluated before loop back edge 2019-09-15 11:07:51 -07:00
Anders Hejlsberg 945babbaac Fix inference circularity error triggered by exhaustive switch analysis 2019-09-15 09:49:57 -07:00
Anders Hejlsberg 59b76cee89 Fix call to Debug.fail in compiler 2019-09-15 08:38:17 -07:00
Anders Hejlsberg 0060964fba Further CFA handling of exhaustive switch statements 2019-09-15 08:25:07 -07:00
Anders Hejlsberg cc6e4938ae Treat exhaustive switch statements like non-returning functions in CFA 2019-09-14 15:30:09 -07:00
Anders Hejlsberg 3a89c8cc5c Use isReachableFlowNode to check for implicit return 2019-09-13 14:38:12 -07:00
Anders Hejlsberg 3749de6019 Dedicated isReachableFlowNode function to determine reachability 2019-09-13 11:33:16 -07:00
Anders Hejlsberg 971b0df80a Use declared type for references in unreachable code (again) 2019-09-13 07:12:19 -07:00
Nathan Shively-Sanders d94d715cdf Make perf count functions public
Previously they were internal
2019-09-12 13:31:11 -07:00
Sheetal NandiandGitHub bc7bde3879 Merge pull request #33390 from Swatinem/identifiers-nan
Fix `Identifiers: NaN` diagnostic when having JSON SourceFiles
2019-09-12 12:48:00 -07:00
Arpad Borsos a8d04b2db9 Fix Identifiers: NaN diagnostic when having JSON SourceFiles
This makes sure that the `identifierCount` and `nodeCount` properties
are always initialized for `SourceFile` objects.
2019-09-12 21:10:38 +02:00
OrtaandGitHub 0cf00fab93 Merge pull request #32965 from ajafff/ts-in-js
Detect more TS syntax in JS files
2019-09-12 20:21:51 +02:00