Commit Graph

8398 Commits

Author SHA1 Message Date
Anders Hejlsberg 4bb5cfb9bb Add regression test 2018-09-25 18:17:21 -07:00
Anders Hejlsberg e36957aba1 Merge pull request #27028 from Microsoft/typedBindCallApply
Strict bind, call, and apply methods on functions
2018-09-24 18:20:05 -07:00
Wesley Wigham 8e1cce4b8f Add regression test for #25485 as it is already fixed (#27320) 2018-09-24 17:52:52 -07:00
Anders Hejlsberg 5510e0755e Merge branch 'master' into typedBindCallApply
# Conflicts:
#	tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.errors.txt
#	tests/baselines/reference/wrappedAndRecursiveConstraints4.errors.txt
2018-09-24 16:38:39 -07:00
Ron Buckton b8cf9d4f94 Fixes the completionForStringLiteralNonrelativeImport13 test 2018-09-24 16:17:40 -07:00
Wesley Wigham e1c8dc2768 Limit the narrow-to-fresh rule added with boolean literals to only boolean literals (#27274)
* Remove the narrow-to-fresh rule added with boolean literals

* Revert "Remove the narrow-to-fresh rule added with boolean literals"

This reverts commit 9f96fe5da3.

* Only apply freshness to booleans for now

* Add largeish example from issue

* Should be AND not OR

* Add minor improvements suggested by @ahejelsberg

* Reorder conditional a bit
2018-09-24 12:37:13 -07:00
Wesley Wigham b7fc092404 Fix non-selfclosing JSX tag contextual types (#27251) 2018-09-24 10:38:39 -07:00
Ron Buckton 5fb39769ad Merge pull request #27271 from Microsoft/fix24570-3
Fix iterated type in for-await-of
2018-09-21 12:28:18 -07:00
Ron Buckton 112fe6e2cc Fix iterated type in for-await-of 2018-09-21 10:40:45 -07:00
Ron Buckton 3a4d0b237f Add more tests for await 2018-09-21 10:32:28 -07:00
Ron Buckton 63adc5fb40 Add contextual typing for await operand 2018-09-21 10:32:18 -07:00
Ron Buckton 80dba4d63b Support promise-like types in contextual return type of async function 2018-09-21 10:32:00 -07:00
Wesley Wigham 219bb44b4d Distribute indexes of indexed access types first (#27243) 2018-09-20 17:03:34 -07:00
Wesley Wigham b56854a532 Set parent pointers on manufactured reference for property initialization check (#27246) 2018-09-20 16:54:01 -07:00
Andy 67d8263b30 Fix error message for class type in JSDoc missing type arguments (#27222) 2018-09-19 12:57:55 -07:00
Nathan Shively-Sanders 90d3f8b573 Only report expando use-before-def for identical control flow containers (#27199) 2018-09-18 15:28:16 -07:00
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
Anders Hejlsberg 9414fbe30b Merge branch 'master' into typedBindCallApply
# Conflicts:
#	src/compiler/diagnosticMessages.json
2018-09-12 13:31:59 -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