Commit Graph
5521 Commits
Author SHA1 Message Date
Nathan Shively-SandersandGitHub 5b23dbc999 Merge pull request #14302 from Microsoft/make-special-property-assignment-apply-only-to-lhs
Provide special property assignment symbol only for left-hand side of assignment
2017-02-24 15:14:30 -08:00
Nathan Shively-Sanders 44e1140cf6 Rename tests 2017-02-24 14:53:35 -08:00
Mohamed HegazyandGitHub 1a579d1d4d Merge pull request #14284 from Microsoft/jsDocUpperCasePrimitiveTypes
Allow primitive types in JSDoc to start wtih uppercase letters
2017-02-24 14:31:30 -08:00
Nathan Shively-Sanders 82b5655e66 Special prop assignment symbol applies only to lhs
In a Javascript file, the binder assigns a SpecialPropertyAssignment
marker to the BinaryExpression node of several kinds of special
assignments. Then it binds a special symbol whose declaration is that
BinaryExpression node. But the symbol only applies to the left-hand side
of the assignment. The right-hand side is an independent expression that
should have its own symbols.

Previously, symbol lookup in the checker didn't check whether a
Javascript node that was part of a special property assignment came from
the lhs or the rhs. So the right-hand side would also incorrectly get
the special symbol intended for the left-hand side.

