Nathan Shively-Sanders
dca3a94f88
Print js-constructor function type names ( #23089 )
...
* Print js-constructor function type names
Instead of printing them as a type literal, which is scary.
* Use assigned name for functions and classes
That otherwise have no name. This helps quick info for javascript a
*lot*. Typescript mainly benefits when printing the type of class
expressions.
* Improve names of functions in binding elements
Also fix some fourslash baselines
2018-04-04 15:43:41 -07:00
Wesley Wigham
9b987eb947
Dont bind a local symbol for a default export without a name ( #23152 )
2018-04-04 15:26:10 -07:00
Wesley Wigham
355125d11b
Report errors in JSX properties on the failing prop or the tag name ( #23148 )
2018-04-04 15:16:31 -07:00
Andy
6286c7577d
Allow rest parameter trailing commas in ambient contexts ( #23139 )
2018-04-04 11:33:29 -07:00
Nathan Shively-Sanders
c4a504b3ce
Prototype assignments count as method-like ( #23137 )
...
* Prototype assignments count as method-like
For the purposes of reporting prototype/instance property conflicts
* Fix lint
2018-04-04 11:03:31 -07:00
Nathan Shively-Sanders
eb3a9d05df
Fix factorial jsdoc search:chained assignments ( #23115 )
2018-04-04 08:57:13 -07:00
Nathan Shively-Sanders
6b158de866
No error referring to UMD symbol in CommonJS modules ( #23129 )
2018-04-03 16:10:09 -07:00
Wesley Wigham
78ba32a110
Allow multiple class base types; intersect them, as with interfaces ( #23123 )
2018-04-03 16:08:52 -07:00
Mohamed Hegazy
a4593fd6db
Merge pull request #22261 from ajafff/factory-array
...
factory: replace Array parameters with ReadonlyArray
2018-04-03 15:00:56 -07:00
Wesley Wigham
343bb5ac70
Actuallt preserve nonblock for of statements in forofs with object rest ( #23122 )
2018-04-03 13:32:42 -07:00
Wesley Wigham
c676893dc9
SyntaxKind.ImportTypeNode -> SyntaxKind.ImportType ( #23120 )
2018-04-03 13:32:03 -07:00
Anders Hejlsberg
6646717ce7
Merge pull request #23112 from Microsoft/fixTPReferenceLookups
...
Fix type parameter reference lookups
2018-04-03 12:32:05 -07:00
Wesley Wigham
cbce76ed13
Consider jscontainer aliases as referencible even if they have other local meanings ( #23119 )
2018-04-03 12:27:16 -07:00
Wesley Wigham
a81a645128
Enable member completions for import types ( #23085 )
...
* Enable member completions for import types
* Add missing semicolon
* Compact statements
* Ye doth compacteth too much
* Handle class accesibility
2018-04-03 11:53:01 -07:00
Anders Hejlsberg
e584243d60
Only look up identifiers that could actually be type parameters
2018-04-03 09:04:24 -07:00
Nathan Shively-Sanders
11eabc0946
Skip parens and non-null assertions when looking for this-context ( #23097 )
...
* Skip parens and ! for getting this-context of call
* Add test and improve code a bit
* Use skipOuterExpressions instead
2018-04-03 06:23:59 -07:00
Anders Hejlsberg
751eab9eed
Merge pull request #23067 from Microsoft/fixTPReferenceInConditional
...
Fix type parameter reference checks in conditional types
2018-04-02 17:30:32 -07:00
Mohamed Hegazy
e6fa4e4415
Merge pull request #23043 from alan-agius4/feature/compiler-host-falsy-file
...
fix: `CompilerHost.getSourceFile` is being called for odd filenames
2018-04-02 17:08:31 -07:00
Nathan Shively-Sanders
d3e0929b14
Mark js-assignment functions' symbols as methods ( #23078 )
...
This make display more accurate:
1. The functions now print as methods
2. When the type of the function references the class, the type of the
function itself is now printed correctly instead of as `any`.
2018-04-02 12:17:35 -07:00
Alan Agius
7e482b27fb
fix: CompilerHost.getSourceFile is being called for odd filenames besides the one being compiled
...
Ignore falsy file names from `getDefaultLibraryFileName`
Closes : #13629
2018-04-02 20:58:37 +02:00
Wesley Wigham
414bc49cc4
Module or import types ( #22592 )
...
* Type side of import types
* Value side of import types
* Accept library changes
* Refined implementation, more tests
* Allow resolutions to be performed late if the resolution still results in a file already in the build
* Add another test case
* Add some jsdoc usages
* Allow nodebuilder to use import types where appropriate
* Parse & check generic instantiations
* use import types in nodebuilder for typeof module symbols
* Wire up go to definition for import types
* Accept updated type/symbol baselines now that symbols are wired in
* PR feedback
* Fix changes from merge
* Walk back late import handling
* Remove unused diagnostic
* Remove unrelated changes
* Use recursive function over loop
* Emit type arguments
* undo unrelated change
* Test for and support import type nodes in bundled declaration emit
2018-04-02 10:18:23 -07:00
Nathan Shively-Sanders
5c442419dc
Include arrow functions as javascript initializers ( #23068 )
...
This means that they are treated as valid js containers, methods, etc.
2018-04-02 10:11:39 -07:00
Nathan Shively-Sanders
6d9a8250bd
Improve binding and jsdoc of chained special js assignments ( #23038 )
...
* Search for jsdoc on chained assignments
* Fix binding of chained binary expression js-assignments
* Test:chained jsdoc+chained prototype assignment
* Improve naming
2018-04-02 09:47:01 -07:00
Anders Hejlsberg
d093d6a1f8
Less aggressive test for type parameter references in conditional types
2018-04-02 09:22:46 -07:00
Anders Hejlsberg
b3829523b2
Merge pull request #23039 from Microsoft/fixConditionalConstraints
...
Improve conditional type constraints
2018-03-31 11:56:05 -07:00
Wesley Wigham
9b558f9535
Remove _this, _super, and _newTarget name conflict errors ( #22890 )
...
* Add new generated name kind for reused transpiler variables
* Remove error on _super or _newTarget conflict
* Add test with super helper conflict
* Remove error on _this conflict
* Fix lint
* Use flags instead of generated kinds, inline some things
* Accept rename
* Remove trailing whitespace
* Move helper emit into printer, rather than emitter"
* passthru module and target
* New test, accept baselines
* Make members private
2018-03-30 17:43:37 -07:00
Wesley Wigham
8543d30372
Add union check to improved error message ( #23027 )
2018-03-30 16:23:24 -07:00
Wesley Wigham
a53f9e8ec3
Call ensureModifiers on private property modifiers ( #23026 )
2018-03-30 16:07:09 -07:00
Anders Hejlsberg
6f681d276a
Constraint of 'T extends U ? T : F' should be 'T & U | F'
2018-03-30 15:28:01 -07:00
Mohamed Hegazy
31c3ef51d3
Merge pull request #22251 from jack-williams/jack-williams/no-implicit-symbol-to-string
...
Fix #19666 : Check for symbol types in template expressions
2018-03-30 09:32:11 -07:00
Mohamed Hegazy
849ecdf50a
Merge pull request #22981 from a-tarasyuk/bug/advanced-options-do-not-work-with---init
...
Allow using Advanced_Options with --init
2018-03-30 09:22:49 -07:00
Alexander T
75df5456a2
Allow using Advanced_Options with --init. Exclude all possible Advanced_Options in tsconfig.json which were NOT defined in command line
2018-03-30 07:49:16 +03:00
Anders Hejlsberg
7714a2bb5b
Merge pull request #22989 from Microsoft/fixImpliedConstraint
...
Fix implied constraints in conditional types
2018-03-29 17:06:16 -07:00
Mohamed Hegazy
b47c1fd5a1
Merge pull request #22593 from Kingwl/module-spelling-fix
...
add spelling suggestion support for module
2018-03-29 16:56:43 -07:00
Wesley Wigham
6b7bf5e22c
Do not rely on ElementAttributeProperty if it is not present ( #22936 )
...
* Do not rely on ElementAttributeProperty if it is not present
* Fix bug
* Fix nits and lint
2018-03-29 16:19:55 -07:00
Wesley Wigham
1ed30c6d4d
Elide type reference comments which are also imported ( #22752 )
...
* Elide type reference comments which are also imported
* Explicit undefined
* Accept reordered symbols
2018-03-29 16:15:55 -07:00
Wesley Wigham
3189d1732c
Handful more usages of emitIfPresent on optional nodes ( #22274 )
2018-03-29 15:45:17 -07:00
Andy
09cfc0f9ef
Remove unused method ( #23000 )
2018-03-29 15:44:06 -07:00
Andy
5cef6274c3
Remove duplicate helper function ( #23001 )
2018-03-29 15:43:31 -07:00
Mohamed Hegazy
e3f02b5608
Merge pull request #22275 from delftswa2018/21617-detailed-error-forof-iterators
...
Fix #21617 : Give detailed message on `for-of` of iterators without downlevelIteration
2018-03-29 15:43:00 -07:00
Wesley Wigham
ea8904e33d
Propagate noDefaultLib comment into emitted declaration files ( #23003 )
2018-03-29 15:38:29 -07:00
Benjamin Lichtman
d2d0f86831
Merge pull request #20374 from uniqueiniquity/symlinkTypeReferenceDirective
...
Handle failure to properly resolve type reference directives
2018-03-29 15:26:30 -07:00
Ryan Cavanaugh
5af72b5f02
Merge pull request #22993 from dhruvrajvanshi/issue-22785
...
Issue 22785
2018-03-29 15:10:04 -07:00
Wesley Wigham
793f4696a4
Fall back to check expression if resolving an export assigned entity name fails ( #22928 )
...
* Fall back to check expression if resolving an export assigned entity name fails
* Comments from code review
* Add back in assertion
* Remove nameNotFoundMessage check from resolveName isReferenced check (rely on just isUse instead)
2018-03-29 13:54:12 -07:00
Wesley Wigham
3acafe5f42
Consider property accesses in heritage clauses as type-space references for calculating type reference directives ( #22746 )
2018-03-29 13:51:52 -07:00
Andy
c861fa9202
Use 'map.get' instead of 'has' ( #22998 )
2018-03-29 13:48:24 -07:00
Wesley Wigham
43a482f03f
Emit amd-module and amd-dependency comments in emitter if printing declaration comments ( #22740 )
...
* Emit amd-module and amd-dependency comments in emitter if printing declaration comments
* Move code a bit
* Move again
2018-03-29 13:43:31 -07:00
Wesley Wigham
509a53fea7
Propagate CheckFlags.Late through instantiateSymbol ( #22749 )
2018-03-29 13:42:26 -07:00
Wesley Wigham
411c59a8ef
Copy comments from inferred types to generated nodes ( #22730 )
2018-03-29 13:38:36 -07:00
Wesley Wigham
64ee623fd6
NodeBuilder only preserves parameter modifiers for constructors ( #22706 )
2018-03-29 13:34:07 -07:00