10109 Commits

Author SHA1 Message Date
Sheetal Nandi
bd0c2103cf Merge branch 'master' into directoryWatcherInsteadOfFileWatch 2017-10-17 14:34:40 -07:00
Sheetal Nandi
a5861af00e Handle when directory watcher is invoked on file change
Fixes #19206
2017-10-17 14:13:12 -07:00
Sheetal Nandi
314172a988 Merge pull request #19239 from Microsoft/reduceWatchedDirectories
Do not watch root folders for failed lookup locations and effective type roots
2017-10-17 13:05:46 -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
08d7e182cd Mark fresh spread objects w/ContainsObjectLiteral 2017-10-17 09:56:04 -07:00
Sheetal Nandi
50628e73c5 Do not watch root folders for failed lookup locations and effective type roots
Fixes #19170
2017-10-16 18:40:21 -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
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
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
fa65bd2062 Mapped type { [P in any]: T } should yield { [x: string]: T } 2017-10-14 09:53:51 -07:00
Anders Hejlsberg
07ff0fdb81 Properly handle mapped types with 'keyof any' 2017-10-13 16:54:57 -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
50085bab27 Create truly unique names for tagged template strings. 2017-10-13 15:40:32 -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
Wesley Wigham
de0e475c64 Recreate old decorator metadata behavior (#19089)
* Emulate pre 2.4 metadata behavior of eliding null and undefined from unions without strictNullChecks

* Accept baseline

* Update comment

* Update for second old baseline

* Respect strict
2017-10-12 15:05:04 -07:00
Nathan Shively-Sanders
c2c18a8d06 Merge branch 'master' into refactor-jsdoc-types-to-typescript 2017-10-12 14:18:28 -07:00
Andrew Casey
98f04e6cfd Merge pull request #19135 from amcasey/GH18626
Introduce and consume suppressLeadingAndTrailingTrivia
2017-10-12 14:10:28 -07:00
Wesley Wigham
9af21eb00e Transform nested dynamic imports (#18998)
* Fix nested dynamic imports when targeting es6

* Fixup nested dynamic imports when targeting downlevel

* Remove duplicated expressions in UMD emit

* Code review feedback, clone arg if need be

* More CR feedback, apply user quotemark styles

* Remove blank lines

* Use behavior of visitEachChild instead of enw codepath, add new test, use createLiteral to retain quotemarks

* Set lib flag for test
2017-10-12 12:53:12 -07:00
Nathan Shively-Sanders
123347d5c4 Convert @template tag to type parameters in refactor 2017-10-12 11:40:07 -07:00
Andrew Casey
4de6b0dd2d Introduce and consume suppressLeadingAndTrailingTrivia
Fixes #18626
2017-10-12 11:34:34 -07:00
Nathan Shively-Sanders
54ad9a6c82 Merge pull request #19112 from Microsoft/fill-missing-type-arguments-during-error-reporting
Fill missing type arguments during error reporting
2017-10-12 11:02:25 -07:00
Nathan Shively-Sanders
27b4417304 Assert:checkTypeArguments isn't passed too many type arguments 2017-10-12 10:38:02 -07:00
Mohamed Hegazy
260d37e8ea Merge branch 'master' into refactor-jsdoc-types-to-typescript 2017-10-12 10:23:21 -07:00
Mohamed Hegazy
4487917f89 Quick fix for no-implicit-any errors to add explicit type annotation (#14786)
* Infer from usage quick fix

* Change full function singature

* Add property/element access support

* Fix a few issues

* Some cleanup

* Expose getArrayType and getPromiseType

* Switch to collecting all usage before infering

* Infer array and promise type arguments

* Handel enums in binary operators

* consolidate usage of addCandidateTypes

* Handel rest paramters

* Properly handel `+=` and `+` inference for numbers and strings

* Add print quickfixes debug helper

* Add rest param tests

* Add optional paramter tests

* Handel set accessors

* Support getters

* Support no implicit any error for variable at use site

* Support properties

* Only offer quick fix if an infered type other than any is available

* Rename functions

* Move to a separate namespace

* Check cancellation token

* Cleanup

* Check for accesibile symbols where serializing types

* Remove JS support

* Reorganize functions

* Mark APIs as internal

* Fix lint errors

* Removed conflict markers.

* Update 'createSymbol' to use '__String'.

* Fixed most problems relating to '__String' and 'includeJsDocComments' in the fix itself.

* Addressed most API changes.

* Make all helpers internal

* Use a diffrent writer and not the built-in single line write

* Infer types for all parameters in a parameter list instead of one at a time

* Accept baselines

* Code review commments

* Respond to code review comments
2017-10-12 10:14:58 -07:00
Nathan Shively-Sanders
8ea13bef48 Fix lint 2017-10-12 10:11:09 -07:00
Nathan Shively-Sanders
da0c79f2a3 Simplify checkTypeArguments based on PR comments 2017-10-12 10:09:52 -07:00
Sheetal Nandi
5a776e28ba Merge pull request #19088 from Microsoft/resolutionCacheDefensiveChecks
Function to clear the per directory resolution
2017-10-12 08:55:17 -07:00
Anders Hejlsberg
728d2a92ce Merge pull request #19091 from Microsoft/fixAnonymousTypeInstantiation
Fix anonymous type instantiation
2017-10-12 00:54:14 +01:00
Andrew Casey
bada0095ed Merge pull request #18979 from amcasey/DeepClone
Introduce getSynthesizedDeepClone
2017-10-11 16:36:25 -07:00
Anders Hejlsberg
6cf41ae882 Merge pull request #19107 from Microsoft/fixRecursiveCallbacks
Fix checking of recursive callback types
2017-10-12 00:28:16 +01:00
Anders Hejlsberg
9ef417b846 Account for type queries in type literals 2017-10-11 16:02:58 -07:00
Nathan Shively-Sanders
d00ab417c6 checkTypeParameters now always calls fillMissingTypeArguments
And refactor checkTypeParameters to be easier to use and to read.
2017-10-11 15:58:54 -07:00
Wesley Wigham
b949245336 Add ValueModule as a valid object literal type, as they are immutable (#19090)
* Add ValueModule as a valid object literal type, as they are immutable

* Rename method based on usage
2017-10-11 15:13:33 -07:00
Nathan Shively-Sanders
3fef16008d Fill missing type arguments during error reporting
Previously, only the success path did this; it was missing in the error
reporting path in resolveCall. This resulted in crashes for unsupplied
type arguments when the supplied type arguments were incorrect.
2017-10-11 14:01:25 -07:00
Nathan Shively-Sanders
d7424b00b2 Merge branch 'master' into refactor-jsdoc-types-to-typescript 2017-10-11 13:41:45 -07:00
Nathan Shively-Sanders
4930cad653 Convert all JSDoc parameters and return types of functions 2017-10-11 13:33:31 -07:00
Nathan Shively-Sanders
461e29bbd8 Merge pull request #18965 from Microsoft/set-symbol-on-union-of-spreads
Set symbol on union that is returned from `getSpreadType`
2017-10-11 13:25:45 -07:00
Ron Buckton
73d06f796d Merge pull request #19056 from Microsoft/fix16221
Fix recursive reference in type parameter default
2017-10-11 12:49:35 -07:00
Sheetal Nandi
bce77fdfd9 Merge pull request #18960 from Microsoft/builderHandlesChangeInResolution
Builder handles changes in resolution/references when file's contents dont change
2017-10-11 12:11:44 -07:00
Anders Hejlsberg
81fc2a14d1 Don't check for callbacks in recursive call that resulted from callbacks 2017-10-11 12:01:26 -07:00
Ron Buckton
d08770bdff Merge pull request #19046 from Microsoft/fix15395
Fix emit for classes with both fields and 'extends null'
2017-10-11 11:49:22 -07:00
Sheetal Nandi
142a88a4ae Update the comment on emit handler method 2017-10-11 10:51:46 -07:00