Wesley Wigham and GitHub
4a5eeb0bb2
Skip comparing optional property flag when comparing against discriminant properties ( #38101 )
2020-04-24 18:33:30 -07:00
Daniel Rosenwasser and GitHub
1b8c68d746
Revert "Add check for delete expression must be optional ( #37921 )" ( #38154 )
...
This reverts commit 39beb1d011 .
2020-04-24 16:05:18 -07:00
Ryan Cavanaugh and GitHub
84c83da3a9
Revert #37106 ( #38172 )
2020-04-24 16:04:33 -07:00
Ron Buckton and GitHub
968943f355
Reset error variable in downlevel for-await-of loop ( #38170 )
...
* Rename forAwait tests
* Reset error var in for-await loop
2020-04-24 14:59:41 -07:00
Andrew Branch and GitHub
ce95d9ca6b
Fix values and types merging in JS module exports ( #37896 )
...
* Fix values and types merging in JS module exports
* Fix everything
* Share `setValueDeclaration` between binder (local merge) and checker (cross-file merge)
* Revert accidental changes to baselines
* Update baseline from master merge
2020-04-24 13:49:48 -07:00
Wesley Wigham and GitHub
1785d6c707
Special-case export assigned namespaces in getSpecifierForModuleSymbol so they behave like their containing module symbol ( #38151 )
2020-04-24 13:10:34 -07:00
Andrew Branch and GitHub
fe140acc09
Fix truthiness call check for this-property access ( #38163 )
2020-04-24 13:02:17 -07:00
Ron Buckton and GitHub
38ff7762ec
Fix temp variable scoping in async generators ( #38121 )
2020-04-24 12:10:29 -07:00
Ron Buckton and GitHub
a7d6825e25
Fix temp vars referenced in parameter ( #38130 )
...
* Fix temp vars referenced in parameter
* Update error message
2020-04-23 20:45:39 -07:00
Wesley Wigham and GitHub
815dc90dc5
Issue an error on cross-file merges we cant emit ( #38148 )
2020-04-23 19:01:16 -07:00
Andrew Branch and GitHub
9569e8aaa4
Fix newline issues when adding multiple imports ( #38119 )
...
* Add new import declarations in a single TextChanges call
* Refactor
2020-04-23 11:59:38 -07:00
Nathan Shively-Sanders and GitHub
032aa90289
Filter undefined from binding elements with initialisers without undefined in the type ( #38122 )
...
* Filter undefined from binding elts w/o undefined-containing inits
* use getTypeOfInitializer instead
* improve comment based on Wesleys suggestion
2020-04-22 15:45:15 -07:00
Nathan Shively-Sanders and GitHub
f248567dab
Filter undefined only in binding patterns in params ( #38116 )
...
initialiser. But this is only correct when the initialiser is for a
parameter. For example:
```ts
declare let x: { s: string } | undefined;
const { s } = x;
```
This PR removes undefined from the type of a binding pattern only when
the binding pattern's parent is a parameter. This fixes the regression
from 3.8. However, it's still not the ideal fix; we should be able to
use control flow to solve this problem. Consider:
```ts
const { s }: { s: string } | undefined = { s: 'hi' }
declare function f({ s }: { s: string } | undefined = { s: 'hi' }): void
```
Neither line should have an error, but the first does in 3.8 and after
this change.
2020-04-22 09:56:32 -07:00
Wenlu Wang and GitHub
39beb1d011
Add check for delete expression must be optional ( #37921 )
...
* Add check for delete expression must be optional
* Add more tests
2020-04-22 03:12:01 -07:00
Andrew Branch and GitHub
7d4fc73331
Fix preserveNewlines printer option when a list child has the same start or end as its parent ( #37846 )
...
* Fix preserveNewlines printer option when a list child has the same start or end as its parent
* Fix leading line separator calculation and JSX bug
2020-04-21 15:34:30 -07:00
Wesley Wigham and GitHub
a72e49e875
Delay pulling on signature contextual type until absolutely needed ( #37851 )
2020-04-21 13:29:45 -07:00
Wesley Wigham and GitHub
136f728bb0
Fix js declaration emit for inherited and this-typed inherited fields ( #37970 )
2020-04-21 13:13:50 -07:00
Nathan Shively-Sanders and GitHub
6ea291a142
Remove superCallShouldBeFirst error ( #37947 )
...
* Remove superCallShouldBeFirst error
It seems redundant since TS gives an error on any use of `this` before
super, and non-`this` uses before `super` should be fine.
Fixes #37371
* Revert "Remove superCallShouldBeFirst error"
This reverts commit 3c09153c8a .
* error except for target:"esnext" && useDefineForClassFields
2020-04-21 12:58:37 -07:00
Nathan Shively-Sanders and GitHub
63ff6572ae
Fix use-before-def with methods on esnext+useDefineForClassFields ( #38033 )
...
* Fix use-before-def with methods on esnext+useDefineForClassFields
It was incorrectly flagging methods as used before their definition, but
this is allowed under any emit.
* Add instance function test case
2020-04-21 08:09:25 -07:00
Sheetal Nandi and GitHub
e7774c6144
Handle non literal computed name when trying to get the name for object literal property name in json object ( #37988 )
...
Fixes #37984
2020-04-20 12:58:38 -07:00
Eli Barzilay and GitHub
9c1157a801
fix(37242): add reference to return type for JSDocFunctionType ( #37911 )
2020-04-20 14:17:03 -04:00
Anders Hejlsberg and GitHub
5d78cbdbbd
Propagate nonInferrableType in &&, || and ?? operators ( #38035 )
...
* Propagate nonInferrableType in &&, || and ?? operators
* Add regression test
* Simpler solution: getTypeFacts(neverType) should return TypeFacts.None
2020-04-20 11:04:24 -07:00
Alexander T
a2628c9088
fix(37242): add reference to return type for JSDocFunctionType
2020-04-17 09:05:23 +03:00
Wesley Wigham and GitHub
deb5bac520
Use string representation for negative numeric property names ( #37936 )
2020-04-15 21:11:05 -07:00
Wesley Wigham and GitHub
cdc384006c
Fix crash on declaration emit for globalThis ( #37992 )
2020-04-15 13:37:51 -07:00
Alexander T and GitHub
a16c44180a
fix(37940): add space after parameter decorator ( #37959 )
2020-04-15 11:42:29 -07:00
okmttdhr and GitHub
06e05f25e1
Improve error message for computed enums ( #37790 )
...
* Add error message for computed enums
* Add test case for computed enums
* Accept baselines
* Fix returned value when error
2020-04-15 13:50:33 -04:00
Anders Hejlsberg and GitHub
92cd3ae299
No iteration type errors during CFA ( #37965 )
...
* No iteration type errors during CFA
* Add regression test
2020-04-15 10:34:07 -07:00
Ashley Claymore and GitHub
4538640d8a
Added error when Enum member initaliser references itself ( #34655 )
...
Fixes #34606
2020-04-14 15:20:19 -04:00
Wesley Wigham and GitHub
edd4e0a42b
Add fastpath to isRelatedTo for type references ( #37481 )
...
* Add fastpath to isRelatedTo for type references
* Do not check intersections or unions to ignore propegating reference flags, properly set comparing jsx flag
* Re-remove unneeded check
* Just check for TypeFlags.Object
* Remove else clause
2020-04-13 15:54:37 -07:00
Wesley Wigham and GitHub
6a5508b343
Update __exportStar helper to skip default and __esModule members ( #37236 )
...
* Update __exportStar helper to skip default and __esModule
* Accept new baselines
* Remove esmodule check from helper
2020-04-13 13:10:24 -07:00
Wesley Wigham and GitHub
141ee01c8c
Retain imports in declaration emit if they augment an export of the importing file ( #37820 )
...
* Retain imports in declaration emit if they augment an export of the importing file
* (sp)
* Check that a merge occurs, just because
2020-04-13 12:31:14 -07:00
Nathan Shively-Sanders and GitHub
5f46d42ad1
Error on missing BigInt in es2020 ( #37899 )
...
* Error on missing BigInt in ES2020 too.
Previously it was only on ESNext, but bigint ships in ES 2020.
There are no tests for this; passing `false` doesn't cause any tests to
fail at least.
* add tests
2020-04-13 08:30:59 -07:00
Nathan Shively-Sanders and GitHub
eb105efdcd
Avoid circular reference in this-property assignments ( #37827 )
...
* Avoid circular reference in this-property assignments
To do this, don't check this-property assigments that have the
this-property of the lhs appearing somewhere on the rhs:
```js
class C {
m() {
this.x = 12
this.x = this.x + this.y
}
}
```
I tried suppressing the circularity error, but because we cache the
first type discovered for a property, this still results in an implicit
any for `x` in the previous example. It just doesn't have an error.
Fixes #35099
* Add test case + rename function
* Use isMatchingReference
2020-04-10 16:41:31 -07:00
Alexander T and GitHub
795a5c83fe
fix(37150): ignore private fields in string index type checking ( #37183 )
2020-04-10 12:53:53 -04:00
Anders Hejlsberg and GitHub
52dc9f2282
No recursive intersection property checks ( #37854 )
...
* No recursive intersection property checks
* Add comment
2020-04-09 19:23:36 -07:00
Anders Hejlsberg and GitHub
6b1c102bd1
No excessive stack depth global errors ( #37873 )
...
* Report excessive stack depth on current node when no error node available
* Accept new baselines
2020-04-09 19:05:35 -07:00
Andrew Branch and GitHub
95cc1c279e
Fix crash from missing valueDeclaration on intersection property ( #37696 )
...
* Add crashing test
* Fix missing valueDeclaration on intersection symbol property
* Remove assertion from serializeAsClass
2020-04-09 14:00:21 -07:00
Ron Buckton and GitHub
4a646c9640
Fix parenthesization rules for yield ( #37849 )
2020-04-09 13:17:46 -07:00
Ravi van Rooijen and GitHub
2a25901c54
Fix code block in jsdoc ( #37864 )
2020-04-09 13:31:41 -04:00
Andrew Branch and GitHub
24a17acf2c
Error on invalid uses of namespace export ( #37715 )
2020-04-09 09:42:16 -07:00
Andrew Branch and GitHub
57f9076612
Remove extraneous string escape from convert to template string refactor ( #37743 )
...
* Add failing test
* Remove extraneous string escape
* Revert unnecessary change
2020-04-09 09:40:28 -07:00
Wesley Wigham and GitHub
3d3854c93d
Set contextual type on elaborated error node rather than passing it, so its discriminated ( #37828 )
2020-04-09 02:55:39 -07:00
Ron Buckton and GitHub
5db4e7add3
Fix async function block return expr error in js ( #37845 )
2020-04-08 15:26:56 -07:00
Wesley Wigham and GitHub
b4838c8b62
Use comments from host variable declaration when exporting a signature in js declarations ( #37594 )
2020-04-08 13:32:17 -07:00
Ron Buckton and GitHub
5a7916962d
Fix metadata serialization for invalid jsdoc types ( #37836 )
2020-04-08 12:06:40 -07:00
zhangciwu and GitHub
126c6ab80d
Fix easy misunderstanding "! ===" ( #37838 )
...
* Remove unnecessary Non-null assertion operator
* Wrap Non-null assertion operator inside parentheses
2020-04-08 08:17:22 -07:00
Eli Barzilay
e4babd40e0
Skip isBlockScopedNameDeclaredBeforeUse error in interface or type declarations
...
Fixes #35947 .
2020-04-07 16:12:18 -04:00
Eli Barzilay
dcc6c9461e
Minor improvement
...
Get the `declaration` container just once instead of in three places.
(Minor change: one place used to start looking from
`declaration.parent`, but that shouldn't make any difference.) Also,
don't pass it to the helper functions since they're local anyway.
2020-04-07 16:12:18 -04:00
Orta and GitHub
3398c9bfe1
Make skipLibCheck: true the default in --init ( #37808 )
2020-04-07 15:00:44 -04:00