Commit graph

28433 commits

Author SHA1 Message Date
Sheetal Nandi 4fe27222ca
Merge pull request #33216 from microsoft/transpileIncremental
Fix transpiling when options specify incremental or tsbuildinfofile
2019-09-03 15:01:30 -07:00
Sheetal Nandi 0589d2dd1e Value for transpile option in CommandLineOption 2019-09-03 14:24:41 -07:00
Sheetal Nandi 5de0303728 Fix transpiling when options specify incremental or tsbuildinfofile
Fixes #33184
2019-09-03 13:14:50 -07:00
csigs f41472b427
LEGO: Merge pull request 33194
LEGO: Merge pull request 33194
2019-09-02 09:10:40 -07:00
csigs 0745746e8a LEGO: check in for master to temporary branch. 2019-09-02 16:10:11 +00:00
Sheetal Nandi 79bcb3d547
Handle seenEmittedFiles which was not being set when emit of a file was complete (#33145)
* Add test that fails because file is written multiple times
Reported from #33061

* Handle seenEmittedFiles which was not being set when emit of a file was complete.
It was issue only when errors are reported before emitting (which puts the files into pendingEmit that needs to check only in seenEmittedFiles)
If emit happens before semantic diagnostics query this issue is not repro, because the affected files come into play and those are being set correctly
Fixes #31398

* make baselining source map optional

* Handle emitDeclarationOnly in --build scenario

* Ensure we are using d.ts emit as signature even when --declarationMap is on (map files are emitted before d.ts)

* Move module specifiers to verifyTsBuildOutput

* implement create Hash to be default hashing plus data so we can verify it easily in baseline

* Remove failing baseline

* Accept correct baseline name
2019-08-30 16:33:44 -07:00
Sheetal Nandi 5ea4257e6e
Fix the semantic diagnostics caching in builder to handle conversion from relative to buildInfo to absolute path (#33168)
Fixes #33161
2019-08-30 15:44:51 -07:00
TypeScript Bot e2b94231c8 Update user baselines (#33162) 2019-08-30 08:46:21 -07:00
Mine Starks ad02f47f08
Merge pull request #33148 from minestarks/formatting-object-literals
Fixes #32923
2019-08-30 08:00:00 -07:00
Mine Starks 9781b95bdc Fixes #32923 2019-08-29 15:31:09 -07:00
Armando Aguirre 029f7a3801
Merge pull request #33124 from armanio123/FixGotoMultipleFile
Fixed goto when global declarations are on multiple files
2019-08-29 14:13:32 -07:00
Titian Cernicova-Dragomir fa9e0fa8e8 Better outlining spans for prototype methods (#32782)
* Changed outlining to better outline ES5 classes (functions assigned to prototype)

* Changed outlining to better outline ES5 classes (properties assigned to functions)

* Fixed some small bugs when merging es5 class nodes. Added tests for new es5 class outline.

* Added support for interlaced ES5 classes (where an ES5 class's members are mixed with other declarations).

* Fixed crash in outline when assigning {} to the prototype.

* Added support for nested es5 declarations.

* Added support for prototype assignment for es5 classes.
2019-08-29 09:19:04 -07:00
Andrew Branch cd371daf77
Fix writing multi-line text without semicolons (#32903)
* Fix semicolon-omitting writer

* Use writeTrailingSemicolon for do statements
2019-08-28 16:28:31 -07:00
Armando Aguirre 09a5b68a85 Fixed goto when declarations are on multiple files 2019-08-28 15:14:19 -07:00
TypeScript Bot ccf41ef803 Update user baselines (#33083) 2019-08-28 13:05:24 -07:00
Wenlu Wang af9ca21643 add support for extract as interface (#31644)
* add support for extract as interface

* fix action assert

* Donot provide convert to interface if duplicate member
2019-08-28 11:34:40 -07:00
Andre Sutherland 5d36aab06f Added errorCount to WatchStatusReporter to detect 2 or more errors (#33082)
* Added errorCount to WatchStatusReporter discern between 0 and 2 or more errors

* Added test for ensuring WatchStatusReporter receives errorCount
2019-08-27 16:40:21 -07:00
Nathan Shively-Sanders 13e1ccdd01
goto-def should treat constructor functions as functions (#33109)
* goto-def:special handling for constructor functions

* Just treat constructor functions like functions

* Even simpler fallback
2019-08-27 16:22:22 -07:00
Nathan Shively-Sanders 4fc12d7b03
Close over common variables in inferTypeFromReferences (#33095)
Also lots of renaming
2019-08-27 09:02:58 -07:00
Andrew Branch 111b73acf9
Remove unnecessary tslint-ignore (#33091) 2019-08-26 15:34:44 -07:00
Wenlu Wang 9942c6052f add completion for promise context (#32101)
* add completion for promise context

* check insert text inside add symbol helper

* fix incorrect branch

* avoid completions with includeCompletionsWithInsertText perferences

* avoid useless parameter
2019-08-26 15:26:25 -07:00
Nathan Shively-Sanders e9073a863d
Improve names in infer-from-usage (#33090)
Basically, drop "Context" from all names, because it just indicates that
it's an implementation of the State monad.
2019-08-26 13:20:42 -07:00
Armando Aguirre 5008c9cc3e
Merge pull request #33064 from armanio123/FixNavbarMultilineUnterminated
Added optional trailing slash to navigation bar regex
2019-08-26 12:06:36 -07:00
Nathan Shively-Sanders 21f192367a
Fix infer from usage prop assignment (#33088)
* Add test case

* Fix infer from usage property assignment

Property assignment and shorthand property assignment were incorrectly
treated differently; both have ObjectLiteralExpression as a parent, but
the code previously assumed that property assignments had
ObjectLiteralExpression as parent.parent.

Also make fourslash directives case insensitive and less whitespace
sensitive.

* Add "incorrect 3-slash" error to fourslash parsing.
2019-08-26 10:42:17 -07:00
Andrew Branch b4417da646
Fix fourslash server (#33063) 2019-08-26 08:46:41 -07:00
Armando Aguirre a0c29fe4e5 Added optional trailing slash regex 2019-08-23 15:42:03 -07:00
Armando Aguirre 25f609b3a2
Merge pull request #32672 from armanio123/FixNavbarMultiline
Fixed issue for navbar when having multi-line string literals
2019-08-23 15:02:25 -07:00
Andrew Casey 5b59cfb1c4
Merge pull request #33056 from amcasey/TripleSlashRestrictions
Make triple-slash comment classification more restrictive
2019-08-23 14:07:34 -07:00
Armando Aguirre f76e3b59b2 Make trailing slash required on cleanText regex 2019-08-23 13:51:53 -07:00
Andrew Casey e3690c3a07 Use the in operator 2019-08-23 13:10:32 -07:00
Andrew Casey 00d37268e8 Make triple-slash comment classification more restrictive
It was overly permissive and ended up making a mess of C#-style
comments:

`/// <summary>Text</summary>`

Now it checks the element name.  Attribute names remain unchecked.
2019-08-23 12:55:10 -07:00
Jack Williams ec39d41287 Change doc-string for Unreliable variance flag. (#33036) 2019-08-22 17:44:11 -07:00
Nathan Shively-Sanders 4bddf55328
Fix prototype property type lookup (#33034)
* Fix constructor function type reference lookup

I knew I missed some code in the constructor-functions-as-classes PR.
This simplifies the type reference resolution code as well.

* Simplify and document js alias type resolution
2019-08-22 12:51:15 -07:00
Nathan Shively-Sanders 3c42760765
Cache JS inferred class type symbol (#33010)
* Cache JS inferred class type symbol

Note that many sources merge into a single target, so the *source*
[links] is the one that caches the merged target.

The reason this is a problem is not that many sources merge into a
single target, but that both getTypeOfSymbol and getDeclaredTypeOfSymbol
end up calling mergeJSSymbols with the same [source,target] pair. The
merge should not happen twice.

* Remove more verbose debug assertion message

* Fix isJSConstructor check + update baselines

* inferClassSymbol cache now track multiple targets
2019-08-21 15:36:35 -07:00
Ryan Cavanaugh 016884d48c
Add assert comments in CodeFixes and Refactors (#33016)
* Add comments to assert calls

* Add comments to assert calls in codefixes

* So linty
2019-08-21 14:22:17 -07:00
csigs f6155f89da LEGO: check in for master to temporary branch. (#33011) 2019-08-21 11:47:21 -07:00
Wesley Wigham 219a570a75
Fix discovery and execution of root-level tests in the parallel runner (#32980) 2019-08-20 17:18:31 -07:00
Andrew Branch 5d04250ea8
Improve “Add missing await” fix-all (#32922)
* Improve codeFixAll for add missing await

* Improve add missing await for initializers and fix-all

* Fix when only one side of a binary expression can have its initializer fixed
2019-08-20 16:53:28 -07:00
Wesley Wigham a34ac8084c
Walk up parenthesized type nodes when looking for the type alias hosting a node (#32924) 2019-08-20 16:43:06 -07:00
Zixiang Li 24201cfe6e Add support for jsdoc properties with hyphen (#32631) 2019-08-20 14:49:40 -07:00
Sheetal Nandi 5ac450510a
Handle network style paths for watching (#32888)
* Refactoring

* take windows style root as test server host parameter

* Handle network style paths for watching
Fixes #32796
2019-08-20 10:52:56 -07:00
Ron Buckton 1bf218291f
Fix default behavior for transpileModule when fileName not provided (#32982) 2019-08-19 18:13:39 -07:00
Nathan Shively-Sanders 6ca9d04b60
Constructor functions as classes (#32944)
* Initial implementation

The original test passes but I haven't run any other tests yet, so I
assume the world is now broken.

* Append constructor function construct sigs

Instead of overwriting them

* Grab bag of improvements.

1. Mark @class-tagged functions with Class too.
2. Only gather local type parameters of constructor functions.
3. Remove getJSClassType calls with getDeclaredTypeOfSymbol.
4. Add a couple more failing tests.

getDeclaredTypeOfClassOrInterface now needs to understand prototype
assignment. That's next, I think.

* Prototype assignments work now

1. Binder marks prototype assignments as Class now.
2. Checker merges prototype assignments using the same merge code as for
functions and their declarations. No more intersections.

Many fewer failing tests now.

* Mark prototype-property assignments as Class

Even if there are no this-property assignments in them. (Then why are
you using a class?).

* Simplify getJSClassType, remove calls to its guts

It's probably not needed because now it's just a conditional call to
getDeclaredTypeOfSymbol, and I think most callers already know whether
they have a JS constructor function beforehand.

* isJSDocConstructor doesn't need to check prototype anymore

Because all the properties are merged during getDeclaredTypeOfSymbol.

* outer type parameter lookup follow prototype assignment

* this-type and -expression support in ctor funcs

Pretty cool!

* Fix remaining tests

* Fix minor lint

* Delete now-unused code

* Add class flag to nested class declarations

Also remove old TODOs
2019-08-19 14:12:53 -07:00
Wesley Wigham fd1e22bbf1
Instantiate generic conditional infer source types in the context of the target conditional (#31545)
* Instantiate generic conditional infer source types in the context of the target conditional

* Add test case from #26627
2019-08-19 13:01:08 -07:00
rChaser53 d75de60548 Fix Cannot read property 'text' of undefined crash (#32734)
* Fix Cannot read property 'text' of undefined crash

* fix condition for tsx

* Rename and improve the method
2019-08-19 12:08:34 -07:00
Wesley Wigham d9f0212324
Resolve SymbolFlags.Type only at first in jsdoc getTypeFromTypeReference (#32947)
* Fix lookup of exported eunm type alias in local scope in JS

* Fix by adjusting type lookup fallback behavior to not include SymbolFlags.Value in its initial lookup instead
2019-08-19 11:31:47 -07:00
TypeScript Bot 2cde3b722a Update user baselines (#32975) 2019-08-19 10:46:30 -07:00
Wes Souza 9e9e694369 Update Feature_request.md (#32974)
* Update Feature_request.md

Added the same list of steps that is present on the bug report to the feature request.

* Remove duplicate FAQ reading sentence
2019-08-19 09:42:49 -07:00
falsandtru 5ae286329f Update String#toLocale{Lower,Upper}Case methods (#32961) 2019-08-19 09:10:12 -07:00
Orta 634beb5332
Merge pull request #32969 from collin5/b30851-2
Restrict spreading for unknown Type with non object constraint
2019-08-19 08:43:11 -07:00