Commit Graph

14913 Commits

Author SHA1 Message Date
Ryan Cavanaugh eac7a48c5f Fix non-strict-compliant test 2016-08-08 14:39:31 -07:00
Ryan Cavanaugh 53d54c2b28 Make baselines faster by not writing out unneeded files 2016-08-08 14:30:27 -07:00
Kanchalai Tanglertsampan 669191e5fa Merge branch 'master' of https://github.com/microsoft/TypeScript 2016-08-08 14:01:12 -07:00
Ryan Cavanaugh e724e883e6 Duh 2016-08-08 13:31:45 -07:00
Ryan Cavanaugh ce7f554090 Speed up fourslash tests 2016-08-08 13:15:25 -07:00
Wesley Wigham 30e95df91e Reduce worker count to 3 (#10210)
Since we saw a starvation issue on one of @sandersn's PRs.
2016-08-08 13:11:02 -07:00
Kanchalai Tanglertsampan 9a18429184 Add tests and baselines 2016-08-08 11:56:20 -07:00
Kanchalai Tanglertsampan 42d61b5098 Call checkExpression eventhough there is no appropriate type from destructuring of array 2016-08-08 11:55:59 -07:00
Anders Hejlsberg 8ea90ab28b Merge pull request #10194 from Microsoft/fixInstanceofNarrowing
Fix instanceof narrowing
2016-08-08 11:51:34 -07:00
Anders Hejlsberg f6a850b988 Merge pull request #10188 from Microsoft/discriminantPropertyCheck
Discriminant property checks
2016-08-08 11:49:33 -07:00
Richard Knoll 8a976f1100 Moving some utility functions around 2016-08-08 11:04:17 -07:00
Anders Hejlsberg ba521de66d Accept new baselines 2016-08-08 09:45:12 -07:00
Anders Hejlsberg ce5a3f466d Add more tests 2016-08-08 09:44:43 -07:00
Anders Hejlsberg a0c5608770 Update comment 2016-08-08 09:44:24 -07:00
Nathan Shively-Sanders acfdfe0560 Merge pull request #10103 from Microsoft/narrowing-a-type-parameter-intersects-concrete-types
Correctly narrow unconstrained type parameters
2016-08-08 09:22:32 -07:00
Nathan Shively-Sanders 5f665ad353 Merge pull request #9996 from joshaber/patch-1
Add `find` and `findIndex` to ReadonlyArray
2016-08-08 09:11:09 -07:00
Nathan Shively-Sanders 2845d2f8b8 Improve naming and documentation from PR 2016-08-08 09:04:46 -07:00
Nathan Shively-Sanders e25db39ab4 Merge branch 'master' into narrowing-a-type-parameter-intersects-concrete-types 2016-08-08 08:42:28 -07:00
Anders Hejlsberg 67b3fe58fa Add regression test 2016-08-07 08:53:36 -07:00
Anders Hejlsberg f50226b481 Accept new baselines 2016-08-07 07:53:36 -07:00
Anders Hejlsberg 01f865dee7 Fix instanceof operator narrowing issues 2016-08-07 07:48:40 -07:00
Godfrey Chan cc2dc3acb0 Emit more efficient/concise "empty" ES6 ctor
When there are property assignments in a the class body of an inheriting
class, tsc current emit the following compilation:

```ts
class Foo extends Bar {
  public foo = 1;
}
```

```js
class Foo extends Bar {
  constructor(…args) {
    super(…args);
    this.foo = 1;
  }
}
```

This introduces an unneeded local variable and might force a reification
of the `arguments` object (or otherwise reify the arguments into an
array).

This is particularly bad when that output is fed into another transpiler
like Babel. In Babel, you get something like this today:


```js
var Foo = (function (_Bar) {
  _inherits(Foo, _Bar);

  function Foo() {
    _classCallCheck(this, Foo);

    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }

    _Bar.call.apply(_Bar, [this].concat(args));
    this.foo = 1;
  }

  return Foo;
})(Bar);
```

This causes a lot of needless work/allocations and some very strange
code (`.call.apply` o_0).

Admittedly, this is not strictly tsc’s problem; it could have done a
deeper analysis of the code and optimized out the extra dance. However,
tsc could also have emitted this simpler, more concise and semantically
equivalent code in the first place:


```js
class Foo extends Bar {
  constructor() {
    super(…arguments);
    this.foo = 1;
  }
}
```

Which compiles into the following in Babel:

```js
var Foo = (function (_Bar) {
  _inherits(Foo, _Bar);

  function Foo() {
    _classCallCheck(this, Foo);

    _Bar.apply(this, arguments);
    this.foo = 1;
  }

  return Foo;
})(Bar);
```

Which is well-optimized (today) in most engines and much less confusing
to read.

As far as I can tell, the proposed compilation has exactly the same
semantics as before.

Fixes #10175
2016-08-06 23:24:44 -07:00
Anders Hejlsberg 1375505a1f Add tests 2016-08-06 09:06:56 -07:00
Anders Hejlsberg 37e96b3a06 Stricter check for discriminant properties in type guards 2016-08-06 09:01:35 -07:00
Yui 2627e6f3fc [Transforms] Merge master on 08/05 (#10182)
* Fix #10083 - allowSyntheticDefaultImports alters getExternalModuleMember (#10096)

* Add a helper function `getOrUpdateProperty` to prevent unprotected access to Maps.

* Limit type guards as assertions to incomplete types in loops

* Accept new baselines

* Fix linting error

* [Release-2.0] Fix 9662: Visual Studio 2015 with TS2.0 gives incorrect @types path resolution errors (#9867)

* Change the shape of the shim layer to support getAutomaticTypeDirectives

* Change the key for looking up automatic type-directives

* Update baselines from change look-up name of type-directives

* Add @currentDirectory into the test

* Update baselines

* Fix linting error

* Address PR: fix spelling mistake

* Instead of return path of the type directive names just return type directive names

* Remove unused reference files: these tests produce erros so they will not produce these files (#9233)

* Don't allow properties inherited from Object to be automatically included in TSX attributes

* Port PR #10016 to Master (#10100)

* Treat namespaceExportDeclaration as declaration

* Update baselines

* wip - add tests

* Add tests

* Show "export namespace" for quick-info

* Update baselines from merging
2016-08-05 21:45:13 -07:00
Richard Knoll e11d5e9de6 Cleaning up test cases and adding a few more 2016-08-05 17:53:12 -07:00
Richard Knoll ecdbdb33af Fixing the filtering of nested module completions 2016-08-05 17:42:52 -07:00
Paul van Brenk e0b73c4a4a Clean up 2016-08-05 16:44:43 -07:00
Paul van Brenk 6f4fb064ca SuperFix fourslash tests 2016-08-05 16:25:05 -07:00
Paul van Brenk 466d26fc76 Fourslash support 2016-08-05 16:24:55 -07:00
Paul van Brenk 94ea825f95 Api Changes and simple superfixes 2016-08-05 16:20:16 -07:00
gcnew 46f5e5fad1 Surface noErrorTruncation option 2016-08-06 01:23:31 +03:00
Wesley Wigham 269b828538 Fix lssl task (#9967) 2016-08-05 14:16:29 -07:00
Yui 8830d7691e Port PR#9867 to Release-2.0 (#10147)
* Change the shape of the shim layer to support getAutomaticTypeDirectives

* Change the key for looking up automatic type-directives

* Update baselines from change look-up name of type-directives

* Add @currentDirectory into the test

* Update baselines

* Fix linting error

* Address PR: fix spelling mistake

* Instead of return path of the type directive names just return type directive names
2016-08-05 14:00:40 -07:00
Wesley Wigham 02a79e3f81 Try using runtests-parallel for CI (#9970)
* Try using runtests-parallel for CI

* Put worker count setting into .travis.yml

* Reduce worker count to 4 - 8 wasnt much different from 4-6 but had contention issues causing timeouts
2016-08-05 13:50:21 -07:00
Nathan Shively-Sanders cabd276ddc Fix more lint 2016-08-05 10:28:03 -07:00
Yui ceab31cf0d Port PR #10016 to Master (#10100)
* Treat namespaceExportDeclaration as declaration

* Update baselines

* wip - add tests

* Add tests

* Show "export namespace" for quick-info
2016-08-05 10:12:01 -07:00
Nathan Shively-Sanders 8f638f7ecd Fix lint 2016-08-05 09:58:30 -07:00
Andy b54aec1c12 Merge pull request #10153 from Microsoft/tsx_toString
Don't allow properties inherited from Object to be automatically included in TSX attributes
2016-08-05 05:57:24 -07:00
Richard Knoll 0f22079d9e Remove trailing slashes, remove mostly useless IO, fix script element kind for files 2016-08-04 18:17:41 -07:00
Nathan Shively-Sanders 798be6f4f9 Add new test baseline and delete else in binder
The extra `else` caused a ton of test failures!
2016-08-04 15:17:08 -07:00
Vladimir Matveev 0a1ec43de0 addref in all configured projects that contain the file 2016-08-04 14:46:00 -07:00
Andy Hanson 9947ac2ece Don't allow properties inherited from Object to be automatically included in TSX attributes 2016-08-04 14:13:07 -07:00
Nathan Shively-Sanders 3c32478b8f Support other (new) literal types in jsdoc 2016-08-04 13:01:17 -07:00
Richard Knoll ca288231f7 Fixing shim and normalizing paths 2016-08-04 11:10:00 -07:00
Nathan Shively-Sanders 4c3529680d Merge branch 'master' into jsdoc-string-literal-types 2016-08-04 09:52:15 -07:00
Nathan Shively-Sanders e5973b8daa Add string-literal completion test for jsdoc 2016-08-04 09:46:35 -07:00
Yui 18fb33d36f Remove unused reference files: these tests produce erros so they will not produce these files (#9233) 2016-08-04 08:11:42 -07:00
Andy d173bca569 Merge pull request #10136 from Microsoft/release-2.0_export_specifiers_map
Add a helper function `getOrUpdateProperty` to prevent unprotected ac…
2016-08-04 07:44:04 -07:00
Yui 10b36abc8f [Release-2.0] Fix 9662: Visual Studio 2015 with TS2.0 gives incorrect @types path resolution errors (#9867)
* Change the shape of the shim layer to support getAutomaticTypeDirectives

* Change the key for looking up automatic type-directives

* Update baselines from change look-up name of type-directives

* Add @currentDirectory into the test

* Update baselines

* Fix linting error

* Address PR: fix spelling mistake

* Instead of return path of the type directive names just return type directive names
2016-08-04 07:43:54 -07:00