Commit Graph

6670 Commits

Author SHA1 Message Date
Andrew Casey
a89c055a48 Merge pull request #19578 from amcasey/GH19395
Don't pass synthesized node to typeToTypeNode
2017-10-30 16:35:20 -07:00
Anders Hejlsberg
7f4a132af9 Merge pull request #19564 from Microsoft/fixGenericMappedTypeRelationships
Fix generic mapped type relationships
2017-10-30 12:42:24 -07:00
Ron Buckton
91c37f72d3 Merge pull request #19401 from Microsoft/fix19349
Remove escaped names of well known symbols from string completions
2017-10-30 12:37:13 -07:00
Andy
f0da3d7336 Fix declaration emit for typeof default export (#19471)
* Fix declaration emit for `typeof` default export

* Add comment
2017-10-30 11:40:32 -07:00
Andrew Casey
d8aafeef0a Add regression test for #19395
Thanks to @mjbvz for finding it and @sandersn for reducing it.
2017-10-30 11:21:22 -07:00
Andy
212efd5c7b In quick info, show all jsdoc tags (#19357) 2017-10-30 10:27:19 -07:00
Anders Hejlsberg
ec2aecf90e Add tests 2017-10-29 16:49:43 -07:00
Anders Hejlsberg
14b7e755ef Add tests 2017-10-26 14:56:54 -07:00
Andy
9c96eee7a4 Support completion details for special JsDoc completions (#19494) 2017-10-26 10:58:33 -07:00
Andy
9615e54e13 Support multiple completions with the same name but different source module (#19455)
* Support multiple completions with the same name but different source module

* Use optional parameters for source

* Simplify use of `uniques`

* Update test

* Fix `undefined` error
2017-10-26 08:22:17 -07:00
Andrew Casey
1b6e991924 Demote some extraction ranges to produce better results
Attempt to extract return expressions, rather than return statements, and
initializers, rather than variable declarations.
2017-10-24 11:13:49 -07:00
Ron Buckton
a0412da4fa Merge branch 'master' into fix19349 2017-10-23 14:51:05 -07:00
Andy
f916e38015 For @types installing quickfix, only activate for implicit-any module (#19394) 2017-10-23 13:36:36 -07:00
Anders Hejlsberg
414f165df0 Add tests 2017-10-23 12:36:44 -07:00
Ron Buckton
a31ce789f4 Remove escaped names of well known symbols from string completions 2017-10-21 17:19:46 -07:00
Andy
8b7d859fb3 Make it a noImplicitAny error to fail to provide type arguments to a superclass via @augments (#18778)
* Make it a noImplicitAny error to fail to provide type arguments to a superclass via @augments

* Don't recommend to add an @augments tag if it already exists

* Suggestions from code review

* Shorten error message
2017-10-20 09:41:19 -07:00
Nathan Shively-Sanders
1ea1254e8e Merge pull request #19355 from Microsoft/sandersn/fix-getParameterSymbolFromJSDoc
fix getParameterSymbolFromJSDoc
2017-10-19 19:35:10 -07:00
Anders Hejlsberg
8a227674ce Merge pull request #19319 from Microsoft/fixMappedTypeInferenceErrors
Fix mapped type inference errors
2017-10-19 18:13:04 -07:00
Mohamed Hegazy
8adbcefbbb Merge pull request #19149 from Kingwl/fix-incorrect-super-without-base-class
fix super call from class that has no basetype but with same symbol (#19068)
2017-10-19 17:32:42 -07:00
Nathan Shively-Sanders
8cc2af59b1 More tests for getParameterSymbolFromJSDoc 2017-10-19 16:22:05 -07:00
Nathan Shively-Sanders
ecdc4b363e Test:jsdoc @param errors on vardecls/assignments 2017-10-19 09:12:49 -07:00
Wesley Wigham
8212c962cd Workaround for nonnull operator on indexed accesses (#19275)
* Quick and dirty workaround

* Add third case to show current behavior

* Rename variable, replace elaboration from comment with links
2017-10-18 17:39:05 -07:00
Anders Hejlsberg
f8d9079c47 Add regression test 2017-10-18 16:59:43 -07:00
Andy
e5f8287e5c findAllRefs: Support anonymous default export (#19302) 2017-10-18 15:46:39 -07:00
Nathan Shively-Sanders
b40e18df00 Merge pull request #19304 from Microsoft/dedupe-jsdoc-annotation-refactors
Fixes for refactor "Annotate with type from JSDoc"
2017-10-18 14:50:13 -07:00
Nathan Shively-Sanders
2473ffcaac Add a better test for jsdoc index signatures.
The test case shows that the errorenous error no longer appears.
2017-10-18 13:06:15 -07:00
Nathan Shively-Sanders
c13506e70c Update annotateWithTypeFromJSDoc tests
1. Object literals are single-line now.
2. Index signatures transform to TS index signatures.
3. The refactoring is only available when it could add types.
2017-10-18 13:04:13 -07:00
Andy
3220ebc182 Disambiguate same-named refactors using description (#19267)
Disambiguate same-named refactors using actionName
2017-10-18 10:23:18 -07:00
Mohamed Hegazy
0c1730a218 Fix #19257: Ensure a generated signature has a return type (#19264)
* Fix #19257: Ensure a generated signature has a return type

* Ensure generated properties have types

* Use the same context for multiple inferences to the same property access
2017-10-17 16:51:22 -07:00
Nathan Shively-Sanders
e962e4abfb Update baselines 2017-10-17 16:35:28 -07:00
Andy
d05443bb1d Add quickfix and refactoring to install @types packages (#19130)
* Add quickfix and refactoring to install @types packages

* Move `validatePackageName` to `jsTyping.ts`

* Remove combinePaths overloads

* Respond to code review

* Update api baselines

* Use native PromiseConstructor

* Return false instead of undefined

* Remove getProjectRootPath

* Update api
2017-10-17 15:04:09 -07:00
Andy
28509e1732 noUnusedLocals: Warn for recursive call to private method (#18920) 2017-10-17 11:57:47 -07:00
Nathan Shively-Sanders
487504da46 Merge pull request #19250 from Microsoft/mark-fresh-spread-types-with-ContainsObjectLiteral
Mark fresh spread types with ContainsObjectLiteral
2017-10-17 11:01:34 -07:00
Andy
2b566b9a53 Add exported members of all project files in the global completion list (#19069)
* checker.ts: Remove null check on symbols

* tsserverProjectSystem.ts: add two tests

* client.ts, completions.ts, types.ts: Add codeActions member to CompletionEntryDetails

* protocol.ts, session.ts: Add codeActions member to CompletionEntryDetails protocol

* protocol.ts, session.ts, types.ts: add hasAction to CompletionEntry

* session.ts, services.ts, types.ts: Add formattingOptions parameter to getCompletionEntryDetails

* completions.ts: define SymbolOriginInfo type

* completions.ts, services.ts: Add allSourceFiles parameter to getCompletionsAtPosition

* completions.ts, services.ts: Plumb allSourceFiles into new function getSymbolsFromOtherSourceFileExports inside getCompletionData

* completions.ts: add symbolToOriginInfoMap parameter to getCompletionEntriesFromSymbols and to return value of getCompletionData

* utilities.ts: Add getOtherModuleSymbols, getUniqueSymbolIdAsString, getUniqueSymbolId

* completions.ts: Set CompletionEntry.hasAction when symbol is found in symbolToOriginInfoMap (meaning there's an import action)

* completions.ts: Populate list with possible exports (implement getSymbolsFromOtherSourceFileExports)

* completions.ts, services.ts: Plumb host and rulesProvider into getCompletionEntryDetails

* completions.ts: Add TODO comment

* importFixes.ts: Add types ImportDeclarationMap and ImportCodeFixContext

* Move getImportDeclarations into getCodeActionForImport, immediately after the implementation

* importFixes.ts: Move createChangeTracker into getCodeActionForImport, immediately after getImportDeclarations

* importFixes.ts: Add convertToImportCodeFixContext function and reference it from the getCodeActions lambda

* importFixes.ts: Add context: ImportCodeFixContext parameter to getCodeActionForImport, update call sites, destructure it, use compilerOptions in getModuleSpecifierForNewImport

* importFixes.ts: Remove moduleSymbol parameter from getImportDeclarations and use the ambient one

* importFixes.ts: Use cachedImportDeclarations from context in getCodeActionForImport

* importFixes.ts: Move createCodeAction out, immediately above convertToImportCodeFixContext

* Move the declaration for lastImportDeclaration out of the getCodeActions lambda into getCodeActionForImport

* importFixes.ts: Use symbolToken in getCodeActionForImport

* importFixes.ts: Remove useCaseSensitiveFileNames altogether from getCodeActions lambda

* importFixes.ts: Remove local getUniqueSymbolId function and add checker parameter to calls to it

* importFixes.ts: Move getCodeActionForImport out into an export, immediately below convertToImportCodeFixContext

* completions.ts: In getCompletionEntryDetails, if there's symbolOriginInfo, call getCodeActionForImport

* importFixes.ts: Create and use importFixContext within getCodeActions lambda

* importFixes.ts: Use local newLineCharacter instead of context.newLineCharacter in getCodeActionForImport

* importFixes.ts: Use local host instead of context.host in getCodeActionForImport

* importFixes.ts: Remove dummy getCanonicalFileName line

* Filter symbols after gathering exports instead of before

* Lint

* Test, fix bugs, refactor

* Suggestions from code review

* Update api baseline

* Fix bug if previousToken is not an Identifier

* Replace `startsWith` with `stringContainsCharactersInOrder`
2017-10-17 10:20:11 -07:00
Nathan Shively-Sanders
e58aa10068 Test excess property checks of spreads of unions. 2017-10-17 09:56:28 -07:00
Ron Buckton
06fd5e0bfe Merge pull request #19230 from Microsoft/fix18186
Do not reduce subtypes of awaited union type
2017-10-16 15:17:30 -07:00
Ron Buckton
eebb0447ab Fix generated name scope when emitting async functions 2017-10-16 14:47:43 -07:00
Ron Buckton
9563246993 Do not reduce subtypes of awaited union type 2017-10-16 14:26:16 -07:00
Wesley Wigham
aea7e9a7a8 Fix instantiated generic mixin declaration emit (#19144)
* Fix #18545, dont use declared type of class expression

* Accept API Baselines

* Add thus far unused flag from node builder

* Accept baseline update
2017-10-16 14:17:55 -07:00
Arthur Ozga
63074bcba0 Merge pull request #16695 from aozgaa/fixIifeIndentation
Fix indentation for function argument in call expression
2017-10-16 14:03:25 -07:00
Andy
2cb0403e2d Support 'package.json' not in package root (#19133)
* Support 'package.json' not in package root

* Test "foo/@bar"

* More tests, and don't use "types" from the root package.json if not loading the root module
2017-10-16 13:02:15 -07:00
Wesley Wigham
40222d1a77 Fix for-in emit under systemjs (#19223) 2017-10-16 12:57:23 -07:00
kingwl
30c51ed324 fix super call from class that has no basetype but with same symbol interface (#19068) 2017-10-16 10:42:22 +08:00
Anders Hejlsberg
d4c0377395 Merge pull request #19185 from Microsoft/fixMappedTypesKeyofAny
Fix 'any' and 'keyof any' in mapped types
2017-10-14 12:12:25 -07:00
Mohamed Hegazy
1f63fbbc08 Merge branch 'fix11857' of https://github.com/RyanCavanaugh/TypeScript into RyanCavanaugh-fix11857 2017-10-14 11:31:39 -07:00
Anders Hejlsberg
ee0715a073 Add tests 2017-10-14 11:13:40 -07:00
Daniel Rosenwasser
144026cd3b Merge pull request #19174 from Microsoft/correctlyScopedtaggedTemplates-master
Fix uniqueness for tagged template variables
2017-10-13 16:54:47 -07:00
Daniel Rosenwasser
16f7f6f2e9 Added test case. 2017-10-13 15:40:31 -07:00
Andy
769d202d4c In getContextuallyTypedParameterType, skip a this parameter when counting parameter index (#19155) 2017-10-13 14:53:52 -07:00
Nathan Shively-Sanders
22769d95e1 Merge pull request #18747 from Microsoft/refactor-jsdoc-types-to-typescript
Refactor jsdoc types to typescript
2017-10-13 10:21:54 -07:00