Commit Graph
16713 Commits
Author SHA1 Message Date
Anders Hejlsberg d90d6b9277 Remove more intersections with empty value domains from union types 2018-04-24 15:55:15 -07:00
Anders Hejlsberg ef8d5094b4 Properly check relationships for intersections with union constraints 2018-04-24 14:57:27 -07:00
Anders HejlsbergandGitHub 5d67f8ef68 Merge pull request #23645 from Microsoft/distributeKeyofUnion2
Distribute 'keyof' union types (take 2)
2018-04-24 10:09:45 -07:00
AndyandGitHub 59765e2d86 goToDefinition: Also add definitions for symbol if it does not match the signature symbol (#23657) 2018-04-24 09:41:47 -07:00
csigs b72abdb120 LEGO: check in for master to temporary branch. 2018-04-24 16:10:31 +00:00
AndyandGitHub 969aa45ea5 Improve error message for unused type (#23633) 2018-04-24 08:54:42 -07:00
AndyandGitHub eca17ac243 Support import fix even when the error is that a type is used as a value (#23655) 2018-04-24 08:54:14 -07:00
csigs 0e5ea2c8f6 LEGO: check in for master to temporary branch. 2018-04-24 10:10:45 +00:00
csigs 90500e88df LEGO: check in for master to temporary branch. 2018-04-24 04:10:22 +00:00
Anders Hejlsberg 09590bc041 Transform 'keyof (A | B)' to 'keyof A & keyof B' 2018-04-23 20:57:11 -07:00
AndyandGitHub fc30bd10e3 Suggestion to convert to ES6 module should only trigger in projects which express some intent to use ES6 (#23576) 2018-04-23 16:05:37 -07:00
Nathan Shively-SandersandGitHub 905f9a02ad module.exports = Entity is an alias, just like export = Entity (#23570)
* Make `module.export =` an alias like `export=` is

This breaks a couple of tests for previous workarounds. Fix in upcoming
commits.

* Basically fixes all the breaks, but needs cleanup

* More notes to myself

* Clean up TODOs

* Call mergeSymbolTable and delete export= afterward

instead of basically copying the code myself.

* More cleanup

* Remove unnecessary check in import type checking

* Revert to DIY code.

It is more correct and will go away in a few days.

* Exported class expressions can be used as type

In both JS and TS

* Do not require named class expressions
2018-04-23 15:24:31 -07:00
csigs 1f753b3962 LEGO: check in for master to temporary branch. 2018-04-23 22:10:46 +00:00
AndyandGitHub 222f35d927 Make symbol display at ExportSpecifier use 'export', not 'import' (#23629) 2018-04-23 13:29:14 -07:00
Anders HejlsbergandGitHub 0179d97403 Merge pull request #23592 from Microsoft/improveIndexTypes
Support number and symbol named properties with keyof and mapped types
2018-04-23 13:22:56 -07:00
AndyandGitHub 645258cc7d Allow getting import completion details with misspelled name (#23624) 2018-04-23 11:24:51 -07:00
AndyandGitHub 2e78d1ef21 getEditsForFileRename: Update tsconfig "files" (#23625) 2018-04-23 11:11:06 -07:00
Wesley WighamandGitHub eb112ab492 Deduplicate declarations in combined type/value symbols (#23593) 2018-04-21 12:50:05 -07:00
Mohamed HegazyandGitHub 7f34340dcf Merge pull request #21476 from Kingwl/concat-string-in-enum-member
allow string concat in enum member declaration
2018-04-21 12:42:10 -07:00
Anders Hejlsberg 652e4932f6 Address CR feedback 2018-04-21 09:32:46 -07:00
csigs cb96e3fad5 LEGO: check in for master to temporary branch. 2018-04-21 10:10:32 +00:00
csigs 5b2f4ac380 LEGO: check in for master to temporary branch. 2018-04-21 04:10:23 +00:00
csigs ec0e04f853 LEGO: check in for master to temporary branch. 2018-04-20 22:10:46 +00:00
AndyandGitHub 699ea246ff Skip arrow functions in checkAndReportErrorForMissingPrefix (#23584) 2018-04-20 15:02:18 -07:00
AndyandGitHub 5c94bef0e1 Add 'renameFile' command to services (#23573)
* Add 'renameFile' command to services

* renameFile -> getEditsForFileRename

* Support `<reference path>` directives
2018-04-20 13:43:09 -07:00
Nathan Shively-SandersandGitHub e65681a2b7 Fix assert in getjsdochost (#23575)
* Fix assert in getJSDocHost

* Update public API to add wider type

* Remove now-unnecessary type assertion
2018-04-20 10:41:58 -07:00
AndyandGitHub 22f2b118b7 Add 'triggerCharacter' option for completions requests (#23491)
* Add 'triggerCharacter' option for completions requests

* mhegazy code review

* More code review

* Handle '<' in comment
2018-04-20 10:25:58 -07:00
Mohamed HegazyandGitHub 2826bc72b8 Merge pull request #23470 from JoshuaKGoldberg/standardized-non-pretty-newlines
Adjusted newlines in non-pretty output for consistency
2018-04-20 10:01:03 -07:00
Anders Hejlsberg eb7bbfb28e Properties with numeric names have numeric literal types in keyof T 2018-04-20 09:55:59 -07:00
AndyandGitHub 18c3f5ffa0 Use getFirstConstructorWithBody in one more place, and simplify other class members iteration (#23567) 2018-04-20 09:43:38 -07:00
AndyandGitHub 94cc59ca60 Support getting JSDoc comment starting at a FunctionType node (#23546)
* Support getting JSDoc comment starting at a FunctionType node

* Move || to end of line
2018-04-20 09:43:20 -07:00
Mohamed HegazyandGitHub c8e4b7ba50 Merge pull request #23566 from ajafff/generator-cfa
binder: don't inline control flow of generator function
2018-04-20 09:11:50 -07:00
csigs 760f8b85ab LEGO: check in for master to temporary branch. 2018-04-20 16:10:25 +00:00
Klaus MeinhardtandNathan Shively-Sanders f57ba59a77 resolveEntityName: don't return false (#23563)
Fixes: #23562
2018-04-20 08:42:29 -07:00
Klaus Meinhardt 4827728b16 binder: don't inline generator function's control flow
Fixes: #23565
2018-04-20 16:26:53 +02:00
csigs ee834a270a LEGO: check in for master to temporary branch. 2018-04-20 10:10:36 +00:00
Josh Goldberg 7812e5180f Trailing whitespace, oh no! 2018-04-19 22:01:08 -07:00
Josh Goldberg 351251193d Simplified to one output line 2018-04-19 21:54:08 -07:00
Josh Goldberg 8d6c2bc1b1 Used return value from clearScreenIfNotWatchingForFiles 2018-04-19 21:53:01 -07:00
csigs 8740045d8e LEGO: check in for master to temporary branch. 2018-04-20 04:10:18 +00:00
Nathan Shively-SandersandGitHub 8d969a23cb In JS, class supports @template tag for declaring type parameters (#23511)
* Support @template as a class type parameter

Still need to do the following:
1. Correctly get jsdoc host in predicate.
2. Make this work for constructor functions too.
3. Scan rest of codebase for other usages of the type parameters
property that should be calls to getEffectiveTypeParameterDeclarations.
4. Rename tp to something more readable, like typar or ts'.

* Use jsdoc host declaration to find container

* Longer names for type parameters

* Fix renaming operation

* Update fourslash test

* Support @template for JS constructors

* Look for both outer and tag type parameters

* Improve naming to improve code clarity
2018-04-19 15:58:43 -07:00
Daniel RosenwasserandGitHub 84b12910e8 Merge pull request #23430 from Microsoft/taggedTemplateTypeArguments
Allow type arguments in generic tagged templates
2018-04-19 15:50:19 -07:00
AndyandGitHub a7c08e4691 Make code fix to add 'this.' work for statics (#23527)
* Make code fix to add 'this.' work for statics

* Add 'C.' instead of 'this.'

* DanielRosenwasser code review
2018-04-19 15:39:44 -07:00
AndyandGitHub c258d6e1b6 Fix bug: Don't rename 'default' in export { default as x } from "m"; (#23434)
* Fix bug: Don't rename 'default' in `export { default as x } from "m";`

* Rename `foo` in `{ default as foo }` if that's the original export name
2018-04-19 15:35:25 -07:00
AndyandGitHub bc7979c174 quickInfo: Get JSDoc tags from aliased symbol (#23526)
* quickInfo: Get JSDoc tags from aliased symbol

* Add test with existing tags
2018-04-19 15:33:36 -07:00
Daniel Rosenwasser 70feb7b10b Avoid duplicate code when checking for tagged templates. 2018-04-19 15:16:25 -07:00
csigs 0f861bbfa8 LEGO: check in for master to temporary branch. 2018-04-19 22:10:53 +00:00
Ron Buckton 6aab09a82f Revert change to PromiseConstructor in #22772 2018-04-19 11:42:57 -07:00
Wesley WighamandGitHub 557a34e897 Visit typedef type expressions so they contribute to referenced-ness (#23525) 2018-04-19 10:28:30 -07:00
Sheetal NandiandGitHub 0526ff5fad Merge pull request #23484 from Microsoft/typingInstallerWatch
Use watch recursive directories instead of watchFile for node_modules and bower components
2018-04-19 09:59:58 -07:00