`getSpecialPropertyAssignmentSymbolFromEntityName` in the checker now
checks that its argument is the left-hand side of an assignment before
returning a special property assignment symbol.
2017-02-24 14:22:55 -08:00
Zhengbo LiandGitHub 2d4b4c9c80 Merge pull request #14014 from zhengbli/12233
Fix jsdoc typedef symbol scope + avoid bind twice if the type has a namespace prefix
2017-02-23 21:26:32 -08:00
Mohamed Hegazy fd8040978b Allow primitive types in JSDoc to start wtih uppercase letters 2017-02-23 21:25:30 -08:00
Nathan Shively-Sanders dbaf1f6756 isConstructorType checks base constraint for undefined
Previously, it assumed there was always a base constraint, which is true
for correct code. For incorrect code, the base constraint may be
missing, which caused a crash because the base constraint was undefined.
2017-02-22 14:16:20 -08:00
Kanchalai Tanglertsampan cabaeae4c7 Add tests and update baaselines 2017-02-21 14:29:22 -08:00
Ron Buckton cf72ceb093 Merge branch 'master' into asyncGenerators 2017-02-16 17:22:43 -08:00
Arthur OzgaandGitHub 8a5bebe4de Merge pull request #14097 from aozgaa/MissingPropertyFix
Missing property fix
2017-02-16 14:04:51 -08:00
Arthur Ozga 6e198f9c51 Merge branch 'master' into MissingPropertyFix 2017-02-16 13:40:27 -08:00
Arthur Ozga 1b6cf97766 widen type, index signature, and add tests 2017-02-16 13:37:35 -08:00
Andy Hanson 7fd711c81d Handle undefined import name 2017-02-16 13:10:03 -08:00
Mohamed HegazyandGitHub 6c58938743 Merge pull request #13648 from Microsoft/functionAndClassProperties
Function and class properties
2017-02-16 12:27:14 -08:00
Nathan Shively-Sanders bef1f9e87f call isValidSpreadType in createJsxAttributesTypeFromAttributesProperty
Previously, it only check for object and any types. This was the old
check, so this change updates it to use isValidSpreadType.
2017-02-16 10:41:35 -08:00
Nathan Shively-SandersandGitHub 1296f240c6 Merge pull request #14074 from Microsoft/error-on-decl-of-extends-intersection
Error when emitting the declaration for an exported class that extends an intersection
2017-02-15 13:43:51 -08:00
YuiandGitHub ca6f1c3a41 Merge pull request #13640 from Microsoft/wip-master-statelessOverload
Using overload to figure out function signature for SFC
2017-02-15 07:17:32 -08:00
Ron Buckton 23216f9ba1 Merge branch 'master' into genericDefaults 2017-02-14 19:19:18 -08:00
Arthur Ozga 18cba86e74 add tests 2017-02-14 18:10:21 -08:00
Arthur Ozga f047a6ea31 wip testing 2017-02-14 17:57:25 -08:00
Arthur Ozga 9897c69492 wip 2017-02-14 17:30:28 -08:00
Kanchalai Tanglertsampan e5cfe5c348 Merge branch 'master' into wip-master-statelessOverload
# Conflicts:
#	src/compiler/factory.ts
2017-02-14 15:21:06 -08:00
Ryan CavanaughandGitHub 87b780d641 Merge pull request #12231 from RyanCavanaugh/ls-proxy
Language service proxy
2017-02-14 14:16:23 -08:00
Ryan Cavanaugh aec310996c Language service extensibility 2017-02-14 13:35:16 -08:00
Nathan Shively-Sanders 2f27e85a18 Test error w/exported class extending intersection 2017-02-14 13:31:22 -08:00
Mohamed HegazyandGitHub ae02db4950 Merge pull request #13936 from Microsoft/FixObjectCreate
Fix #13932: Change the order of overloads and allow union for `Object.create`
2017-02-14 13:29:41 -08:00
Zhengbo LiandGitHub 1f484a9a03 Merge pull request #13966 from zhengbli/13110
Delete the following new line when removing unused locals
2017-02-14 13:15:17 -08:00
Andy Hanson e74c03aca3 Add missing filename to tsx test 2017-02-14 12:17:18 -08:00
AndyandGitHub 0417e3f909 Merge pull request #14050 from Microsoft/tsx_completion
Detect non-tag uses of `<` in TSX completions
2017-02-14 12:13:15 -08:00
Mohamed HegazyandGitHub 13cb66c555 Merge pull request #13913 from Microsoft/allowExportDeclarationsInAmbientNamespaces
Allow export declarations in ambient namespaces
2017-02-14 11:44:07 -08:00
Nathan Shively-SandersandGitHub 477d9f2e48 Merge pull request #13796 from Microsoft/fix-duplicate-identifier-reporting
Fix duplicate identifier reporting in classes
2017-02-14 11:42:48 -08:00
Arthur OzgaandGitHub c57fc1fa54 Merge pull request #14055 from aozgaa/UnduplicateAbstractMethodCodeFix
Unduplicate missing abstract member codefix
2017-02-14 11:42:28 -08:00
Mohamed Hegazy db0e3762e9 Merge remote-tracking branch 'origin/master' into functionAndClassProperties 2017-02-13 21:02:17 -08:00
Mohamed Hegazy 90eef8940e accept baseline change 2017-02-13 20:54:57 -08:00
Mohamed Hegazy ef3b1138bb Merge branch 'master' into FixObjectCreate 2017-02-13 20:41:19 -08:00
Arthur Ozga 21355982fd Offer missing abstract codefix once
* per class that is missing potentially many abstract members.
2017-02-13 16:58:14 -08:00
Mohamed Hegazy 143edff303 Merge remote-tracking branch 'origin/master' into usePromise 2017-02-13 15:15:24 -08:00
Mohamed Hegazy 765e57b318 Update tests 2017-02-13 15:03:26 -08:00
Andy Hanson aa5c88f5a6 Detect non-tag uses of < in TSX completions 2017-02-13 14:44:05 -08:00
Vladimir MatveevandGitHub f673f48fad inject pre-finally and after-finally edges into flow graph to possible ignore pre-finally during flow walk (#13845) 2017-02-13 14:36:12 -08:00
Nathan Shively-SandersandGitHub ba8330cba6 Merge pull request #14006 from Microsoft/better-discriminated-union-errors
Improve discriminated union error messages
2017-02-13 14:14:22 -08:00
Ron Buckton dedf4a7538 Merge branch 'master' into asyncGenerators 2017-02-13 13:53:34 -08:00
Nathan Shively-SandersandGitHub 46d9f37020 Merge pull request #12033 from Microsoft/add-undefined-to-default-valued-parameters
Add undefined to default-initialised parameters
2017-02-13 13:30:46 -08:00
Nathan Shively-SandersandGitHub 06522989b9 Merge pull request #13930 from Microsoft/no-subtype-reduction-in-includeFalsyTypes
No subtype reduction in includeFalsyTypes
2017-02-13 13:09:07 -08:00
YuiandGitHub bc1058e50a Merge pull request #13871 from Microsoft/master-fix13709
[Fix 13709] - Emit __esmodule
2017-02-13 12:32:50 -08:00
Anders HejlsbergandGitHub 7cd0e1a0e6 Merge pull request #13990 from Microsoft/fixPrivateProtected
Properly handle private and protected properties in intersections
2017-02-13 08:13:38 -10:00
AndyandGitHub d24b6891d8 Merge pull request #13678 from Microsoft/package_json_main_2
Allow package.json "main" to specify a directory
2017-02-13 06:19:40 -08:00
Zhengbo Li 20cc428785 Fix jsdoc typedef symbol scope + avoid bind twice if the tag has a jsdoc namespace 2017-02-10 19:24:56 -08:00
Nathan Shively-Sanders 1c7628e653 Improve discriminated union error messages
Assignability errors for discriminated unions now check the value of the
discriminant to decide which member of the union to check for
assignability.

Previously, assignability didn't know about discriminated unions and
would check every member, issuing errors for the last member of the
union if assignability failed.

For example:

```ts
type Square = { kind: "sq", size: number }
type Rectangle = { kind: "rt", x: number, y: number }
type Circle = { kind: "cr", radius: number }
type Shape =
    | Square
    | Rectangle
    | Circle;
let shape: Shape = {
    kind: "sq",
    x: 12,
    y: 13,
}
```

`typeRelatedToSomeType` now checks whether each property in the source
type is a discriminant. It finds `kind` and proceeds to look for the
type in the target union that has `kind: "sq"`. If it finds it, which it
does in this example (`Square`), then it checks only assignbility to
`Square`.

The result is that the error now says that property 'size' is missing in
type `{ kind: "sq", x: number, y: number }` instead of saying that that
"sq" is not assignable to type "cr" like it did before.

Fixes #10867
2017-02-10 14:01:47 -08:00
Ron Buckton 3e427f4860 Merge branch 'master' into asyncGenerators 2017-02-10 09:46:06 -08:00