Commit Graph
8645 Commits
Author SHA1 Message Date
Daniel Rosenwasser 99ddaa599f Merge pull request #28942 from Microsoft/missing3.2Prs
Port missing 3.2 PRs
2018-12-10 13:46:31 -08:00
Anders Hejlsberg 6234e10601 Add additional tests 2018-12-10 13:22:24 -08:00
Anders Hejlsberg c6ca3f8114 Add regression test 2018-12-10 13:21:41 -08:00
Daniel Rosenwasser 975845a68f Add regression test 2018-12-10 13:08:05 -08:00
Wesley Wigham 00e1ab2009 Fix crash on umd and module merge, allow umds to be accessed when merged with a non-UMD symbol 2018-12-07 13:21:03 -08:00
Sheetal Nandi aaff894a9e Merge pull request #28850 from Microsoft/awaitInAllFunctions32
[release-3.2] Completion for await keyword to inside of function
2018-12-04 13:28:57 -08:00
Nathan Shively-Sanders a621df0d83 Revert over-eager bailout when trailing whitespace (#28848) 2018-12-04 12:47:52 -08:00
dreamran43@gmail.com 33c3597b42 Move await keyword to inside of function and test 2018-12-04 12:39:42 -08:00
dreamran43@gmail.com fed689a010 Move await keyword to inside of function (Recovery & try test) 2018-12-04 12:39:35 -08:00
dreamran43@gmail.com 3a76e9fbc8 Move await keyword to inside of function and test 2018-12-04 12:39:31 -08:00
Nathan Shively-Sanders 7c397f7a65 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:56 -08:00
Sheetal Nandi 27ad35f58e 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 13:17:25 -08:00
Wesley Wigham 67a2b896f6 Do not lookup name of default property symbols from the symbols value declaration (#28711) 2018-11-28 13:59:48 -08:00
Nathan Shively-Sanders 1f34a4e25f Revert "Don't consider 'typeof a' as using 'a' (#28528)"
This reverts commit 0c4ceeec24.
2018-11-26 14:49:43 -08:00
Daniel Rosenwasser 2e860f4d01 Added tests. 2018-11-26 12:02:17 -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
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
Nathan Shively-Sanders 53bb4e84a2 Better checking of assignment declarations (#28387)
Previously, type checking was turned off for all assignment
declarations. This is a problem when the declarations are annotated with
jsdoc types.

This PR checks assignment declarations, *except* for expando
initialisers. Expando initialisers are

1. Empty object types.
2. Function types.
3. Class types.
4. Non-empty object types when the assignment declaration kind is
prototype assignment or module.exports assignment.
2018-11-15 08:46:11 -08:00
Nathan Shively-Sanders 7a7328a17f string|number inferences are low priority (#28381)
* string|number inferences are low priority

Also, refactor unifyFromContext to explicitly handle priorities

* string/number/strnum are not mutually exclusive

* Assert that high/low can't apply to same element
2018-11-15 08:32:28 -08:00
Andy 2600250a24 Add 'bigint' to type keywords (#28537) 2018-11-14 22:18:05 -08:00
Daniel Rosenwasser fe263708be Merge pull request #27019 from iliashkolyar/codefix_add_missing_new_operator
Codefix: add quick fix for missing 'new' operator
2018-11-14 16:53:25 -08:00
Andy Hanson 643678bb54 generateGetAccessorAndSetAccessor: Don't use FindAllReferences 2018-11-14 15:05:46 -08:00
Aziz Khambati 24759b81e6 Fix comments after sread expression, spread assignment (#28482) 2018-11-14 14:20:07 -08:00
Andy da37457c72 When renaming an imported symbol, rename only in current file (#28406)
* When renaming an imported symbol, rename only in current file

* Improve re-export references

* Remember to use 'range' in for loop

* Uncomment tests
2018-11-14 09:09:00 -08:00
Wesley Wigham 7a71887c23 Build better import paths for declaration emit/typeToString from reexports if possible (#27340)
* Build better import paths from reexports if possible, issue error on node_modules import generation

* Small refactorings

* Add file-by-file cacheing

* Minor cleanups

* Adjust error message
2018-11-13 14:07:54 -08:00
Wesley Wigham 004dc89600 Use elipses for reverse mapped types in nested positions (#28494) 2018-11-12 18:50:08 -08:00
Wesley Wigham d99de73e85 Handle type argument lists as jsx completion starts (#28493)
* Handle type argument lists as jsx completion starts

* preceeding -> preceding
2018-11-12 16:30:04 -08:00
Daniel Rosenwasser 25462beeb7 Merge pull request #28456 from Microsoft/nonExperimentalBigInt
BigInt shouldn't be considered experimental
2018-11-12 15:59:15 -08:00
Wesley Wigham 2b345cc8f8 Track type recusion and symbol instantiation depth seperately in createAnonymousTypeNode (#28490) 2018-11-12 15:45:36 -08:00
Daniel Rosenwasser 9e92597ae7 More general test case name. 2018-11-12 14:52:44 -08:00
Daniel Rosenwasser e4bb1973ed Fixed up flags on test cases and stray newline. 2018-11-12 14:52:44 -08:00
Daniel Rosenwasser 830be0651c Merge pull request #27669 from Microsoft/betterErrorForAccidentalCall
Always emit diagnostic when a call expression can be fixed by adding a semicolon
2018-11-12 14:50:23 -08:00
Wesley Wigham 13234b62f5 Force inner indexed access simplification during inference, if possible (#28420)
* Force inner indexed access simplification during inference, if possible

* rename

* Refactor to used shared implementation of distribution
2018-11-12 14:39:43 -08:00
Wesley Wigham eb21eb8e11 Ensure all default type params are mapped to some default even in circular scenarios (#28423)
* Ensure all default type params are mapped to some default even in circular scenarios

* Add js example, fix typo
2018-11-12 13:52:47 -08:00