8104 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
945fa541c3 No assert for nameless typedefs (#26695)
The assert is over-optimistic and should be removed until we can parse
every possible thing that people might put in a JSDoc type position.

Fixes #26693
2018-08-28 10:20:31 -07:00
Wesley Wigham
820220077b
Port evolving array type stack/oom fix to release-3.0 (#26620)
* Use context free expression types in evolving array checking and cache context free type (#26585)

* Use context free expression types in evolving array checking and cache context free type

* Simplify second test

* Low max depth a tad just so node 8 wont stack out

* By request make flow control a round number

* Add missing declaration
2018-08-23 11:33:11 -07:00
Wesley Wigham
9b95d562dd
Fix decorated accessor emit (#26016) (#26103) 2018-07-31 18:22:54 -07:00
Wesley Wigham
afef668a19
Remove extraneous const, fixing #25714 (#25982) (#25984) 2018-07-26 16:40:30 -07:00
Wesley Wigham
45e44403cc
Fix #25954 - Always retain export modifier if default modifier is present (#25974) (#25981)
* Fix #25954 - Always retain export modifier if default modifier is present

* Also fix an issue with scope markers in ambient modules not affecting the modifiers required
2018-07-26 14:51:09 -07:00
Anders Hejlsberg
8738feacfd Add regression test 2018-07-25 10:35:34 -07:00
Wesley Wigham
2376e4eb73
Lookup files by resolved Path and not by fileName in sourcemapDecoder when querying program (#25908)
* Check if the file returned by the program actually refers to the same file as we intend

* Simplify
2018-07-24 15:44:59 -07:00
Mohamed Hegazy
fe3bb5888c
Merge pull request #25904 from weswigham/port-25838
Call toPath on sourceRoot to ensure it is always absolute (#25838)
2018-07-24 15:01:00 -07:00
Wesley Wigham
0e4db0758b
Call toPath on sourceRoot to ensure it is always absolute (#25838)
* Call toPath on sourceRoot to ensure it is always absolute

* Leave canonicalization to avoid a Path/string union
2018-07-24 14:15:49 -07:00
Wesley Wigham
a4d3bddf62
Inspect all possible module paths when looking for the best one to create a specifier with (#25850)
* Inspect all possible specifier paths when looking for the best one

* Add missing secondary option from test
2018-07-24 14:12:44 -07:00
Andy
8817d9e5bc
Ensure fixSpelling and importFixes still trigger on "Did you mean the instance/static member ..." (#25847) (#25848) 2018-07-20 18:00:58 -07:00
Anders Hejlsberg
d5f3cee35d Add regression test 2018-07-20 15:38:33 -07:00
Daniel Rosenwasser
9d23080b58 Added test. 2018-07-18 15:31:16 -07:00
Andy
53d240015c
Don't bother trying to get the name of a default export (#25773) (#25776)
* Don't bother trying to get the name of a default export

* Fix lint
2018-07-18 12:23:57 -07:00
Andy
83b29eddd7
Fix formatting at trailing comma (#25706) (#25743) 2018-07-17 17:05:49 -07:00
Mohamed Hegazy
75930f87fe
Merge pull request #25699 from Microsoft/revert-explicitly-typed-special-assignments
Revert explicitly typed special assignments
2018-07-16 13:15:06 -07:00
Nathan Shively-Sanders
16676f2707 Revert "Explicitly typed special assignments are context sensitive (#25619)"
This reverts commit 32e60a9647162bc72092827f28c7c54328a4ad57.
2018-07-16 12:39:08 -07:00
Andy Hanson
1038c76f88 navigationBar: Don't merge unrelated grandchildren 2018-07-16 12:38:38 -07:00
Nathan Shively-Sanders
ff8c30d636 Revert "Explicitly typed prototype assignments are context sensitive (#25688)"
This reverts commit 5b21cbc0c9f5b4501770c5994430c4e9af5f162e.
2018-07-16 12:38:27 -07:00
Daniel Rosenwasser
93ab352189
Merge pull request #25565 from Microsoft/popFirst
Make 'pop' the first method that uses 'T' in 'Array'
2018-07-16 11:41:44 -07:00
Andy
afdd47c9ce
Simplify rules for isControlFlowEndingStatement (#25693) 2018-07-16 11:17:46 -07:00
Nathan Shively-Sanders
5b21cbc0c9
Explicitly typed prototype assignments are context sensitive (#25688)
* Explicitly typed prototype assignments:ctx sensitive

Follow up to #25619: Add the necessary code to type `prototype`
correctly in prototype assignments so that code like
`F.prototype = { ... }` properly makes the object literal context
sensitive.

* Fix lint
2018-07-16 10:03:39 -07:00
Andy
3f4412b173
getContainingList: Handle TypeAliasDeclaration (#25614)
* getContainingList: Handle TypeAliasDeclaration

* Handle ClassExpression and InterfaceDeclaration
2018-07-13 10:30:22 -07:00
Andy
27da9eab8d
fixUnreachableCode: Don't delete whole block when non-first line is unreachable (#25625) 2018-07-13 09:57:04 -07:00
Andy
88c6ced3c6
indentMultilineCommentOrJsxText: Fix bug when 'parts' is empty (#25645) 2018-07-13 09:56:21 -07:00
Andy
1fb050bcca
Don't report unused diagnostics when the unused node has a parse error (#25598)
* Don't report unused diagnostics when the unused node has a parse error

* Update test
2018-07-12 17:24:59 -07:00
Nathan Shively-Sanders
32e60a9647
Explicitly typed special assignments are context sensitive (#25619)
* Explicitly typed js assignments: context sensitive

Explicitly typed special assignments should be context sensitive if they
have an explicit type tag. Previously no special assignments were
context sensitive because they are declarations, and in the common,
untyped, case we inspect the right side of the assignment to get the
type of the left side, and inspect the right side of the assignment to
get the type of the left side, etc etc.

Note that some special assignments still return `any` from
checkExpression, so still don't get the right type.

Fixes #25571

* Change prototype property handling+update bselines

* Fix indentation in test

* Update baselines
2018-07-12 15:28:53 -07:00
Andy
f500289a44
Stricter test that JSDoc @type tag matches function signature (#25615) 2018-07-12 14:02:02 -07:00
Anders Hejlsberg
0f8b6fcd27
Merge pull request #25608 from Microsoft/genericRestArityCheck
Fix generic rest parameter arity checks
2018-07-12 09:09:31 -10:00
Andy
f9764d17f0
fixUnusedIdentifier: Support deleting @template tag (#25597)
* fixUnusedIdentifier: Support deleting @template tag

* Just return createTextRangeFromNode instead of adjusting range
2018-07-12 11:26:17 -07:00
Anders Hejlsberg
5822a8c923 Merge branch 'master' into genericRestArityCheck
# Conflicts:
#	src/compiler/checker.ts
2018-07-12 08:20:48 -10:00
Nathan Shively-Sanders
bd7b97ce61
Get return type from @type tag (#25580)
* Get return type from `@type` tag

This only happens in the checker, where the type is easily accessible.
The syntax-based check in getEffectiveReturnTypeNode as a fast path, and
for other uses that don't want to make a call to getTypeFromTypeNode.

Fixes #25525

* Implement PR suggestions

* Error when type tag isn't callable

* Fix lint
2018-07-12 10:49:41 -07:00
Anders Hejlsberg
55180f7725 Add tests 2018-07-12 07:07:13 -10:00
rflorian
66e9aaac18 Issue 19220 function parameter arity (#24031)
* Added reference test case and diagnostics message

* Adjusted arity checks to account for non-contiguous overloads

* Code cleanup, baseline not yet commited

* Accepted test baselines and minor implementation changes

* Cleaned up baseline tracking the now renamed arity check test

* Add range response when range contains only 2 values

* Added recent baseline

* Refined arity error messages when available overloads can be grouped

* Rolled back code formatting

* WIP cleanup needed in a few edge cases

* Finished adding new more descriptive error messages

* Code cleanup

* Added simplified version of bugfix for #19220

* Rebased onto master

* Removed whitespace after type assertion

* Code review simplifications

* Use correct diagnostic name

* Code review changes and simplification of diagnostic message

* Revert formatting changes
2018-07-11 17:19:56 -07:00
Mohamed Hegazy
2d0d655fea
Merge pull request #25561 from ajafff/multiple-prologue-directives
handle multiple prologue directives
2018-07-11 11:38:01 -07:00
Nathan Shively-Sanders
42a2d9e568
Excess property understands conditional types (#25584)
Previously it did not, causing misleading excess property errors. Note
that assignability errors with conditional types are still usually
confusing. This PR doesn't address that.

Also, make sure that exact matches in getSpellingSuggestion are skipped.
2018-07-11 11:24:40 -07:00
Andy
52486ae362
Improve isPossiblyTypeArgumentPosition (#25043)
* Improve isPossiblyTypeArgumentPosition

* Update API (#24966)

* Handle new Type<Type<

* Add test for `new C < C<`
2018-07-11 11:15:04 -07:00
Andy
19993a5408
When import("foo") has module resolution error, error span should be "foo" (#25569)
* When `import("foo")` has module resolution error, error span should be "foo"

* Update more tests
2018-07-11 10:06:08 -07:00
Klaus Meinhardt
2a960011d7 Merge branch 'master' of github.com:Microsoft/TypeScript into multiple-prologue-directives 2018-07-11 18:47:23 +02:00
Andy
990d445bb6
In services, when overload resolution fails, create a union signature (2) (#25100) 2018-07-11 08:54:47 -07:00
Daniel Rosenwasser
94ad71ecc3 Added test. 2018-07-10 19:34:19 -07:00
Andy
7a79a45aab
JSX closing tag completion: Include '>' if not already present (#25551)
* JSX closing tag completion: Include '>' if not already present

* Expand comment
2018-07-10 16:14:57 -07:00
Sheetal Nandi
3866a5048b Report errors for module generation other than "commonjs" with --resolveJsonModule
Fixes #25517
2018-07-10 15:00:46 -07:00
Andy
b6640e9c5d
getJsxClosingTagAtPosition: Return a result if parent has same name and is unclosed (#25557) 2018-07-10 14:31:18 -07:00
Klaus Meinhardt
f9eb976319 handle multiple prologue directives
Fixes: #24689
2018-07-10 22:42:21 +02:00
Andy
1fc1495863
Increase span of unreachable code error (#25388)
* Increase span of unreachable code error

* Add a new diagnostic for each range of unreachable statements

* Update baselines
2018-07-10 11:45:16 -07:00
Andy
72be7156d2
Support completions for unique symbol exported from module (#25537) 2018-07-10 10:47:43 -07:00
Nathan Shively-Sanders
c344a3ea5b
Fix bogus use before def in jsdoc (#25532)
Block scoped variables, classes and enums would issue a bogus
use-before-def error in jsdoc because name resolution always adds Value,
even when resolving a type.

Fixes #25097
2018-07-10 08:33:19 -07:00
Nathan Shively-Sanders
60c0dfeb25
Fix crash in JS when checking destructuring shorthand assignment (#25529) 2018-07-10 08:32:56 -07:00
Wesley Wigham
3d64b9d7ac
Handle intersection types when looking up base types for visibility (#25418)
* Handle intersection types when looking up base types for visibility

* Extract protected constructor check to function and recur on intersections

* Remove unneeded cast
2018-07-09 16:58:55 -07:00