Commit Graph

12014 Commits

Author SHA1 Message Date
Alexander T
37add88b18 Update tests baselines 2018-07-20 10:17:27 +03:00
Alexander T
bf567b8a40 Change getModifiedTime type 2018-07-16 11:10:09 +03:00
Daniel Rosenwasser
60986adee5 Merge pull request #25507 from ajafff/leftmost-expr-tagged-template
getLeftmostExpression: handle TaggedTemplateExpression
2018-07-13 23:56:32 -07:00
Andy
e25a23bb3c Fix Buffer.from uses to handle node 5.4.1 bug (#25659) 2018-07-13 17:08:25 -07:00
Sheetal Nandi
49ac60f286 Support resolveJsonModule option when files contain the json file
Fixes #25636
2018-07-13 12:21:51 -07:00
Sheetal Nandi
47e513e151 Merge pull request #25627 from Microsoft/preserveOutputInConfig
Fix incorrect handling of preserveWatchOutput flag is in config file
2018-07-13 10:56:53 -07:00
Sheetal Nandi
ca083809a4 Fix incorrect handling of preserveWatchOutput flag is in config file
Fixes #25620
2018-07-12 18:29:02 -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
Ryan Cavanaugh
6a2ffec53d Merge pull request #25610 from RyanCavanaugh/buildOnWatchStartup
When running with -w, do an initial compilation
2018-07-12 12:51:16 -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
Ryan Cavanaugh
08d7b8fd10 When running with -w, do an initial compilation 2018-07-12 10:36:58 -07:00
Anders Hejlsberg
87ad612e70 Additional arity check following instantiation of generic rest parameter 2018-07-11 17:26:35 -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
Andy
5f4a03c408 Ensure TypeChecker#getTypeAtLocation returns a defined result (#25583)
* Ensure TypeChecker#getTypeAtLocation returns a defined result

* Update additional baseline
2018-07-11 16:33: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
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
Klaus Meinhardt
0de903ea17 rename function 2018-07-11 18:43:58 +02:00
Andy
8a3090bc35 Improve test for 'symbol.exports' (#25523)
* Improve test for 'symbol.exports'

* Remove SymbolFlags.HasExports and SymbolFlags.HasMembers

* Update baseline
2018-07-11 09:37:32 -07:00
Andy
990d445bb6 In services, when overload resolution fails, create a union signature (2) (#25100) 2018-07-11 08:54:47 -07:00
Sheetal Nandi
527093c758 Merge pull request #25566 from Microsoft/nonCommonJsResolveJsonIsError
Report errors for module generation other than "commonjs" with --resolveJsonModule
2018-07-10 15:30:23 -07:00
Sheetal Nandi
4dc3cd3773 Use getEmitModuleKind to check module generation kind 2018-07-10 15:28:21 -07:00
Sheetal Nandi
821ebcb529 Merge branch 'master' into cacheRecursiveDirectoryWatchers 2018-07-10 15:08:14 -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
Daniel Rosenwasser
3dd1d25e07 Merge pull request #25520 from Microsoft/internalizeNonexistentHelpers
Make getSuggestion APIs internal.
2018-07-10 13:47:05 -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
Ryan Cavanaugh
d7ce0eae3a Merge pull request #25524 from RyanCavanaugh/useGetEmitDeclarations
Use getEmitDeclarations instead of .declarations
2018-07-10 10:59:06 -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
Ryan Cavanaugh
e532f53189 Merge pull request #25531 from RyanCavanaugh/fix25527
Don't crash when an implicit rootDir constraint is violated under composite: true
2018-07-09 17:51:17 -07:00
Sheetal Nandi
357f0d6fbd Merge pull request #25521 from Microsoft/dontWatchAmbientModules
Do not watch modules that get resolved by ambient modules
2018-07-09 17:02:33 -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
Ryan Cavanaugh
72f0789908 Don't crash when an implicit rootDir constraint is violated under composite:true
Fixes #25527
2018-07-09 15:41:15 -07:00
Ryan Cavanaugh
1b1ffe952b Use getEmitDeclarations instead of .declarations 2018-07-09 14:51:40 -07:00
Sheetal Nandi
f941226011 Do not watch modules that get resolved by ambient modules 2018-07-09 12:05:29 -07:00
Daniel Rosenwasser
d62717b281 Make getSuggestion APIs internal. 2018-07-09 11:42:38 -07:00
Klaus Meinhardt
165a87affa getLeftmostExpression: handle TaggedTemplateExpression 2018-07-08 21:25:09 +02:00
Matt McCutchen
d5fd17bf0b Fix crash in elaborateElementwise when the target property is known but
it doesn't have a declaration (e.g., in a mapped type).

Fixes #25498.
2018-07-07 16:27:23 -04:00
Wesley Wigham
403df45678 Rework entity name decorator metadata fallback emit to not throw at runtime (#25421)
* Rework entity name decorator metadata fallback emit to not throw at runtime

* Remove trailing whitespace
2018-07-06 15:18:03 -07:00
Wesley Wigham
831be5d078 Introduce truncation into node builder and symbol display part writer (#24258)
* Introduce truncation into node builder and symbol display part writer

* Change default maxa truncation length to 240

* Fancy truncation + higher hard limit
2018-07-06 14:58:46 -07:00
Wesley Wigham
547856a11d Strip literal freshness from type queries (#25471)
* Strip literal freshness from type queries

* Rename to fix typo
2018-07-06 13:07:29 -07:00
Daniel Rosenwasser
ea73ee7fd7 Merge pull request #25477 from Microsoft/youProbablyMeantThisDeclaration
Link back to likely declarations in "did you mean...?" error messages
2018-07-06 12:03:10 -07:00
Daniel Rosenwasser
428f1de5bd Semicolon. 2018-07-06 11:28:50 -07:00
Nathan Shively-Sanders
6589e867fe getJSDocReturnType gets return type from @type tags (#25486)
* get return type from `@type` tags

Previously, getJSDocReturnType did not check the `@type` tag for a type
node that has a return type. Now it does.

* Improve doc comment of getJSDocReturnType

* More type predicates in type guards!

* Update API baselines with new documentation (?!)
2018-07-06 10:46:43 -07:00
Nathan Shively-Sanders
c228924543 Index signatures contribute properties to unions (#25307)
* Index signatures contribute properties to unions

This means that in a union like this:

```ts
type T = { foo: number } | { [s: string]: string }
```

`foo` is now a property of `T` with type `number | string`. Previously
it was not.

Two points of interest:

1. A readonly index signature makes the resulting union property readonly.
2. A numeric index signature only contributes number-named properties.

Fixes #21141

* Correctly handle numeric and symbol property names

1. Symbol-named properties don't contribute to unions.
2. Number-named properties should use the numeric index signature type,
if present, and fall back to the string index signature type, not the
other way round.
2018-07-06 10:46:05 -07:00