Commit Graph

3150 Commits

Author SHA1 Message Date
Wesley Wigham
08022d57c8 Allow calls on unions of dissimilar signatures (#29011)
* Add core of new union signature logic and test - needs intersection signature logic to fully work

* Add inversion of variance for class props lookup from union sig returns

* Fix lints

* Combine parameter names for nicer quick info

* PR feedback 1

* Fix miscopy

* PR feedback round 2

* Remove argument name combining because loc :(

* Nit cleanup round 3

* Reinline getTupleTypeForArgumentAtPos

* Remove a tad more

* No step on sneky off-by-one error
2018-12-19 16:35:01 -08:00
Kerem
de4803658e Disable truncation for codefixes in signatureToMethodDeclaration. (#28188) 2018-12-13 11:21:36 -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
dreamran43@gmail.com
47302147ab Move await keyword to inside of function and test 2018-12-04 01:19:51 +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
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
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
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
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
b059135c51 When adding relative completions with rootDirs, still add completions for regular relative imports (#28561) 2018-11-15 15:11:27 -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
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
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
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
Wesley Wigham
2b345cc8f8 Track type recusion and symbol instantiation depth seperately in createAnonymousTypeNode (#28490) 2018-11-12 15:45:36 -08:00
Andy
fe1ba9bee3 Improvements to generateTypes (#28458)
* Improvements to generateTypes

* createProperty only if necessary
2018-11-12 11:50:48 -08:00
Anders Hejlsberg
a2205ad53d Merge pull request #28429 from Microsoft/fixEmptyObjectIntersection
Fix empty object intersections
2018-11-10 00:44:57 -08:00
Sheetal Nandi
d6df82a77c Merge pull request #28454 from Microsoft/codeFixAfterPrologue
Include code fix after prologue
2018-11-09 16:56:43 -08:00
Sheetal Nandi
c60ff902f1 Include code fix after prologue
Fixes #15515
2018-11-09 16:02:16 -08:00
iliashkolyar
047b76f979 Merge branch 'master' into codefix_add_missing_new_operator 2018-11-10 01:45:11 +02:00
Daniel Rosenwasser
02ca5bebbf Merge pull request #28340 from saschanaz/listindent-revive
List position based formatting
2018-11-09 15:34:16 -08:00
Daniel Rosenwasser
2585ccbe39 Merge pull request #28281 from ryanclarke/master
Add codefix for 'convert to unknown' diagnostic
2018-11-09 14:43:25 -08:00
Andy
c0e5c80e53 Add exports of current module to getSymbolsInScope (#28442) 2018-11-09 12:48:10 -08:00
Andy
aaf1d8055b Support finding references at module in module.exports = or export in export = (#28221)
* Support finding references at `module` in `module.exports =` or `export` in `export =`

* Add json test
2018-11-09 09:38:45 -08:00
Markus Wolf
6bd298b884 add test for remove modifier and parameter 2018-11-09 09:45:12 +01:00
Markus Wolf
13e85ac3a9 add more modifiers 2018-11-09 09:45:12 +01:00
Markus Wolf
d411fa34a7 Add test case for codeFix 2018-11-09 09:45:11 +01:00
Kagami Sascha Rosylight
7995f9153a apply suggested changes 2018-11-09 11:26:58 +09:00
Sheetal Nandi
b534fb4849 Merge pull request #27980 from EECOLOR/leading-slash-imports
match leading slash imports with path mappings - fixes #13730
2018-11-08 09:20:45 -08:00
Anders Hejlsberg
e95ed29ca9 Fix fourslash test 2018-11-08 18:02:04 +01:00
Ryan Clarke
ecb88f5a3e Fix comments on pull request 2018-11-07 21:43:02 -05:00
EECOLOR
1a9c20949e path mappings now supports rooted disk paths and urls - fixes #13730 2018-11-07 22:19:04 +01:00
Daniel Rosenwasser
41d3f0ad57 Merge pull request #28071 from pesca/improveCodeFix
Improve code fix for missing members
2018-11-06 11:29:51 -08:00
Andy
c22c7e687d Strcter testing for global completions; and 'excludes' can only be a string (#28349) 2018-11-05 16:16:28 -08:00
Nathan Shively-Sanders
4cb210ce2e Parameters infer from body and call sites (#28342)
* Parameters infer from body usage and call sites

* Function expressions infer from variable decl usages

If the function expression is the initialiser of a variable declaration.

* Update isApplicableFunctionForInference too

* Update baseline
2018-11-05 11:29:16 -08:00
Kagami Sascha Rosylight
8ed21a8a6a adjust test: always indented inside a list 2018-11-05 21:45:19 +09:00
Kagami Sascha Rosylight
7bc40cead8 indent size 8 based on list startline indentation 2018-11-05 21:45:19 +09:00