Commit Graph

11202 Commits

Author SHA1 Message Date
Andy
57e28dfb4f Remove unnecessary test (#22962) 2018-03-29 07:54:20 -07:00
Sheetal Nandi
e40f2943b1 Revert "Do not watch child directories of the sym link folders"
This reverts commit 3280865049.
2018-03-28 21:10:29 -07:00
Sheetal Nandi
3280865049 Do not watch child directories of the sym link folders
Fixes #22668
2018-03-28 18:37:07 -07:00
Anders Hejlsberg
9dd31488f6 Merge pull request #22959 from Microsoft/fixInferTypeParameterLeak
Fix 'infer T' type parameter leaks
2018-03-28 15:45:09 -07:00
Sheetal Nandi
5472ca9ed8 Merge pull request #22963 from Microsoft/incrementalEditWithJsDocNode
Correct the incremental parsing when there is jsDoc node
2018-03-28 15:42:18 -07:00
Sheetal Nandi
33e9ef60c4 Correct the incremental parsing when there is jsDoc node
Fixes #22924
2018-03-28 14:32:46 -07:00
Andy
6ec13bb945 Use getAllSuperTypeNodes in more places (#22718) 2018-03-28 13:33:20 -07:00
Anders Hejlsberg
dc3eb3c27e Erase 'infer T' locations in conditional type constraints 2018-03-28 13:16:11 -07:00
Wenlu Wang
cb9f436b54 fix accessor parse with line terminator (#22893) 2018-03-28 10:59:09 -07:00
Nathan Shively-Sanders
adf30dd694 isMethodLike recognises prototype-assignment methods (#22935)
* isMethodLike recognises prototype-assignment methods

* Require js prototype methods to be in JS files
2018-03-28 10:41:24 -07:00
Andy
6118f211d1 Add 'isParameterPropertyModifier' helper (#22841) 2018-03-27 19:36:42 -07:00
Andy
3e32e15895 Add 'fixAllDescription' property to CodeFixAction (#22616)
* Add 'fixAllDescription' property to CodeFixAction

* Code review

* Add to protocol

* Make fixAllDescription be just a string
2018-03-27 18:21:21 -07:00
Mohamed Hegazy
4699c829de Merge pull request #22898 from Kingwl/fix-return-type-lookup-rule
fix type lookup rule
2018-03-27 17:01:56 -07:00
Andy
07a890dbbb Reuse getBinaryOperatorPrecedence (#22844)
* Reuse getBinaryOperatorPrecedence

* Code review

* Consistently sort cases in ascending order
2018-03-27 16:38:39 -07:00
Andy
47d768ceb3 Anything after Debug.failBadSyntaxKind is dead code (#22922) 2018-03-27 15:36:05 -07:00
Wesley Wigham
1db769d566 Transform setter bodies if they contain es2015 (#22931) 2018-03-27 15:16:56 -07:00
Andy
0a2c160dd1 Debug.failBadSyntaxKind should always be defined and return 'never' (#22091) 2018-03-27 13:35:48 -07:00
Nathan Shively-Sanders
61aad4c7b8 Handle toplevel this-assignment (#22913)
Do nothing now. Someday we might handle it correctly.
2018-03-27 12:24:37 -07:00
Andy
85f11cc5e4 textChanges: Use replaceRange in more places (#22904) 2018-03-27 10:57:42 -07:00
Kevin Donnelly
4fa96056ea Make T[never] = never instead of erroring or being any (#22787)
* Add tests showing existing behavior for indexing types with never.

* Make T[never] = never instead of erroring or being any.

And update the baselines for the tests for this change.

* Add test case for indexing an expression with never showing existing behavior.

* Make indexing an object with never expression result in never.

And update baseline to reflect new behavior.
2018-03-27 07:45:25 -07:00
王文璐
9b7e5e212f fix type lookup rule 2018-03-27 17:37:19 +08:00
Wesley Wigham
dcbc478efa Tighten heuristic for definite dts moduleness to check for syntactic default (#22814)
* Tighten heuristic for definite dts moduleness to check for syntactic default exports

* Inline function
2018-03-26 16:35:03 -07:00
Mohamed Hegazy
faa3fca247 Merge pull request #22886 from Microsoft/Fix22866
Fix #22866: Condition checking for name collision of generated variable names on emit happening
2018-03-26 14:24:59 -07:00
Mohamed Hegazy
2483719e6e Fix lint issues 2018-03-26 13:49:57 -07:00
Nathan Shively-Sanders
c9ac15ae56 In JS, this assignments in constructors are preferred and nullable initializers become any (#22882)
* First draft:in js, constructor declaration is preferred

* Add tests

* initializer of null|undefined gives any in JS

Also move this-assignment fixes out of binder. I'm going to put it in
the checker instead.

* In JS, initializer null|undefined: any, []: any[]

* First draft of js prefer-ctor-types overhaul

* Update tests, update baselines

* Improve readability of constructor-type preference

* Cleanup: Remove TODO and duplication

* Add noImplicitAny errors

* Add comment
2018-03-26 13:42:34 -07:00
Mohamed Hegazy
7fd602e594 Fix #22866: Condition checking for name collision of generated variable names on emit happening 2018-03-26 13:02:09 -07:00
Wesley Wigham
6af764c560 Declaration maps and transparent goto definition using them (#22658)
* Add compiler option to enable declaration sourcemaps

* Transparent goto definition for sourcemapped declaration files

* Post-rebase touchups

* Rename API methods

* Fix lints

* Fix typo in name XD

* Log sourcemap decode errors

* Share the cache more, but also invalidate it more

* Remove todo

* Enable mapping on go to implementation as well

* Allow fourslash to test declaration maps mroe easily

* more test

* Handle sourceRoot

* Add tests documenting current behavior with other sourcemapping flags

* Ignore inline options for declaration file maps, simplify dispatch in emitter

* Change program diagnostic

* Fix nit

* Use charCodeAt

* Rename internal methods + veriables

* Avoid filter

* span -> position

* Use character codes

* Dont parse our sourcemap names until we need to start using them

* zero-index parsed positions

* Handle sourceMappingURL comments, including base64 encoded ones

* Unittest b64 decoder, make mroe robust to handle unicode properly

* Fix lint

* declarationMaps -> declarationMap

* Even more feedback

* USE Mroe lenient combined regexp

* only match base64 characters

* Fix nit
2018-03-26 12:15:34 -07:00
Anders Hejlsberg
fe8f239648 Merge pull request #22869 from Microsoft/fixConditionalTypeVariance
Fix conditional type variance
2018-03-26 09:36:16 -07:00
Anders Hejlsberg
d7df84d641 Merge pull request #22850 from Microsoft/tupleTypeInference
Only make inferences from tuple types of right arity
2018-03-26 09:35:45 -07:00
Andy
fdc468976e Remove unused function (#22848) 2018-03-26 08:03:24 -07:00
Anders Hejlsberg
b5a39e814f Change to more conservative conditional type relationship 2018-03-25 15:24:31 -07:00
Anders Hejlsberg
8750bb8949 Add missing type relationship for conditional types 2018-03-25 11:29:58 -07:00
Anders Hejlsberg
d6b6bb73de Don't infer between tuple types with different arity 2018-03-23 17:32:52 -07:00
Andy
9557e4ad96 Handle completions in interface / type literal similar to class (#22701)
* Handle completions in interface / type literal similar to class

* Code review
2018-03-23 16:04:29 -07:00
Ryan Cavanaugh
e7b2017bb0 Merge pull request #22744 from RyanCavanaugh/fixCacheInvalidation
Fix cache invalidation
2018-03-23 15:44:35 -07:00
Ryan Cavanaugh
1e66f071fd Always include parent folder failed lookup locations 2018-03-23 14:42:16 -07:00
Wesley Wigham
0736554db7 Alternate but more general token comment emit fix + organizeImports fix (#22836)
@amcasey: Preserve leading trivia when organizing imports

When organizing imports, we used to move the leading and trailing trivia
of each individual import with that import as it was repositioned or
deleted.  This had the unfortunate effect of repositioning or deleting
the header comment of the file.

Our new approach is to leave the leading trivia of the first import
ahead of the resulting block of imports (i.e. it no longer follows the
first import as it is repositioned or deleted).  Trailing trivia on the
first import and trivia on subsequent imports are treated as before.
2018-03-23 14:13:40 -07:00
Anders Hejlsberg
deb87bb8ad Obtain constraint from destructured property when applicable 2018-03-23 09:42:43 -07:00
Andy
0e9364f48e Simplify functions for adding parse errors (#22513)
* Simplify functions for adding parse errors

* Prefer parseErrorAt over parseErrorAtRange
2018-03-23 08:34:04 -07:00
Sheetal Nandi
78c12cdb9d Merge pull request #22808 from Microsoft/moduleResolutionEvents
Invalidate resolutions from typeRoots watch event as a fallback mechanism
2018-03-22 20:41:14 -07:00
Nathan Shively-Sanders
e16bb3e418 Improve behaviour of ... inside JSDoc functions (#22809)
* No error for ... on last param of jsdoc function

* ... is a rest param w/array type in jsdoc function

* Simplify getTypeFromJSDocVariadicType
2018-03-22 16:17:16 -07:00
Wesley Wigham
ca1d19a579 Always make a new jsxAttributes type, dont reuse emptyObjectType (#22810)
* Always make a new jsxAttributes type, dont reuse emptyObjectType

* Break up conditional a bit
2018-03-22 15:16:33 -07:00
Wesley Wigham
a909000b62 Parse and check type arguments on JSX opening and self-closing tags (#22415)
* Parse and check type arguments on JSX opening like elements

* Fix nits
2018-03-22 15:07:36 -07:00
Wesley Wigham
a7b066fe04 Allow local class declarations to be returned as mixins (#22807) 2018-03-22 15:02:54 -07:00
Wesley Wigham
874dd25494 Stop printing two spaces between heritage clauses (#22801)
* Stop printing two spaces between heritage clauses

* Fix lint
2018-03-22 14:59:40 -07:00
Andy
94570eedcc Don't provide spelling suggestion for module (#22805) 2018-03-22 14:27:34 -07:00
Sheetal Nandi
306ed1291b Invalidate resolutions from typeRoots watch event as a fallback mechanism
There are times when the directory watcher for failed lookup locations isnt invoked and is not very determinitstic
So as a fallback, when we receive typeRoots watch event, handle failed lookup locations as well
2018-03-22 13:54:41 -07:00
Daniel Rosenwasser
db1e924a4b Update version to 2.9. 2018-03-22 13:06:00 -07:00
Wesley Wigham
7721cc45c8 Improve assertion violation message (#22522) 2018-03-22 11:46:52 -07:00
Nathan Shively-Sanders
4462c159b1 Correctly track thisContainer for this-property-assignments in JS nested containers (#22779)
* Track thisContainer for this-property-assignments in JS

Previously it would update on every block, not just those that could
bind `this`.

In addition, if the constructor symbol still can't be found, then no
binding happens. This is usually OK because people don't add new
properties in methods too often.

* Update additional baselines

* Add lib:dom to new test

* Address PR comments

* Correct new name for saveThisParentContainer
2018-03-22 09:54:43 -07:00