Commit Graph

8379 Commits

Author SHA1 Message Date
Andy
c57ff087d6 Add codefix to generate types for untyped module (#26588) 2018-09-18 11:47:29 -07:00
Sheetal Nandi
7852cf7ed3 Merge pull request #27175 from a-tarasyuk/bug/error-using-declaration-dir-with-composite
#26862: allow using declarationDir with composite option
2018-09-18 10:53:38 -07:00
Sheetal Nandi
4009d1654b Merge pull request #27176 from a-tarasyuk/bug/26786-no-error-when-using-allowjs-with-composite
#26786: deny using allowJs option with composite
2018-09-18 10:53:10 -07:00
Anders Hejlsberg
c0eb742cf3 Merge branch 'master' into fixEmptyObjectFalsiness 2018-09-18 06:28:27 -07:00
Alexander T
d11117829d allow using declarationDir with composite option 2018-09-18 14:38:48 +03:00
Alexander T
c510df1a53 deny using allowJs option with composite 2018-09-18 12:41:30 +03:00
Wesley Wigham
f6321bf6d5 Elaborate into arrow return expressions and array types (#27040)
* Dive into simple arrow functions when elaborating errors

* Dive into array literals as though they were tuples when elaborating, if possible

* Make parameter required

* Remove misleading errors by deeply tuplefying

* Remove lib related spans
2018-09-17 16:45:54 -07:00
Ryan Cavanaugh
ba76a8412f Merge pull request #26935 from ajafff/abstract-baseclass-property
Error accessing abstract property in constructor of abstract subclass
2018-09-17 16:23:34 -07:00
Nathan Shively-Sanders
59e4770a51 Fix enum tag circular references (#27161)
* Fix enum tag circular references

Also, don't try to resolve enum tag types in Typescript.

* Improve comment
2018-09-17 16:06:17 -07:00
Andy
cfd0a62357 When renaming module, ensure rename span is just the last component of the path (#27151) 2018-09-17 15:26:41 -07:00
Wesley Wigham
a55c0b7df9 Allow drawing inferences to conditional type branches (#27012)
* Allow drawing inferences to conditional type branches

* Fix lint
2018-09-17 15:19:23 -07:00
Wesley Wigham
c3b4f72498 Improve indexed access inferences (#27015) 2018-09-17 15:19:11 -07:00
Ryan Cavanaugh
a5326e68d0 Merge pull request #26866 from NMinhNguyen/allowSyntheticDefaultImports-if-esModuleInterop
Enable allowSyntheticDefaultImports if esModuleInterop is enabled
2018-09-17 15:03:28 -07:00
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
Anders Hejlsberg
eb06af1901 Add tests 2018-09-17 13:01:53 -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