16080 Commits

Author SHA1 Message Date
Andy
55bffba5fd
Use getTextOfNode over getTextOfNodeFromSourceText(getSourceFileOfNode(node)) (#22387) 2018-03-08 07:52:35 -08:00
Andy
0605424852
fixJSDocTypes: Use ChangeTracker (#22391) 2018-03-08 07:52:03 -08:00
Andy
2676786e7f
Add 'isNamedDeclaration' helper to reduce casts (#22089)
* Add 'isNamedDeclaration' helper to reduce casts

* Add assertion

* Remove assertion
2018-03-08 07:50:25 -08:00
Wesley Wigham
88ba1ef2de
Platform independent wildcard file include ordering (#22393)
* Resolve config wildcards result order in a platform independent manner

* Accept affected user test baseline

* Per reccomendation, just change matchFiles

* Add test asserting the same order on differing case sensitive platforms
2018-03-07 19:54:19 -08:00
Wesley Wigham
45eaf42006
Use single replacer for string escaping (#22335) 2018-03-07 17:36:31 -08:00
Andy
1f7a5097fa
When every import is unused, error on the entire import declaration (#22386)
* When every import is unused, error on the entire import declaration

* Code review

* Store key in map value
2018-03-07 14:42:09 -08:00
Mohamed Hegazy
963acb3c02
Port generated lib files (#22381)
* Port generated lib files

* Accept baselines
2018-03-07 14:41:32 -08:00
Andy
e5804aefde
inferFromUsage: use ChangeTracker and typeToTypeNode (#22379)
* inferFromUsage: use ChangeTracker and typeToTypeNode

* Use typeToTypeNode with SymbolTracker

* Add comment
2018-03-07 14:40:50 -08:00
Andy
0be9ee2871
Increase size of span for unused declaration (#22388) 2018-03-07 14:14:11 -08:00
Andy
c0ac687a8f
Mark SymbolTracker as deprecated publicly (#22384) 2018-03-07 11:25:29 -08:00
Sheetal Nandi
36b45e3f13
Merge pull request #22343 from Microsoft/codeFixActionNotUndefined
Create the action only if the text change creation is successful.
2018-03-06 12:31:04 -08:00
Mohamed Hegazy
b2dd610e92
Fix ignore message indentation (#22340)
* Update baselines for user tests

* Add explicit indentation

* Fix https://github.com/Microsoft/TypeScript/issues/21355: Format `// @ts-ignore` added by quick fix

* Extract check to a separate function

* Consolidate checking for valid insert location

* Code review comments

* Do not return makeChange
2018-03-06 12:19:19 -08:00
Andy
2fb7e643f4
Simplify suppressLeadingAndTrailingTrivia (#22356) 2018-03-06 11:34:33 -08:00
Sheetal Nandi
70944428a1 Create the action only if the text change creation is successful. …
Make change for the infer type from usage could return undefined even if type is present if the type cannot be named
Fixes #22184
2018-03-06 11:03:20 -08:00
Sheetal Nandi
6f6c40186f Add test for undefined action returned
Test for #22343
2018-03-06 11:00:41 -08:00
Andy
a138985448
isValidMethodAccess: Instantiate signature this type if necessary (#21722) 2018-03-06 10:18:06 -08:00
Andy
e5f91f5948
Convert annotateWithTypeFromJSDoc refactor to a codefix (#22336)
* Convert annotateWithTypeFromJSDoc refactor to a codefix

* Compute isJsFile once at top
2018-03-06 07:49:21 -08:00
Josh Goldberg
7826b38426 Apply 'no-unnecessary-initializer' lint rule (#22014)
* Apply 'no-unnecessary-initializer' lint rule

Forbids `let`/`const` statements to be initialized to `undefined`, since that's the initial value by default anyway.
The auto-fixer also happened to remove two unnecessary `as number` casts in `src/harness/parallel/worker.ts`.

For historical data: to run with `--fix`, I modified the line in `Jakefile.js` that declared the `cmd` for running TSLint.

* Moved worker.ts type assertions to parameters
2018-03-06 07:30:40 -08:00
Andy
5e593acad9
Avoid cast by providing type predicate to isExternalModuleAugmentation (#22119)
* Avoid cast by providing type predicate to isExternalModuleAugmentation

* Break into isExternalModuleAugmentation and isModuleAugmentationExternal
2018-03-06 07:27:36 -08:00
csigs
449e2aaaf7 LEGO: check in for master to temporary branch. 2018-03-06 05:10:16 +00:00
Wesley Wigham
48b63187c6
Remove TypeFacts.Discriminatable (#22346) 2018-03-05 15:51:47 -08:00
Wesley Wigham
2f0a13c7c3
Use global NonNullable type for nonnull types (#22096)
* Use NonNullable type for nonnull types

* Add noLib test

* Remove conditional type fallback for when lib is not present
2018-03-05 14:52:06 -08:00
Andy
4ddf045d6a
For <div a= >, after =, do not try to parse an expression (#21373) 2018-03-05 14:38:55 -08:00
Wesley Wigham
16bf02991d
Allow indexing generics with unique symbols (#22339)
* Allow indexing generics with unique symbols

* Move condition to assert
2018-03-05 13:58:19 -08:00
Wesley Wigham
53ae507545
Add inference priority for mapped type keys (#22246)
* Add inference priority for mapped type keys

The new priority causes union inference, similarly to return type

* Rename priority

* Fix comment typo
2018-03-05 13:19:00 -08:00
Andy
2ac2291b84
Convert use-default-import refactor to a codefix (#22334) 2018-03-05 12:43:01 -08:00
Anders Hejlsberg
07ed899b46 Merge branch 'master' into checkInferredConstraints 2018-03-05 06:32:11 -08:00
Anders Hejlsberg
70818ae716
Merge pull request #22313 from Microsoft/fixDistributiveConditionalTypes
Fix distributive conditional types
2018-03-05 06:23:45 -08:00
Anders Hejlsberg
6fcc99e800 Properly check inferred constraints for 'infer X' type variables 2018-03-04 16:28:22 -08:00
Anders Hejlsberg
8dfcc364bb Defer distributive conditional type when check type is generic 2018-03-03 09:26:40 -08:00
Sheetal Nandi
cbef5c29b5
Merge pull request #22151 from Microsoft/svcOfPendingReloadFile
Reload the text from file if there is pending reload of the script info before determining to use SVC
2018-03-02 19:11:11 -08:00
Sheetal Nandi
6e756b5907
Merge pull request #22308 from Microsoft/declarationEmitOfIndirectAlias
Fix incorrect error reported when using type from indirect module alias and current module is exported with "export default"
2018-03-02 19:10:36 -08:00
Wesley Wigham
1c93744a9c
Much better comment preservation (#22141)
* Retain comments on (and produce sourcemaps on) the equals token in initializers

* Improved comments/sourcemaps for await, yield, while, and for

* Retain comments on block curly-braces

* Emit comments for if statements

* Improved switch case comment emit

* Improve comment and sourcemap emit for try/catch, throw, and continue statements

* Improve sourcemap emit and comments for with statements

* More accurate sourcemaps+comments emit for new, typeof, void, and delete

* Improve comment emit for element access expressions

* Preserve more comments on imports and exports

* Make function a bit more defensive like other usages of emitTrailingCommentsOfPosition

* Support preserving comments within empty lists

* Handle leading comments of tokens, conditionally indent leading comments

* Stop heuristically sourcemapping tokens

When the transform was trivial it worked, but was unneeded, but when it was complex, it was brittle - best leave source mapping up to the transformers

* Fix unneeded +1

* Tighten up element access comments

* Handle comments on parenthesized expression tokens

* Fix nit
2018-03-02 17:23:59 -08:00
Yuichi Nukiyama
25525bc9d6 Change esnext.promise to es2018.promise (#22292)
* change esnest.promise to es2018.promise

* modify unit tests

* resolve conflict

* resolve conflict
2018-03-02 17:08:36 -08:00
Sheetal Nandi
9f10790023 Do not try to resolve alias for default symbol
Fixes #22257
2018-03-02 16:34:11 -08:00
Anders Hejlsberg
2d5be24669
Merge pull request #22300 from Microsoft/distributeKeyofIntersection
Distribute 'keyof' intersection types
2018-03-02 16:08:20 -08:00
Andy
87c3cca3f0
Make convertFunctionToEs6Class a codefix (#22241)
* Make convertFunctionToEs6Class a codefix

* Change diagnostic message
2018-03-02 12:57:29 -08:00
Andy
ba8879d005
Prefer 'return Debug.fail()' over 'throw Debug.fail()' (#22092) 2018-03-02 10:44:06 -08:00
Wenlu Wang
b15157356a add spelling suggestion support for module import (#22283) 2018-03-02 10:24:55 -08:00
Andy
dd27288e5a
Don't rename static 'this' when renaming class (#22235) 2018-03-02 10:23:08 -08:00
Andy
b90cdb2221
Reduce duplicate code for TextChange overlaps (#22278) 2018-03-02 10:22:52 -08:00
Anders Hejlsberg
fe075f26a2 Transform 'keyof (A & B)' to 'keyof A | keyof B' 2018-03-02 09:11:33 -08:00
Benjamin Lichtman
dfa1a90b25
Merge pull request #22135 from uniqueiniquity/jsxFragmentHash
Allow characters in JsxText inside JsxFragment that usually don't scan
2018-03-01 16:50:09 -08:00
Wesley Wigham
36bebe9487
Parenthesize computed names if not an assignment expression (#22280) 2018-03-01 16:49:56 -08:00
Wesley Wigham
10e3b73330
Debug assert on parent rebind, mitigate circularity in symbol access checking (#22282)
* Assert that symbol parents are never rebound to different parents

* mitigate circularities in symbol accessibility checking
2018-03-01 16:49:42 -08:00
Anders Hejlsberg
7a19b66cc0 Don't propagate 'never' types in type inference 2018-03-01 16:01:32 -08:00
csigs
2a8af806c9 LEGO: check in for master to temporary branch. 2018-03-01 23:12:32 +00:00
Andy
16fc256823
Convert 'installTypesForPackge' refactor to a suggestion (#22267)
* Convert 'installTypesForPackge' refactor to a suggestion

* Have checker collect a list of suggestion diagnostics instead of redoing work in calculateSuggestionDiagnostics

* Add comment

* Add diagnostic even with `--allowJs`
2018-03-01 14:41:55 -08:00
Andy
a564912d9a
Apply 'no-unnecessary-qualifier' lint rule (#22009) 2018-03-01 14:20:18 -08:00
Andy
c12369b354
Fix bug where findAllReferences included a node outside of sourceFilesToSearch (#22062) 2018-03-01 13:44:53 -08:00