Commit Graph

28909 Commits

Author SHA1 Message Date
Andy 0a59da1a2c In pickLongestCandidateSignature, instantiate using inferred type arguments (#26646) 2018-08-27 10:30:25 -07:00
Nathan Shively-Sanders 6419240ab2 Declaration emit includes function properties (#26499)
* Declaration emit includes function properties

It does this by printing the type as an object literal type:

```ts
function f() { }
f.p = 1
```

Appears in a d.ts as

```ts
declare var f: {
  (): void;
  p: number;
}
```

It would also be possible to represent it as a namespace merge. I'm not
sure which is better.

```ts
declare function f(): void;
declare namespace f {
  export var p: number;
}
```

In order to avoid a private-name-used error (though I think it was
actually *unused*), I also had to change the nodeBuilder code to match.
This is arguably harder to read. So it's possible that I should instead
keep the nodeBuilder version as `typeof f` and make an exception for
private name use.

* Emit namespace merge instead of object type

This makes the change smaller, overall.

* Fix isJSContainerFunctionDeclaration+namespace merges

Also improve emit style to match other namespace emit.

* Add isPrivate + test case from PR comments
2018-08-27 10:29:53 -07:00
Andy e411381266 Fix bug: Don't let empty signature documentation override other documentation (#26638) 2018-08-27 09:38:52 -07:00
TypeScript Bot 61f6d0380a Update user baselines (#26687) 2018-08-27 08:54:02 -07:00
王文璐 78444bb724 improve test case 2018-08-27 11:47:10 +08:00
Anders Hejlsberg a1c373c3c7 Accept new baselines 2018-08-25 18:25:20 -07:00
Anders Hejlsberg 0c759b8194 Add regression test 2018-08-25 18:25:14 -07:00
Anders Hejlsberg e852627df0 Add early out for type assertions in getTypeOfExpression 2018-08-25 18:25:02 -07:00
Anders Hejlsberg 73ec5964ef Merge pull request #26678 from Microsoft/fixReturnOnlyInference
Fix logic that infers from return types only
2018-08-25 17:29:08 -07:00
Anders Hejlsberg ed97443ab6 Accept new baselines 2018-08-25 16:09:25 -07:00
Anders Hejlsberg 09bc7505a7 Add regression test 2018-08-25 16:09:18 -07:00
Anders Hejlsberg 9c551a107a Ignore parameters when inferring from return type only signature 2018-08-25 16:09:08 -07:00
Nathan Day 3ec2c45f5f include leading non-ASCII horizontal whitespace in SyntaxKind.WhitespaceTrivia token 2018-08-25 13:15:56 -04:00
Anders Hejlsberg 349bee92a3 Accept new baselines 2018-08-25 07:55:21 -07:00
Anders Hejlsberg 676892ee56 Add tests 2018-08-25 07:55:13 -07:00
Anders Hejlsberg 0e1b99842c Accept new baselines 2018-08-25 07:29:34 -07:00
Anders Hejlsberg f5f61335ee Revise complex rest parameter handling in relations and inference 2018-08-25 07:29:15 -07:00
Ryan Cavanaugh b5998d9b49 Merge pull request #26625 from ajafff/revert-destructuring-private-computed-name
Revert #26360: Don't error on destructure of private property with computed property syntax
2018-08-24 15:54:34 -07:00
Anders Hejlsberg 4e44b08020 Accept new baselines 2018-08-24 13:30:05 -07:00
Anders Hejlsberg 9ef65ef3a4 Use getSpreadArgumentType when relating to complex rest parameter types 2018-08-24 13:29:28 -07:00
Nathan Shively-Sanders 0043ba16b1 Allow weak type detection for intersection sources (#26668)
Previously, intersections were only allowed as targets, but this was
just an artifact of the original implementation, which operated inside
the structural part of isRelatedTo. Removing this restriction catches
subtle bugs in React user code, where a function named `create` returns
a mapped type whose types are all branded numbers. The display of these
properties, for some original type `T`, is not `number & { __ }` but
the much-less-obvious `RegisteredStyle<T>`.
2018-08-24 10:30:39 -07:00
TypeScript Bot bdb7c351a2 Update user baselines (#26664) 2018-08-24 08:30:21 -07:00
Wenlu Wang 8ba501926a try get add missing member return type from context (#26250)
* try get add missing member return type from context

* support contextual type
2018-08-23 21:31:53 -07:00
csigs 65da7e91e1 LEGO: Merge pull request 26654
LEGO: Merge pull request 26654
2018-08-23 21:11:02 -07:00
csigs 0f04e43cc0 LEGO: check in for master to temporary branch. 2018-08-24 04:10:34 +00:00
王文璐 268dbfe093 parse less than token rather than left shift in context of type arguments 2018-08-24 11:00:59 +08:00
Andy f3ceebe552 Fix duplicate completions bugs (#26648)
* Fix duplicate completions bugs

* Remove old TODO
2018-08-23 18:22:07 -07:00
Andrew Casey e2eda0a43f Substitute process ID for "PID" in log file names
This will help us solve the problem of logs getting clobbered when the
server restarts.
2018-08-23 17:56:29 -07:00
Nathan Shively-Sanders 6ea2278c7a Get symbol at location for class expressions/keywords (#26636)
* getSymbolAtLocation understands class expressions

Previously it did not.

* Update baselines
2018-08-23 11:27:03 -07:00
Nathan Shively-Sanders 5433cd8685 remove Animations from chrome-devtools' user test shim (#26494)
It looks like it's successfully merging with the DOM definition now
instead.
2018-08-23 09:18:06 -07:00
TypeScript Bot c5b07a904d Update user baselines (#26632) 2018-08-23 09:17:40 -07:00
Nathan Shively-Sanders 03653934c3 Don't create expando object literals in TS (#26525)
Previously, getWidenedTypedFromJSPropertyAssignment was not called for
Typescript code. Since property assignments on functions, it is. That
meant that property assignments would incorrectly create a JS container
for empty object literals in a property assignment, even in Typescript:

```ts
const one = () => 1
one.p = {}
one.p.q = {} // should not work in Typescript!
```

Now empty object literals never create expando objects in Typescript,
because getJSExpandoObjectType requires the declaration to be in a JS
file.
2018-08-23 08:21:28 -07:00
Klaus Meinhardt bedf776b42 Revert #26360: Don't error on destructure of private property with computed property syntax 2018-08-23 09:08:29 +02:00
Wesley Wigham 5e8b63cd1d Use context free expression types in evolving array checking and cache context free type (#26585)
* Use context free expression types in evolving array checking and cache context free type

* Simplify second test

* Low max depth a tad just so node 8 wont stack out

* By request make flow control a round number
2018-08-22 16:17:42 -07:00
Andy Hanson 213d374e13 Make equalityComparer non-optional 2018-08-22 15:27:03 -07:00
Andy 194ffb3449 fourslash: Allow to verify textChanges without changing file content (#26607) 2018-08-22 15:20:33 -07:00
TypeScript Bot f945eb93d5 Update user baselines (#26601) 2018-08-22 14:18:44 -07:00
Ron Buckton 173b5dfcfb Refactor sourcemap emitter 2018-08-22 12:42:36 -07:00
Ron Buckton b9afdadf71 Remove jsTypings/semver.ts, add unit tests and logging 2018-08-22 12:38:16 -07:00
Ron Buckton 1f8aa057f8 Merge pull request #26483 from Microsoft/fix20594
Ensure for-in loop variable is checked
2018-08-22 11:41:17 -07:00
Anders Hejlsberg c667a98923 Merge pull request #26602 from Microsoft/fixMappedTypeDefinitelyAssignable
Fix definitely assignable relation for mapped types
2018-08-22 09:56:41 -07:00
Anders Hejlsberg 45eb043fb1 Accept new baselines 2018-08-22 07:16:48 -07:00
Anders Hejlsberg 74c57caa90 Add regression test 2018-08-22 07:16:31 -07:00
Anders Hejlsberg 84d1e9f22f Accept new baselines 2018-08-22 07:16:22 -07:00
Anders Hejlsberg 056c87f289 Ignore constraints of generic mapped types in definitelyAssignableRelation 2018-08-22 07:08:35 -07:00
Sheetal Nandi cec1b0a717 Report error summary from the queue. 2018-08-21 17:30:51 -07:00
Anders Hejlsberg 93c76cb617 Merge pull request #26558 from Microsoft/fixInfiniteConstraints
Fix infinite constraints
2018-08-21 17:24:42 -07:00
Andy Hanson ac7c2ba9e2 Remove unused overloads of 'deduplicate' and 'deduplicateSorted' 2018-08-21 16:23:59 -07:00
Anders Hejlsberg 2f85af83a7 Accept new baselines 2018-08-21 16:17:21 -07:00
Anders Hejlsberg db9c202b64 Add regression test 2018-08-21 16:17:14 -07:00