Commit Graph

12392 Commits

Author SHA1 Message Date
Daniel Rosenwasser
5ab8bd85ae Try to find object/intersection types with the most overlap when failing assignability against unions. 2018-09-13 17:49:09 -07:00
Andy
2b888c30f9 Consistently pass indent to 'parseTagComments' (#27055)
* Consistently pass indent to 'parseTagComments'

* Update baselines
2018-09-12 17:44:06 -07:00
Wesley Wigham
d3463ce356 Avoid circularly resolving names when looking up type members using resolveName (#26924)
* Avoid circularly resolving names when looking up type members using resolveName

* Add comment
2018-09-12 17:16:34 -07:00
Nathan Shively-Sanders
614423b287 Fix this-type in prototype-assigned object literals (#26925)
* Fix this-type in prototype-assigned object literals

Some cases were missing from tryGetThisTypeAt.
Fixes #26831

* Lookup this in JS only for  @constructor+prototype assignments
2018-09-12 16:21:17 -07:00
Nathan Shively-Sanders
2f8a646f8e isExpandoFunctionDeclaration only checks values (#27052)
Previously it checked types too, which caused a crash because types
don't have valueDeclaration set. But expando functions can't export
types, only values.
2018-09-12 12:21:50 -07:00
Nathan Shively-Sanders
6bd1da20c9 Rename JS-specific concepts (#26795)
* Rename JS concepts

1. Assignment declaration -- an assignment that is treated like a
declaration. Previously called [JS] special (assignment|declaration),
among other things.
2. Expando -- a value that can be used as a target in assignment
declarations. Currently, a class, function or empty object literal.
Functions are allowed in Typescript, too. Previously called a JS
container, JS initializer or expando object.
3. JavaScript -> Javascript. This is annoying to type, and looks like
'Java Script' in a camelCase world.

Everything is a pure rename as far as I know. The only test change is
the API baselines, which reflect the rename from SymbolFlags.JSContainer
to SymbolFlags.Assignment.

* Remove TODO

* Rename Javascript->JS

Note that this introduces a variable name collision in a couple of
places, which I resolved like this:

```ts
const isInJavascript = isInJSFile(node);
```
2018-09-12 10:44:46 -07:00
Ron Buckton
f2a1a428ea Merge pull request #27035 from Microsoft/fixTypesVersionTests
Sanitize module resolution logs for typesVersions entries
2018-09-11 14:45:39 -07:00
Wesley Wigham
31374d21bf Provide suggestions for common can-not-find-name errors (#27034) 2018-09-11 14:42:17 -07:00
Ron Buckton
5d79704931 Sanitize module resolution logs for typesVersions entries 2018-09-11 14:19:28 -07:00
Wesley Wigham
1c1379252e Prefer elaborating on expressions which could be called to produce a correct type by suggesting such (#27016)
* Prefer elaborating on expressions which could be called to produce a correct type by suggesting such

* Pass relation through elaboration machinery
2018-09-11 14:11:31 -07:00
Daniel Rosenwasser
aa9230f313 Merge pull request #27020 from Kingwl/improve_accidentally_calling_type-assertion_expressions
improve Diagnostics for accidentally calling type-assertion expressions
2018-09-11 14:00:31 -07:00
Sheetal Nandi
e1daa470a3 Merge pull request #26983 from Tyriar/26850_invert_gutter
Invert gutter instead of setting colors
2018-09-11 11:33:37 -07:00
Sheetal Nandi
08c970a03d Merge pull request #26865 from chrissantos1995/bugs/fix-empty-files-diagnostics
Fix empty files diagnostics reporting
2018-09-11 11:25:29 -07:00
王文璐
2cf2bbd5f7 improve test case and add related diagnostic 2018-09-11 16:20:38 +08:00
Klaus Meinhardt
66a401ae64 Fix FunctionType emit when only parameter has no type
Fixes: #27018
2018-09-11 09:39:11 +02:00
王文璐
6b2ea463b2 improve Diagnostics for accidentally calling type-assertion expressions 2018-09-11 14:35:01 +08:00
Wesley Wigham
e9c6d967f6 Add related span pointing at missing arguments (#27013) 2018-09-10 16:40:33 -07:00
Daniel Imms
745f5be2cb Invert gutter instead of setting colors
Fixes #26850
2018-09-08 13:26:14 -07:00
christian
16477b6506 Take into account undefined nodeValue when recording diagnostic 2018-09-08 00:06:07 -04:00
Ron Buckton
a255d9a163 Merge branch 'master' into typesVersions 2018-09-07 13:52:12 -07:00
Wesley Wigham
f8b6a8fc8d Introduce literal freshness for literal enum member types (#26556)
* Introduce literal freshness for literal enum members, allow enum references in ambient const initializers

* Merge statements

* Add enum literal readonly property test case

* Accept better baselines post-merge
2018-09-07 12:09:07 -07:00
Daniel Rosenwasser
cf2f339a5c Merge pull request #26895 from Microsoft/callableErrors
Find first callable/constructable type in union when appropriate
2018-09-07 00:06:11 -07:00
christian
ec72f4751d Add location info to empty lists diagnostics when tsconfig file exists 2018-09-06 20:40:02 -04:00
Sheetal Nandi
88d5b04c70 Lowercase type reference directives when determining to reuse program structure (just like when we create new program) 2018-09-06 13:26:44 -07:00
Ryan Cavanaugh
8f654f0f1e Merge pull request #21957 from jack-williams/typeof-in-switch
Fix #2214. Support narrowing with typeof in switch condition.
2018-09-06 10:46:13 -07:00
Andy
8c22770ea8 Improve 'isWriteAccess' for findAllReferences (#26889) 2018-09-06 10:44:32 -07:00
Sheetal Nandi
ddba6d8a70 Merge pull request #26825 from Microsoft/resolveJsonModuleEmit
Support json module emit when module emit is commonjs, amd, es2015 or esnext
2018-09-06 09:57:47 -07:00
Sheetal Nandi
8b30ff8393 Merge pull request #26817 from Microsoft/resolvingJsonModuleLikeJsExportsEqual
Use widened type and non fresh type when resolving json module
2018-09-06 09:49:53 -07:00
Jack Williams
911c59f47f Merge branch 'master' into typeof-in-switch 2018-09-06 09:33:01 +01:00
Wesley Wigham
d8f736d319 Change typeof narrowing to narrow selected union members (#25243)
* For typeof narrow all union members prior to filtering

* Revise narrowTypeByTypeof to both narrow unions and applicable union members

* Add repros from issue
2018-09-06 00:41:09 -07:00
Ryan Cavanaugh
c62920ac81 Merge pull request #26392 from mattmccutchen/declare-module-advice
Fixes to the advice for untyped module imports from unknown packages.
2018-09-05 22:02:51 -07:00
christian
ea984d7b64 Centralize diagnostic reporting for empty files diagnostic 2018-09-05 23:18:39 -04:00
Ryan Cavanaugh
cfc6d353b2 Merge pull request #26589 from Microsoft/deduplicate_overloads
Remove unused overloads of 'deduplicate' and 'deduplicateSorted'
2018-09-05 17:43:52 -07:00
Ryan Cavanaugh
54f7666017 Merge pull request #26453 from ajafff/abstract-property-in-initializer
disallow abstract property access in property initializer
2018-09-05 17:43:21 -07:00
Ryan Cavanaugh
ed70d4887a Merge pull request #25633 from Kingwl/strictParameter
add use strict and simple parameter check
2018-09-05 17:15:52 -07:00
Wesley Wigham
0b1183a461 Allow isSymbolAccessible to paint object literal declarations as visible (#24668)
* Dont use resolveEntityName for computed property name symbol resolution - use checkExpression and resolvedSymbol instead

* Fix lint
2018-09-05 14:52:47 -07:00
Wesley Wigham
69c7e67c88 Check privateness when emittign readonly/const props (#26920) 2018-09-05 13:49:38 -07:00
Ryan Cavanaugh
1e2fb9f0ae Merge pull request #26465 from rnathanday/master
include leading non-ASCII horizontal whitespace
2018-09-05 12:38:09 -07:00
Anders Hejlsberg
695aae7be8 Merge pull request #26848 from Microsoft/deferUnionIntersectionReduction
Defer union and intersection type reduction
2018-09-05 12:33:54 -07:00
Ryan Cavanaugh
f79e64561f Merge pull request #26870 from ajafff/composite-files-check
better condition for file include exhaustiveness check
2018-09-05 12:32:56 -07:00
Ryan Cavanaugh
69f91b5ed8 Merge pull request #26837 from mattmccutchen/issue-26835
Argument arity error should only consider signatures with correct type argument arity.
2018-09-05 12:22:48 -07:00
Ryan Cavanaugh
4717ddb986 Merge pull request #26828 from Microsoft/narrowUnknownByObject
Narrowing unknown by typeof object to object | null
2018-09-05 12:16:24 -07:00
Ryan Cavanaugh
6465e9dcdd Merge pull request #26292 from Kingwl/tupleIndexAccessCheck
check index access for fixed length tuple
2018-09-05 12:10:46 -07:00
Ryan Cavanaugh
d265fbf7f7 Merge pull request #26192 from ajafff/createprogram-nochecker
createProgram: don't use TypeChecker
2018-09-05 11:49:57 -07:00
Ryan Cavanaugh
5d65e86756 Merge pull request #23253 from Kingwl/definite-assignment-assertion-improve
improve parser and error message if definite assignment assertions in…
2018-09-05 11:49:13 -07:00
Ryan Cavanaugh
4975dc85b1 Merge pull request #25822 from Kingwl/rechabilityImprove
improve enum rechability check
2018-09-05 11:46:07 -07:00
Wesley Wigham
62d8b85f1d Allow literal initializers of readonly properties in declaration files (#26313)
* Allow literal initializers of readonly properties in declaration files

* Move some conditions a bit
2018-09-05 11:30:05 -07:00
Ron Buckton
e726e4cfec PR Feedback 2018-09-05 11:23:39 -07:00
Andy
bcb815b3ac Remove duplicate function createTextRange (#23346)
* Remove duplicate function createTextRange

* Always allow end=-1

* Put noAssert back, pending #23370

* Use getRangeUnion helper

* Update API (#24966)
2018-09-05 11:19:56 -07:00
Andy
06774962ed Properly handle JS enum symbols (#26893) 2018-09-05 11:19:32 -07:00