8663 Commits

Author SHA1 Message Date
Anders Hejlsberg
34d9d4bc8c
Merge pull request #28870 from Microsoft/discriminatedUnionInference
Improved type inference for discriminated unions
2018-12-07 15:44:41 -08:00
Daniel Rosenwasser
8150169762
Merge pull request #28857 from JoshuaKGoldberg/identifiers-after-numeric-literals
Added error for IdentifierStart immediately after a NumericLiteral
2018-12-06 11:49:56 -08:00
Josh Goldberg
a211184347 Clarified error message; extended error to identifier end
Lengthening the reported error length to include all of the identifier necessitates scanning for all of the identifier. I also reset the `pos` after so other identifier scanning still happens.
2018-12-06 11:17:06 -08:00
Anders Hejlsberg
4ae0848bd4 Add tests 2018-12-05 15:20:21 -08:00
Anders Hejlsberg
07dbc56208
Merge pull request #28854 from Microsoft/fixExcessPropertyChecks
Improve excess property checks
2018-12-05 08:51:08 -08:00
Josh Goldberg
174816fc26 Added error for IdentifierStart immediately after a NumericLiteral
Fixes #4702.
2018-12-04 17:59:20 -08:00
Anders Hejlsberg
b34c73f7e8
Merge pull request #28851 from Microsoft/deferConditionalTypes
Defer resolution of conditional types with generic check or extends types
2018-12-04 15:48:57 -08:00
Anders Hejlsberg
e7bb5625c0 Add additional tests 2018-12-04 14:51:59 -08:00
Anders Hejlsberg
3e2f130b3c Add regression test 2018-12-04 13:18:04 -08:00
Nathan Shively-Sanders
ee987a25e2
Revert over-eager bailout when trailing whitespace (#28848) 2018-12-04 12:45:00 -08:00
Sheetal Nandi
c85460bc44
Merge pull request #28818 from Cow258/master
Move await keyword to inside of function
2018-12-04 12:36:13 -08:00
Nathan Shively-Sanders
24b39f90c9
Skip implicit any suggestions with no codefix (#28822)
The only unsupported one is binding patterns, which aren't supported by the codefix.
The code was a lot faster to write without supporting them, but there's
no real barrier besides that.
2018-12-04 09:17:37 -08:00
Nathan Shively-Sanders
594430f113
Infer from arrows from usage. (#28832)
* Infer from arrows from usage.

Previously only function expressions were, and only those with an easily
accessible name. Now any arrow function or function expression will
infer from usage.

* remove isApplicableFunctionForInference

*all* functions are applicable for inference now.
2018-12-04 09:03:08 -08:00
dreamran43@gmail.com
a2851d2ddc Move await keyword to inside of function and test 2018-12-04 03:01:56 +08:00
dreamran43@gmail.com
8eefaf48f5 Move await keyword to inside of function (Recovery & try test) 2018-12-04 01:50:02 +08:00
Wesley Wigham
2103ed69e6
Merge pull request #28782 from weswigham/global-merge-no-crash
Fix crash on umd and module merge, allow umds to be accessed when merged with a non-UMD symbol
2018-12-03 09:43:04 -08:00
dreamran43@gmail.com
47302147ab Move await keyword to inside of function and test 2018-12-04 01:19:51 +08:00
Wesley Wigham
03a98a2840
Merge pull request #28783 from weswigham/fix-typeparam-parent
Add missing case to declaration diagnostic handler
2018-12-03 09:15:38 -08:00
Anders Hejlsberg
28f8fdaccd
Merge pull request #28784 from Microsoft/controlFlowDestructuringLoop
Fix control flow analysis of destructuring in loops
2018-12-01 07:01:43 -08:00
Wesley Wigham
cd6fdb11d6 Add constructor case 2018-11-30 17:44:25 -08:00
Anders Hejlsberg
290eff9722 Add regression test 2018-11-30 16:28:21 -08:00
Wesley Wigham
fa8df0d32c Add missing case to declaration diagnostic handler 2018-11-30 16:25:07 -08:00
Wesley Wigham
d92771d61a Fix crash on umd and module merge, allow umds to be accessed when merged with a non-UMD symbol 2018-11-30 15:55:20 -08:00
Daniel Rosenwasser
b44ee8ef4b Added tests for types with overlap across a single property name. 2018-11-30 14:59:43 -08:00
Sheetal Nandi
23abcc02a3 Use compilerOptionsIndicateEs6Modules over program contains es6 modules for determining auto import offering. Also dont depend on uncheck js file for this.
Fixes #28696
2018-11-29 11:58:32 -08:00
Anders Hejlsberg
36dc04b982
Merge pull request #28718 from Microsoft/fixDefinitelyAssignableRelation
Fix definitely assignable relation
2018-11-28 17:38:51 -08:00
Anders Hejlsberg
d832fbf46a Add regression test 2018-11-28 14:58:11 -08:00
Wesley Wigham
54bbf74f62
Do not lookup name of default property symbols from the symbols value declaration (#28711) 2018-11-28 13:58:43 -08:00
Nathan Shively-Sanders
f915420c80 Revert "Don't consider 'typeof a' as using 'a' (#28528)"
This reverts commit 0c4ceeec24f16f87e75386355c86ac38612a1175.
2018-11-26 14:45:19 -08:00
Daniel Rosenwasser
6627d33540
Merge pull request #27087 from Microsoft/overlappyTypes
Elaborate on types in unions with the most overlap in properties
2018-11-26 14:58:15 -05:00
Klaus Meinhardt
94d7e30393 MethodSignature doesn't have 'arguments' (#28625)
Fixes: #28622
2018-11-20 13:01:34 -08:00
Wesley Wigham
96937fd592
Allow union signatures to merge when they have differing argument counts (#28604)
* Allow union signatures to merge when they have differing argument counts

* Accept updated baselines

* Adjust comments io changed tests
2018-11-19 17:05:28 -08:00
Nathan Shively-Sanders
0774bb81ce
Fix crash on property assignment of unresolved module (#28606)
Previously, the compiler would crash when binding a non-top-level
property assignment on the symbol of an unresolved module:

```js
import x from 'arglebaz'
{
    x.bar = 1
}
```

That's because `x` looks like an alias but doesn't have a
valueDeclaration (since there is no file named 'arglebaz'), and the new
code for binding Object.defineProperty calls forgot to check for an
undefined valueDeclaration.

This change adds the checks for an undefined valueDeclaration.
2018-11-19 13:29:46 -08:00
Andy
79b9fa51b6 Avoid infinite loop checking yield expression (#21728)
* Avoid infinite loop checking yield expression

* Revert now-unneeded change

* Revert test filename changes
2018-11-19 11:18:32 -08:00
Andy
ca7f78b8df Fix typo (#28526) 2018-11-19 10:54:54 -08:00
Andy
b8a8ceae86 Handle merging unknownSymbol (#28453)
* Handle merging unknownSymbol

* mergeSymbol of unknown target returns source, not unknown
2018-11-19 10:51:58 -08:00
Sheetal Nandi
dc03115d14
Merge pull request #28585 from Microsoft/isTypeOnlyCompletion
Properly set symbolMeanings when calling getSymbolsInScope
2018-11-19 08:50:41 -08:00
Sheetal Nandi
eeaa8bb527
Merge pull request #28533 from Microsoft/generateGetAndSet_noFindAllRefs
generateGetAccessorAndSetAccessor: Don't use FindAllReferences
2018-11-19 08:47:12 -08:00
Wesley Wigham
608a8307ac
Dont emit module resolution errors when looking up specifiers for container symbols (#28558) 2018-11-16 17:15:40 -08:00
Andy Hanson
59c014ba32 Properly set symbolMeanings when calling getSymbolsInScope 2018-11-16 17:04:29 -08:00
Wesley Wigham
cd08a22ef5
Clamp calculated sourcemap positions rather than throwing (#28583)
* Clamp calculated sourcemap positions rather than throwing, to allow the underlying file to drift out of date with the sourcemap without a crash

* Clamp line as well
2018-11-16 16:05:07 -08:00
Sheetal Nandi
6bb1ff2214
Merge pull request #27376 from Microsoft/codeFixCannotFindModule_suggestion_falsePositive
Don't implicit-any diagnostic for json module
2018-11-16 15:48:37 -08:00
Daniel Rosenwasser
6ae288fbb3 Merge remote-tracking branch 'origin/master' into overlappyTypes 2018-11-16 15:02:13 -08:00
Andy
e0dca0bd95
Error when destructuring private property in a parameter (#28562) 2018-11-16 12:47:05 -08:00
Nathan Shively-Sanders
ea8ccc2ce4
In JS, constructor functions infer from call+construct (#28353)
* constructor functions infer from call+construct

Also fix an incorrect combining of inferences for rest parameters: the
inferred types will be arrays in the body of the function and the
arguments from outside the function will be the element type.

* All functions infer from call+construct contexts
2018-11-16 09:51:07 -08:00
Andy
0c4ceeec24
Don't consider 'typeof a' as using 'a' (#28528)
* Don't consider 'typeof a' as using 'a'

* Also handle markPropertyAsReferenced

* Use isInTypeQuery
2018-11-16 08:35:36 -08:00
Andy
b059135c51
When adding relative completions with rootDirs, still add completions for regular relative imports (#28561) 2018-11-15 15:11:27 -08:00
Wesley Wigham
b90d2910fb
Strongly typecheck unions of intrinsic tag names (#28557) 2018-11-15 13:46:32 -08:00
Nathan Shively-Sanders
6cee7c3080
Better nameless parameter implicit any error (#28554)
* Initial version, doesn't work for primitives yet.

Need to find out why.

* Primitives now work, plus improve error message

null and void don't even parse without parameter names so they are not
tested.

* Codefix: Add names to nameless parameters

* Improve error wording

* Add detail to error message
2018-11-15 12:45:39 -08:00
Andy
079f0436f3
Remove unused function (#28531) 2018-11-15 09:34:07 -08:00