Commit Graph

26317 Commits

Author SHA1 Message Date
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 Wigham 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 Wigham 683e281040 Reintroduce cloneInferredPartOfContext to fix overloaded inferences with returnMappers (#33478) 2019-09-18 13:14:39 -07:00
Jack Williams 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
Troy Tae 56df48d5fa fix: change error1023 key name 2019-09-18 17:19:19 +09:00
Troy Tae a5cda4633b fix: permit string/number literal in union type 2019-09-18 16:19:18 +09:00
Troy Tae 350e305b0c fix: add "either" in code 1023 message 2019-09-18 15:34:35 +09:00
Ron Buckton 344dba8809 Fix incorrect parameter types for AsyncIterator next/return (#33354) 2019-09-17 21:02:12 -07:00
Wesley Wigham 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 Probst 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 Casey 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
Michal Przybys 63d940da53 Added example of sortFn 2019-09-17 16:32:15 +02: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
xiaofa 58e0469252 fix typo 2019-09-17 18:56:19 +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
Orta 09d6cbc152 Merge pull request #33418 from Kingwl/duplicate_async
fix duplicate async modifier codefix
2019-09-16 09:42:13 -04: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
Arpad Borsos 391a3c8791 Separate Tokens and Identifiers from other Nodes
With some further optimization to their properties, this shrinks the
objects by quite a bit.
2019-09-14 10:27:51 +02:00
Arpad Borsos 72c0961071 Force a gc before printing diagnostics
Use this together with `node --expose-gc` to get more stable results
2019-09-14 04:10:54 +02:00
Wesley Wigham 038d95144d Remove all submodules - just force clone and reset on run instead (#33425) 2019-09-13 16:14:33 -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
kingwl 93a250b9a6 fix duplicate async modifier codefix 2019-09-14 02:22:59 +08: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 Nandi 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
Nathan Shively-Sanders de7d68a6d8 Even more renaming 2019-09-12 11:30:51 -07:00
Orta 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
Nathan Shively-Sanders b69f5af08e Merge branch 'master' into infer-from-usage/similarity-to-builtins 2019-09-12 10:50:13 -07:00
Anders Hejlsberg a9336ba8a5 Revert "Use declared type for references in unreachable code"
This reverts commit 436339ddef.
2019-09-12 09:15:43 -07:00
Anders Hejlsberg 436339ddef Use declared type for references in unreachable code 2019-09-12 07:41:47 -07:00
Michal Przybys 2c8df45aa9 Fixed typo 2019-09-12 10:17:05 +02:00
Jesse Trinity fd6fbdf7fe Show more items in the navbar (#33040)
* show more items in navbar

* fixed missing node kind for property assignments

* updated navBarNestedCommonJsExports test

* updated navigationBarMerging_grandchildren test

* updated navigationBarItemsFunctions test

* updated navigationBarAnonymousClassAndFunctionExpressions test

* updated navigationBarFunctionIndirectlyInVariableDeclaration test

* updated navigationBarInitializerSpans test

* updated navigationBarItemsPropertiesDefinedInConstructors test

* updated tests

* change nav icon for properties with function-like initializers

* add test case for binding element with function-like initializer

* add navigationBarNestedObjectLiterals test

* add navigationBarFunctionLikePropertyAssignments test

* made some silly names less silly (?)

* added SpreadAssignments and ShorthandPropertyAssignments

* new wording for primary menu items
2019-09-11 15:54:27 -07:00
Orta f9cc374d21 Merge pull request #33336 from JoshuaKGoldberg/enum-syntax-error-specifics
Added more helpful syntax error for enum member commas
2019-09-11 23:05:16 +02:00
Orta e8fc62e1a2 Merge pull request #33300 from JoshuaKGoldberg/too-large-integer-bigint-codefix
Added codefix for numeric literals >= 2 ** 53
2019-09-11 22:53:19 +02:00
Sheetal Nandi 6995a907a4 Merge pull request #33358 from microsoft/dtsOnlyEmit
Instead of emitting js as well as d.ts files when only d.ts emit could change, emit only d.ts files since program.emit has that option
2019-09-11 13:09:50 -07:00
Sheetal Nandi 0019cee6de Handle --isolatedModules and d.ts emit in the builder 2019-09-11 12:52:23 -07:00