Commit Graph

23352 Commits

Author SHA1 Message Date
Anders Hejlsberg
3fc3df3c3a Merge pull request #24137 from Microsoft/fix23977
Optimize intersections of unions of unit types
2018-05-17 13:15:28 -07:00
Wesley Wigham
3fc727b256 Use import types to refer to declarations in declaration emit (#24071)
* Stand up a simple implementation using import types for exports of modules which are otherwise inaccessible

* Ensure references exist to link to modules containing utilized ambient modules

* Accept baselines with new import type usage

* Fix lint
2018-05-17 13:08:22 -07:00
Andy
09b9ec43e3 moveToNewFile: Fix bug for VariableDeclaration missing initializer (#24214) 2018-05-17 12:38:20 -07:00
Mohamed Hegazy
a9660f3c5e Merge pull request #24212 from Microsoft/Fix24199
Add undefined guard
2018-05-17 12:27:55 -07:00
Mohamed Hegazy
8dc9b76b6d Add undefined guard 2018-05-17 11:45:34 -07:00
Nathan Shively-Sanders
6450490844 Fix jsdoc type resolution [merge to master] (#24204)
* Fix JSDoc type resolution

Breaks type parameter resolution that is looked up through prototype
methods, though. I need to fix that still.

* Check for prototype method assignments first

* Undo dedupe changes to getJSDocTags

* JS Type aliases can't refer to host type params

Previously, js type aliases (@typedef and @callback) could refer to
type paremeters defined in @template tags in a *different* jsdoc tag, as
long as both tags were hosted on the same signature.

* Reduce dedupe changes+update baseline

The only reason I had undone them was to merge successfully with an
older state of master.
2018-05-17 10:46:10 -07:00
Andy
2b5ff29254 Reduce map lookups (#24203) 2018-05-17 10:02:10 -07:00
Andy
176e35b9c3 moveToNewFile: Don't move imports (#24177) 2018-05-17 09:54:47 -07:00
Nathan Shively-Sanders
aa7e2b0f07 Add callback tag, with type parameters (#23947)
* Add initial tests

* Add types

* Half of parsing (builds but does not pass tests)

* Parsing done; types are uglier; doesn't crash but doesn't pass

* Bind callback tag

Builds but tests still don't pass

* Only bind param tags inside callback tags

* Fix binding switch to only handle param tags once

* Checking is 1/3 done or so.

Now I'm going to go rename some members to be more uniform. I hate
unnnecessary conditionals.

* Rename typeExpression to type (for some jsdoc)

(maybe I'll rename more later)

* Rename the rest of typeExpressions

Turns out there is a constraint in services such that they all need to
be named the same.

* Few more checker changes

* Revert "Rename the rest of typeExpressions"

This reverts commit f41a96b24d.

* Revert "Rename typeExpression to type (for some jsdoc)"

This reverts commit 7d2233a00e.

* Finish undoing typeExpression rename

* Rename and improve getTypeParametersForAliasSymbol

Plus some other small fixes

* Core checking works, but is flabbergastingly messy

I'm serious.

* Callback return types work now

* Fix crash in services

* Make github diff smaller

* Try to make github diff even smaller

* Fix rename for callback tag

* Fix nav bar for callback tag

Also clean up some now-redundant code there to find the name of typedefs.

* Handle ooorder callback tags

Also get rid of redundant typedef name code *in the binder*. It's
everywhere!

* Add ooorder callback tag test

* Parse comments for typedef/callback+display param comments

* Always export callbacks

This requires almost no new code since it is basically the same as
typedefs

* Update baselines

* Fix support for nested namespaced callbacks

And add test

* Callbacks support type parameters

1. Haven't run it with all tests
2. Haven't tested typedef tags yet
3. Still allows shared symbols when on function or class declarations.

* Template tags are now bound correctly

* Test oorder template tags

It works.

* Parser cleanup

* Cleanup types and utilities

As much as possible, and not as much as I would like.

* Handle callback more often in services

* Cleanup of binder and checker

* More checker cleanup

* Remove TODOs and one more cleanup

* Support parameter-less callback tags

* Remove extra bind call on template type parameters

* Bind template tag containers

Doesn't quite work with typedefs, but that's because it's now stricter,
without the typedef fixes. I'm going to merge with jsdoc/callback and
see how it goes.

* Fix fourslash failures

* Stop pre-binding js type aliases

Next up, stop pre-binding js type parameters

* Further cleanup of delayed js type alias binding

* Stop prebinding template tags too

This gets rid of prebinding entirely

* Remove TODO

* Fix lint

* Finish merge with use-jsdoc-aliases

* Update callback tag baselines

* Rename getTypeParametersForAliasSymbol

The real fix is *probably* to rename Type.aliasTypeArguments to
aliasTypeParameters, but I want to make sure and then put it in a
separate PR.
2018-05-17 09:28:11 -07:00
Mohamed Hegazy
dbd4ef4910 Merge pull request #24192 from Kingwl/quick-fix-for-import-type
add quick fix for import type missing typeof
2018-05-17 09:04:19 -07:00
王文璐
5d233054c3 add quick fix for import type missing typeof 2018-05-17 16:35:20 +08:00
csigs
2722d2e771 LEGO: Merge pull request 24188
LEGO: Merge pull request 24188
2018-05-16 21:10:42 -07:00
csigs
63a72636a9 LEGO: check in for master to temporary branch. 2018-05-17 04:10:22 +00:00
Wesley Wigham
159c808a0d Sort the whole diagnostic, plus giving up on isolating tests (#24186)
* Sort the whole diagnostic

* Also strip references to our repos node_modules, since removing it is hard
2018-05-16 18:17:59 -07:00
Anders Hejlsberg
027829fbcd Properly handle edge cases 2018-05-16 16:26:37 -07:00
Mohamed Hegazy
6af5d8b940 Add Unicode ThirdPartyNotice 2018-05-16 15:44:59 -07:00
csigs
67046799c2 LEGO: Merge pull request 24183
LEGO: Merge pull request 24183
2018-05-16 15:11:21 -07:00
csigs
7c52cab219 LEGO: check in for master to temporary branch. 2018-05-16 22:11:01 +00:00
Mohamed Hegazy
21acf4f783 Merge pull request #24136 from Microsoft/inferFromUsageFixes
Remove assert in `symbolToParameterDeclaration`
2018-05-16 14:15:37 -07:00
Andrew Casey
bc79917282 Merge pull request #24178 from amcasey/SyntaxServerOpenFileTelemetry
Don't collect open-file telemetry on the syntax server
2018-05-16 14:10:36 -07:00
Wesley Wigham
d70da6478a Use newer signature help check (#24179) 2018-05-16 13:53:40 -07:00
Andrew Casey
0b89460c18 Don't collect open-file telemetry on the syntax server
It's throwing an exception (since there's no program from which to
retrieve the SourceFile) and there's no reason to fix it since the
same files are open in the semantic server.
2018-05-16 13:40:24 -07:00
Wesley Wigham
a9ff9c2231 Have the bot link the build associated with the PR (#24176) 2018-05-16 13:12:17 -07:00
Wesley Wigham
d9cf2bed44 Merge branch 'master' of github.com:Microsoft/TypeScript 2018-05-16 13:11:36 -07:00
Wesley Wigham
a85f1d5c1e Fix lint 2018-05-16 13:11:25 -07:00
Wesley Wigham
e01c7d23e1 Correctly show instantiated signatures for JSX element signature help and quick info (#23492)
* Correctly show instantiated signatures for JSX element signature help

* Also bundle fix for quickinfo

* Use more complete cache to avoid duplicate errors
2018-05-16 13:09:54 -07:00
Wesley Wigham
5bf6e30f8e Use jsdoc aliases if visible when printing types (#24153)
* Use jsdoc aliases if visible when printing types

* Modify implementation a bit, add test that aughta change in the new future

* Accept baselines- hold off on typedef template lookup change
2018-05-16 12:58:36 -07:00
Wesley Wigham
15c09ef66b Add temp module dir to gitignore to reduce git intellisense load when running user tests 2018-05-16 12:45:27 -07:00
Wesley Wigham
e509ee59df Have bot force push his branch so he can run multiple times a day 2018-05-16 12:44:03 -07:00
Wesley Wigham
f0997c1e50 Merge branch 'master' of github.com:Microsoft/TypeScript 2018-05-16 12:42:59 -07:00
Wesley Wigham
8ce581149c Bump user test enumeration timeout 2018-05-16 12:42:46 -07:00
Andy
424dba1d69 codeFixInferFromUsage: Avoid duplicate fix for variable declaration (#24169)
* codeFixInferFromUsage: Avoid duplicate fix for variable declaration

* Include VariableDeclaration initializer as a candidate type
2018-05-16 12:28:27 -07:00
Mohamed Hegazy
13ac88647f Merge pull request #24162 from Kingwl/fix-generate-accessor-starting-underscore
fix generate accessor if starting with underscore
2018-05-16 12:06:15 -07:00
Mohamed Hegazy
aab8d65107 Update authors for release-2.9 2018-05-16 11:04:37 -07:00
Mohamed Hegazy
7f8ddc8343 Merge pull request #24158 from Kingwl/fix-trailing-comma-in-accessor-generator
fix trailing comma in accessor generator
2018-05-16 10:36:31 -07:00
Mohamed Hegazy
e923016463 Merge pull request #24160 from KSXGitHub/patch-1
Give checklist checkboxes
2018-05-16 10:34:01 -07:00
Wesley Wigham
60df4671d0 Fix jsx element parsing within ternary (#24149) 2018-05-16 09:28:22 -07:00
csigs
62921d56d6 LEGO: Merge pull request 24171
LEGO: Merge pull request 24171
2018-05-16 09:10:55 -07:00
csigs
06eabf7498 LEGO: check in for master to temporary branch. 2018-05-16 16:10:34 +00:00
Ryan Cavanaugh
32c43bbbcc Merge pull request #24161 from KSXGitHub/patch-2
Give issue template's checklist checkboxes
2018-05-17 03:43:16 +12:00
csigs
c3df6edf24 LEGO: Merge pull request 24163
LEGO: Merge pull request 24163
2018-05-16 03:10:50 -07:00
csigs
da3724e793 LEGO: check in for master to temporary branch. 2018-05-16 10:10:29 +00:00
王文璐
b7f725d1b8 fix generate accessor if starting with underscore 2018-05-16 15:34:11 +08:00
Khải
4264629f2f Give issue template's checklist checkboxes
Prior to this commit, checkboxes appear as pairs of brackets rather than proper checkboxes
2018-05-16 14:00:58 +07:00
Khải
b79986e99c Give checklist checkboxes
Prior to this commit, checkboxes appear as bracket pairs instead of checkboxes.
2018-05-16 13:58:10 +07:00
王文璐
0fde07f1c5 fix trailing comma in accessor generator 2018-05-16 14:47:44 +08:00
csigs
ea2bc4c014 LEGO: Merge pull request 24157
LEGO: Merge pull request 24157
2018-05-15 23:39:14 -07:00
csigs
c52b069922 LEGO: check in for master to temporary branch. 2018-05-16 06:38:51 +00:00
Mohamed Hegazy
6f4ed3afa6 Handel synthetic rest parameter declarations 2018-05-15 22:08:01 -07:00
Andy
b4ca23d8f9 Fix bug: Converting 'module.exports = {...}' to ES6 doesn't introduce a default export (#24141) 2018-05-15 16:22:58 -07:00