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 9f96fe5da33f9297157b326c37680a964b23d7eb.
* 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