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
Nathan Shively-Sanders
3b107fec3b
Fix @param type parameter lookup ( #39532 )
...
Previously, getObjectTypeInstantiation had special-case code to look up
type parameters for `@param` as if they were in the parameter location.
This should occur in the main lookup loop of `getOuterTypeParameters`,
however. The current code only runs once, which is not sufficient, and
it also jumps to the parameter for any type contained in a `@param`,
which skips type parameters that occur in the tag itself.
2020-07-10 08:42:25 -07:00
Armando Aguirre
ef81a0d0ee
Merge remote-tracking branch 'upstream/master' into AddToggleCommentFeature
2020-07-09 21:55:36 -07:00
Armando Aguirre
b81f240e96
PR comments
2020-07-09 18:35:54 -07:00
Sheetal Nandi
b397d1fd4a
Fixes searches for export * as 'identifier' ( #39533 )
...
* Fixes searches for export * as 'identifier'
Fixes #39006
* Fix the context span to export declaration (was incorrectly set to sourceFile in prev commit)
2020-07-09 13:45:43 -07:00
Ron Buckton
ae2f0068e3
Fix default import/export helper usage
2020-07-09 13:13:48 -07:00
ShuiRuTian
bf1ea6508b
fix static method reference non-static ( #38730 )
...
* fix static method reference non-static
* fix contextRangeIndex
* fix lint.
* fix style.
* update according to suggestion.
* continue fix.
* use every rather than foreach
* format
* fix
* add comment.
* fix according to review suggestions.
* Update src/services/findAllReferences.ts
* Update src/services/findAllReferences.ts
* Update src/services/findAllReferences.ts
* Update src/services/findAllReferences.ts
* Update src/services/findAllReferences.ts
Co-authored-by: Song Gao <song.gao@laserfiche.com >
Co-authored-by: Sheetal Nandi <shkamat@microsoft.com >
2020-07-09 12:21:12 -07:00
Jesse Trinity
8e9de9bed2
Fix39458 ( #39508 )
...
* remove undefined from optional parameter
* accept baselines
* use getTypeWithFacts
2020-07-09 11:17:18 -07:00
Alexander T
7c99086eb8
fix(39524): convert access property suggestion to string ( #39527 )
2020-07-09 11:08:44 -07:00
Andrew Branch
03c79d7422
Insert auto-imports in sorted order ( #39394 )
...
* Sort auto-imports
* Avoid re-checking sort all the time
* Add comment
2020-07-08 15:25:04 -07:00
Alexander T
48c19eebaf
fix(25155): add space before optional parameters/properties ( #38798 )
2020-07-08 13:38:15 -07:00
Wesley Wigham
dd2b2447d0
Add regression test for #38834 ( #39479 )
2020-07-08 13:32:15 -07:00
Sheetal Nandi
0f86c04af3
Fixes searches for symbols exported using export * as ( #39507 )
...
Fixes #39006
2020-07-08 13:31:21 -07:00
Alexander T
ebac7ec08f
fix(39421): omit prefix text for rest binding element ( #39433 )
2020-07-08 13:25:28 -07:00
Alexander T
8795458d6d
fix(39440): show QF for abstract classes with methods which include 'this' parameter ( #39465 )
2020-07-08 12:36:42 -07:00
Nathan Shively-Sanders
53a756ea63
Type this in more constructor functions ( #39447 )
...
* Type `this` in more constructor functions
Previously, `this: this` in constructor functions only when there was
an explicit `@constructor` tag on the function. Now, `this: this` for
any function that's known to be a constructor function.
This improves completions inside constructor functions; also note that
previously the compiler *did* type `this: this` inside methods of constructor
functions, so this fix makes us more consistent. This is reflected in
the large number of baselines that improve.
The fix is a simple switch to `isJSConstructor`, which is the standard
way to detect constructor functions. I'm not sure why the original PR
didn't use this method.
I remember discussing this limitation in the original bug, #25979 , and
I guess I decided that it made sense. But I was heavily primed by the bug's
framing of the problem in terms of `noImplicitThis`, which *should*
require an explicit `@constructor` tag.
With better typing comes better detection of `@readonly` assignment; I
had to fix the readonly detection code to use `isJSConstructor` as well.
* Remove `Add @class tag` fix for noImplicitThis.
The new rules mean that it never applies. It's possible that it should
apply to functions like
```js
function f() {
this.init()
}
```
In which `init` is never defined, but I think this program is incomplete
enough that not offering the fix is fine.
* Fix precedence of `@this`
Previously, both `@class` and `@this` in a jsdoc would cause the `@this`
annotation to be ignored. This became a worse problem with this PR,
because `this` is correctly typed even without the annotation.
This commit makes sure that `@this` is checked first and used if
present.
2020-07-08 08:44:17 -07:00
Ron Buckton
5c5f180f8e
Fix namespace import/export helper usage
2020-07-07 17:36:59 -07:00
Anders Hejlsberg
8c6b85835f
Properly handle rest parameters in function declarations with @type annotations ( #39473 )
...
* Properly handle rest parameters in function declarations with @type annotations
* Add tests
2020-07-07 16:35:37 -07:00
Wesley Wigham
d2b32b422f
Ensure type/namespaceish statics are included in the list of namespace merge members ( #38920 )
...
* Ensure type/namespaceish statics are included in the list of namespace merge members
* Simplit into two lines
* Update baseline post-merge
2020-07-07 16:28:09 -07:00