Wenlu Wang
57e2fe0462
Improve deprecated suggestion node position ( #39702 )
...
* Improve deprecated suggestion node position
* fix typo
* Simplify code
* merge helper function
2020-08-10 17:37:11 -07:00
Wenlu Wang
a80f60c6d6
fix export * as default syntax ( #39803 )
...
* fix export * as default syntax
* update comments
2020-08-10 16:56:45 -07:00
Nathan Shively-Sanders
1ec71f0e0c
Bind alias ThisProperty assignment declarations ( #39908 )
...
* Bind alias ThisProperty assignment declarations
This is a quick prototype that does the wrong thing at the wrong time
with the wrong technique.
* Preliminary checker handling for aliases
Duplicative and untested, but I think I updated all the places that need
updating.
* new is error; old one should not have been removed
* I don't even know what's happening with this test
* cleanup and testing in the checker
* binder: use lookupSymbolForNameWorker instead of mutable
This should have about the same behaviour and is much easier to
understand.
Also refactor common code a bit.
* Shorter name of lookupSymbolForName
Once upon a time there was a parent/worker function, but now it's just a
single function again. No need for the -Worker suffix.
* remove oodate comment
* fix switch-case-break lint
* Refactor and move functions
* Rename and improve type of getContextualTypeForAssignmentDeclaration
2020-08-10 16:45:55 -07:00
Nathan Shively-Sanders
3328fdb2d8
Use isUncalledFunctionReference for aliases too ( #39950 )
...
* Use isUncalledFunctionReference for aliases too
Fixes bogus deprecated notices on imports of functions with deprecated
overloads, but with some non-deprecated overloads.
Fixes microsoft/vscode#104238
* Just check all declarations, don't call isUncalledFunction
2020-08-07 10:07:55 -07:00
Jesse Trinity
91a7c359b3
Insert auto imports after header comment ( #39924 )
...
* place first import after header
* don't insert before non-header
2020-08-06 13:33:29 -07:00
Ron Buckton
fca9f451d8
Add missing 'importName' for private field helpers ( #39932 )
2020-08-06 13:27:19 -07:00
Andrew Branch
7f4e1b699a
Find tagless JSDoc as preceding token ( #39912 )
2020-08-05 10:09:45 -07:00
Nathan Shively-Sanders
c9f05af2c8
Merge pull request #37891 from Neonit/jsDocIndentationPreservation
...
Fix indentation preservation in JSDoc (#37717 )
2020-08-04 16:09:50 -07:00
Wesley Wigham
94989789df
In JS declaration emit, move imports painted in nested contexts to the root private context ( #39818 )
...
* In JS declaration emit, move imports painted in nested contexts to the root private context
* Add test for nathan
2020-07-31 18:25:37 -07:00
Nathan Shively-Sanders
d3877d294c
Redo in narrowing for intersections ( #39637 )
...
* Redo in-narrowing for intersections
Still need to carve out an exception for globalThis
* exempt globalThis from `in` narrowing
2020-07-30 14:58:22 -07:00
Ron Buckton
32934a9989
Merge pull request #39824 from microsoft/fix35484
...
Allow assignments to a narrowable reference to be considered narrowable
2020-07-30 15:27:34 -04:00
Andrew Branch
7119e2b74f
The iteration type of overloaded iterator signatures derives from the intersection of their return types ( #39722 )
2020-07-30 11:37:04 -07:00
Orta Therox
faf128de15
Fix formatting scanner on JSX text that looks like trivia ( #39718 )
...
* Fix formatting scanner on JSX text that looks like trivia
* Combine if statements
Co-authored-by: Andrew Branch <andrew@wheream.io>
2020-07-30 13:56:14 -04:00
mshivaku99
bffe3540fa
Issue35876: Give better error message when Classic Module Resolution with incorrect path ( #38105 )
...
* added Error 5084 to diagnosticMessages.json
* added test case errorForBareSpecifierWithImplicitModuleResolution1 to tests/cases/compiler
* modified checker.ts to report error 5084 when classic resolution and incorrect path are used
* added baseline changes
* passes all test cases including src/testRunner/unittests/ tests
* Update with feedback
* Make it check whether it is the right module resolution kind
* Use the right diagnostic message in tsserver tests
Co-authored-by: Meera Shivakumar <mshivaku@umich.edu>
Co-authored-by: Orta <git@orta.io>
2020-07-30 13:45:29 -04:00
Eli Barzilay
a320e1b554
Make getLocalSymbolForExportDefault look harder for an export
...
Look for a symbol that has a `.localSymbol` property instead of blindly
using the first one.
Fixes #37829 .
2020-07-30 13:09:21 -04:00
Ron Buckton
b9db6413bf
Allow assignments to a narrowable reference to be considered narrowable
2020-07-29 16:37:25 -07:00
Nathan Shively-Sanders
9b2d487392
Fix this-parameter emit for JSDocFunction types ( #39814 )
...
* Fix this parameter emit for JSDocFunction types
Previously, parameters with names that were not `new` were treated like
rest parameters. This is incorrect: parameters with the name `this`
should emit a `this` parameter.
Fixes #38550
* ❤️ quote style
2020-07-29 14:11:59 -07:00
Eli Barzilay
f2d1531768
Fix location for duplicate function implementation errors
...
Use only the relevant declarations (by collecting them in the for loop),
and use `declaration` if `getNameOfDeclaration` didn't work (useful for
`export default` with anonymous functions).
Fixes #39804 .
Also, use `nodeIsPresent` once, and a random `?.`.
2020-07-29 16:07:00 -04:00
Andrew Branch
1f1521c2f1
Undo accidental change from #39772 ( #39779 )
...
* Undo accidental change
* Delete test
2020-07-27 16:55:59 -07:00
Andrew Branch
68ba670467
Add contextual type for generator return type ( #39772 )
...
* WIP
* Add contextual type for generator return type
2020-07-27 15:14:47 -07:00
Sheetal Nandi
48e58f44db
Handle unresolved baseType when trying to get completions for static member ( #39731 )
...
* Handle unresolved baseType when trying to get completions for static member
Fixes #38067
* Update src/services/completions.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* correct the condition
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-07-24 16:37:28 -07:00
Anders Hejlsberg
c5d21e7987
Lower priority for speculative variadic tuple inferences ( #39723 )
...
* Inference to [...T, X?] has lower priority than inference to [...T, X]
* Update tests
* Accept new API baselines
2020-07-24 15:00:53 -07:00
Andrew Branch
ec33814616
Make AutoImportProviderProject work with symlinked monorepos ( #39679 )
...
* Hack everything together
* Add test
* Remove realpath from program
* Ensure symlinked directories are directories
* Revert unnecessary change
* Update baselines
* Use host program realpath on AutoImportProviderProject files before program creation
* Which fixes hasRoots() too
* Apply suggestions from code review
Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
* Lint
Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
2020-07-22 13:53:30 -07:00
Andrew Branch
b834096998
Fix emit/formatting issues in refactors ( #39506 )
...
* Fix #37948
* Fix formatter skipping tab/space fixup on comments, handle trailing commas in list closing line count.
Fixes #37944
* Add newline between imports and main body of new file in moveToNewFile
Fixes #37941
* Update baseline (probably broken before?)
2020-07-22 10:31:42 -07:00
Song
e76d17257a
Fix 38219: signature helper works for optional function condition. ( #39672 )
...
* fix optional fuction condition.
* Adds a test
Co-authored-by: Orta <git@orta.io>
2020-07-22 12:30:21 -04:00
Song
8a05707559
Fix 31995: make cached key more precise to avoid returning wrong cached value. ( #39670 )
...
* fix 31995
* revert useless change only for debug.
* add test
2020-07-22 12:26:17 -04:00
Song
294a0406e3
not escape unicode char for import path string. ( #39463 )
...
* not escape unicode char for import path string.
* fix test.
2020-07-22 11:28:29 -04:00
Song
5484687384
switch typeof any could be checked for unreachable ( #39389 )
...
* switch typeof any could be checked for unreachable
* fix stupid error
* support unknown
* remvoe use less code.
* fix spelling.
2020-07-21 13:51:27 -04:00
Song
d897646a4a
fix 39453 ( #39579 )
...
* fix 39453
* add restriction.
* add tests
* comment.
* fix as suggestion.
2020-07-21 09:40:25 -07:00
Anders Hejlsberg
94d6b4507e
Consistent errors on circular base types ( #39675 )
...
* Properly track and report errors on circular base types
* Accept new baselines
* Add regression test
2020-07-20 20:35:47 -07:00
Alexander T
92f41c81fb
tests(39373): add addition tests ( #39631 )
2020-07-17 13:30:57 -07:00
Alexander T
4e24b1b00d
fix(39373): add diagnostic message about using a private name for class declarations without name ( #39567 )
2020-07-16 17:05:33 -07:00
Alexander T
6430211f8f
fix(38868): add separator for type parameters ( #39621 )
2020-07-16 10:58:16 -07:00
Anders Hejlsberg
db79030410
Support variadic tuple inference from trailing optional to non-optional ( #39614 )
...
* Permit variadic tuple inference from trailing optional to non-optional
* Add tests
2020-07-15 17:46:48 -07:00
uhyo
b6f09ccf06
Better error message for unparenthesized function/constructor type notation in union/intersection types ( #39570 )
...
* add graceful error message for unparenthesized function types in union and intersection
* add unparenthesizedFunctionTypeInUnionOrIntersection test
* add unparenthesizedConstructorTypeInUnionOrIntersection test
* Update src/compiler/parser.ts
Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
* pass isInUnionType to parseFunctionOrConstructorTypeToError
* Apply suggestions from code review
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* syntax fix
* refactor isStartOfFunctionType into isStartOfFunctionTypeOrConstructorType
* Update src/compiler/parser.ts
Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
* hoist isUnionType
Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-07-15 14:43:56 -07:00
Sheetal Nandi
37e6e2761c
Do not resolve require calls in typescript files even if it contains dynamic import ( #39617 )
...
* Existing tests showing require in ts file is not used for module resolution
* Do not resolve require calls in typescript files even if it contains dynamic import
Fixes #38611
2020-07-15 14:31:55 -07:00
Wesley Wigham
f2c5643056
Flag mapped types with circular property types and do not attempt to print them structurally ( #39552 )
2020-07-15 11:19:43 -07:00
Wenlu Wang
fcd4fcb3d7
Use combined node flags ( #39403 )
2020-07-15 09:22:12 -07:00
Wenlu Wang
7b728754c0
Fix incorrect deprecated mark ( #39611 )
...
* Fix incorrect deprecated mark
* improve test
2020-07-15 08:47:25 -07:00
Andrew Branch
dd2fc86f2b
Don’t give all instantiated signatures in JS strict arity ( #39606 )
2020-07-14 18:56:50 -07:00
Wesley Wigham
ef9affe2f6
Use jsxFragmentFactory entity name for factory name lookup from checking fragments ( #39475 )
2020-07-14 17:25:45 -07:00
Alexander T
ececf3b0a7
fix(33511): show jsx namespace default import quick fix if it does not exists in the current scope ( #38419 )
2020-07-14 15:43:18 -07:00
Jesse Trinity
17022388bd
Add refactor convertToOptionalChainExpression ( #39135 )
...
* add convertOptionalChain
* cover more cases
* expose containsMatchingReference
* clean up performing edits
* bound start position
* add tests
* refactor and handle edge cases
* update tests
* consider explicit requests for empty spans
* update fourslash to use trigger reason
* add tests cases for trigger reason
* fix errors
* remove type assertion
* fix non ampersand chains
* clean up some logic
* add ternary case
* add diagnostic message
* add nullish check for ternary expressions
* Update src/services/refactors/convertToOptionalChainExpression.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Update src/services/refactors/convertToOptionalChainExpression.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Update tests/cases/fourslash/refactorConvertToOptionalChainExpressionForTriggerReason3.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Update tests/cases/fourslash/refactorConvertToOptionalChainExpressionForTriggerReason1.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* reformat and remove unused checks
* allow any for ternary refactor
* add tests
* add tests
* check return and variable statements
* use isMatchingReference instead of containsMatchingReference
* allow partial selections
* fine tune selection ranges
* recurse for call expressions
* fix spellings
* add recursive cases
* remove isOrContainsMatchingReference
* cleanup
* more refactoring
* cleanup
* rename tests
* address PR comments
* check match syntactically
* handle another call expression case
* some renames
* inline some checks
* add test
* address comments
* add refactorNotAvailableReason
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-07-13 19:33:33 -07:00
Armando Aguirre
6279f981b3
Merge pull request #37029 from armanio123/AddToggleCommentFeature
...
Add ToggleLineComment and ToggleMultilineComment service
2020-07-13 17:48:50 -07:00
Andrew Branch
3c91133f97
Fix find-all-references on undefined ( #39591 )
...
* Fix find-all-references on `undefined`
* Show references in input files in baseline
* Inline commentEachLine
* firstOrUndefined doesn’t take undefined
2020-07-13 17:21:16 -07:00
Armando Aguirre
635ee24a3c
Merge remote-tracking branch 'upstream/master' into AddToggleCommentFeature
2020-07-13 16:58:19 -07:00
Ron Buckton
5ad8532a11
Merge branch 'master' into fix37113
...
# Conflicts:
# src/compiler/transformers/module/module.ts
2020-07-13 11:13:35 -07:00
Andrew Branch
583bd92bc4
Don’t create expando declarations on alias symbols ( #39558 )
...
* Don’t create expando declarations on alias symbols
* Update other baseline
* Fix brace nesting refactor mistake
2020-07-13 10:05:48 -07:00
Armando Aguirre
0d38f09e36
PR comments and minor bugs
2020-07-10 17:44:02 -07:00
Anders Hejlsberg
c335aad665
Remove object literal freshness in control flow based array types ( #39518 )
...
* Remove object literal freshness in control flow based array types
* Add regression test
2020-07-10 10:18:15 -07:00