Commit Graph

8363 Commits

Author SHA1 Message Date
Nathan Shively-Sanders c9f190283e Fix non-toplevel prototype assignment (#27096)
* Fix non-toplevel prototype assignment

binder was using the wrong node to lookup the containing class type for
prototype assignment, so it incorrectly put the prototype declaration on
the class' symbol.

This correction to the binder in turn required a change in
getJSClassType in the checker. It now has to look at the "prototype"
property for the prototype instead of looking on the class symbol's exports
(which makes no sense).

* Refactor per PR suggestion
2018-09-17 13:07:05 -07:00
Nathan Shively-Sanders 989a717b04 Definite assignment checking for expando properties (#27128) 2018-09-17 12:56:39 -07:00
Andy e710645bf9 Never escape string literals from textChanges (#26971)
* Never escape string literals from textChanges

* Use `boolean | undefined`
2018-09-17 11:06:39 -07:00
Nathan Shively-Sanders 394ee31a56 Fix cross-file merge of assignment decl valueDeclaration (#26918)
* Fix cross-file merge of assignment decl valueDeclaration

Previously mergeSymbol in the checker always updated valueDeclaration if
target.valueDeclaration was an assignment declaration. The binder only
updates target.valueDeclaration if it is an assignment declaration and
source.valueDeclaration is *not* an assignment declaration. Now the
checker behaves the same way as the binder.

* Update baselines

* Add a fix for #27099

Makes commonjs merge with globals when appropriate.

* Add a separate jsGlobalAugmentations table

Instead of trying to filter these augmentations out of the normal symbol
table of commonjs modules.
2018-09-16 07:46:03 -07:00
Wesley Wigham 921863eb31 Use head message at top level of elaboration if elaborating via possible call (#27107)
* Use head message at top level of elaboration if elaborating via possible call

* Accept updated baseline
2018-09-15 13:24:22 -07:00
Wesley Wigham 20eafb5b74 Introduce boolean literal freshness (#27042) 2018-09-14 15:00:09 -07:00
Wesley Wigham 4eb59a2d77 Fixing react defaultize+generic default props interaction (#27088)
* Add repro for fixed issue

* Fix JSX propagating flags and contextual types

* Accept slightly changed baselines

* Add modern react.d.ts and regression test
2018-09-14 14:18:47 -07:00
Andy 95c1570c4b Fix bug: VariableDeclaration may have SemanticMeaning.All if an @enum in JS (#27085) 2018-09-14 09:20:54 -07:00
Andy 009dc0f1b9 For completion in string literal union, don't include strings already in the union (#26755) 2018-09-14 09:20:11 -07:00
Andy ee7d0e21da getEditsForFileRename: Don't resolve to a.js when a.ts is moved (#27081) 2018-09-13 15:49:42 -07:00
Andy f71d6005a2 Use nextToken() after parsing a tag name so we can parse type keywords (#26915)
* Use nextToken() after parsing a tag name so we can parse type keywords

* Make callback to skipWhitespaceOrAsterisk non-optional
2018-09-13 15:49:06 -07:00
Andy ebfcc1b52d Fix bug: Ignore @enum tag in TS (#27076) 2018-09-13 15:24:49 -07:00
Andy 1a69f78fba Fix bug: Ensure export = symbol always has a valueDeclaration (#26973) 2018-09-13 12:53:46 -07:00
Andy cc7bfc0349 Support testing jsdoc tags of completions (#26962) 2018-09-13 08:47:50 -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
Ryan Cavanaugh 5a26747428 Merge pull request #27004 from RyanCavanaugh/noJsNewModuleCompletions
Don't offer module completions in non-module JS files
2018-09-12 08:32:14 -07:00
Wesley Wigham 31374d21bf Provide suggestions for common can-not-find-name errors (#27034) 2018-09-11 14:42:17 -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
王文璐 2cf2bbd5f7 improve test case and add related diagnostic 2018-09-11 16:20:38 +08: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
Andy 24a5bdd1b1 Add 'fileToRename' property to RenameInfo (#24702)
* Add 'fileToRename' property to RenameInfo

* Update tests

* Support directory rename
2018-09-10 11:25:03 -07:00
Ryan Cavanaugh 95ba73e16b Don't offer module completions in non-module JS files 2018-09-10 11:24:51 -07:00
Ron Buckton af8e44ac85 Merge pull request #26568 from Microsoft/typesVersions
Adds support for "typesVersions" redirects
2018-09-07 15:40:50 -07:00
Ron Buckton a255d9a163 Merge branch 'master' into typesVersions 2018-09-07 13:52:12 -07:00
Andy cbde861af6 Improve use of SemanticMeaning in symbol display (#26953) 2018-09-07 12:23:23 -07:00
Andy b1430e5e2c Avoid adding duplicate completion from contextual keyword (#26947) 2018-09-07 12:18:03 -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
Andy d31973b905 findAllReferences: Consistently use 'this' parameter as definition site (#26950) 2018-09-06 17:06:50 -07:00
Andy c401d63c5f findAllReferences: Fix declarationIsWriteAccess for PropertyAssignment in destructuring (#26949) 2018-09-06 15:24:07 -07:00
Andy a0ebbfb8f0 Fix JSX completions after boolean property (#26943) 2018-09-06 14:15:12 -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 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
Daniel Rosenwasser d989e10c49 Renamed test. 2018-09-05 15:11:48 -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
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