Commit Graph

372 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
c73efe2fb6 Fix comment 2016-08-17 10:45:35 -07:00
Nathan Shively-Sanders
07a8f31a2d Correctly merge bindThisPropertyAssignment
Also simply it considerably after noticing that it's *only* called for
Javascript files, so there was a lot of dead code for TS cases that
never happened.
2016-08-17 10:43:02 -07:00
Nathan Shively-Sanders
96840c3669 Merge branch 'master' into allow-js-multiple-declaration-of-constructor-properties 2016-08-17 09:04:10 -07:00
Nathan Shively-Sanders
f3c085e595 Merge branch 'master' into classPropertyInference 2016-08-15 15:52:29 -07:00
Ron Buckton
4e04b75d4b Aligned mark names with values used by ts-perf. 2016-08-15 11:07:49 -07:00
Ron Buckton
c81624435a Simplifies performance API 2016-08-12 16:34:35 -07:00
Anders Hejlsberg
87393e026e Merge branch 'master' into optimizeMaps 2016-08-12 13:31:37 -07:00
Anders Hejlsberg
65e1293b2e Optimize performance of maps 2016-08-10 16:47:06 -07:00
Nathan Shively-Sanders
2845d2f8b8 Improve naming and documentation from PR 2016-08-08 09:04:46 -07:00
Nathan Shively-Sanders
8f638f7ecd Fix lint 2016-08-05 09:58:30 -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
Nathan Shively-Sanders
8c01efba04 Allow JS multiple declarations of ctor properties
When a property is declared in the constructor and on the prototype of
an ES6 class, the property's symbol is discarded in favour of the
method's symbol. That because the usual use for this pattern is to bind
an instance function: `this.m = this.m.bind(this)`. In this case the
type you want really is the method's type.
2016-08-03 10:33:10 -07:00
Andy Hanson
f9fd4967af Allow export = and export default to alias any EntityNameExpression, not just identifiers. 2016-07-29 08:12:00 -07:00
Anders Hejlsberg
ff0cbb5b29 Merge branch 'master' into literalTypes
# Conflicts:
#	src/compiler/checker.ts
2016-07-24 07:28:11 -07:00
Anders Hejlsberg
8c64759f75 Fix bug in binder uncovered by changes 2016-07-22 14:28:09 -07:00
Wesley Wigham
2a26beb9d8 Add performance framework from transforms branch (#9536)
* Port performance tools from transforms branch

* Use friendlier names, add compiler option to print all recorded measures

* Always print total time

* + -> .getTime
2016-07-19 15:10:29 -07:00
Anders Hejlsberg
868d5e602f Merge branch 'master' into literalTypes 2016-07-06 19:51:34 -07:00
Anders Hejlsberg
a8a8826f69 Exclude FlowSwitchClause from flow graph for case expressions 2016-07-04 20:27:59 -07:00
Anders Hejlsberg
e14fe5b830 Remove unused functions 2016-06-28 17:12:46 -07:00
Anders Hejlsberg
85128e02da Narrow unions of literal types by equality and truthiness 2016-06-28 17:00:52 -07:00
Anders Hejlsberg
c7dec0ea68 Merge pull request #9163 from Microsoft/typeGuardDiscriminants
Discriminated union types
2016-06-17 14:37:35 -07:00
Anders Hejlsberg
a3635ccd8b Merge branch 'master' into typeGuardDiscriminants
# Conflicts:
#	src/compiler/binder.ts
#	src/compiler/checker.ts
2016-06-14 13:08:17 -07:00
Nathan Shively-Sanders
7890fd58b9 Merge pull request #9088 from Microsoft/add-members-to-variable-declarations-initialised-with-function-expressions
Add members to variable declarations initialised with function expressions
2016-06-14 11:37:36 -07:00
Anders Hejlsberg
c90b0fe17d No implicit returns following exhaustive switch statements 2016-06-13 16:20:13 -07:00
Anders Hejlsberg
ce156460eb Narrow type in case/default sections in switch on discriminant property 2016-06-13 14:29:04 -07:00
Nathan Shively-Sanders
8b093128b3 Merge pull request #9036 from Microsoft/primitive-type-guards-are-order-independent
Primitive type guards are order independent
2016-06-13 10:52:06 -07:00
Anders Hejlsberg
4a8f94a553 Type guards using discriminant properties of string literal types 2016-06-10 16:17:32 -07:00
Nathan Shively-Sanders
642583771d Salsa: get members of variables whose initialisers are functions 2016-06-10 14:10:30 -07:00
Andy Hanson
ff6e025e8a Merge branch 'master' into shorthand_ambient_module 2016-06-10 06:03:54 -07:00
Nathan Shively-Sanders
86a6959e2a Merge branch 'master' into primitive-type-guards-are-order-independent 2016-06-09 15:56:34 -07:00
Nathan Shively-Sanders
a1e4b31d16 Allow null/undefined guard with null/undefined on left
Also add a test with baselines.
2016-06-09 15:48:35 -07:00
Andy
9ffd00d6ff Merge pull request #8939 from Microsoft/pattern_ambient_modules
Allow wildcard ("*") patterns in ambient module declarations
2016-06-09 13:08:02 -07:00
Andy Hanson
75c1d77606 Merge branch 'master' into shorthand_ambient_module 2016-06-09 11:43:18 -07:00
Nathan Shively-Sanders
7c1b28f2cb Allow primitive type guards with typeof on right
Previously, only type guards of the form `typeof x === 'string'` were
allowed. Now you can write `'string' === typeof x`.
2016-06-08 15:55:08 -07:00
Andy Hanson
1541ebe781 Respond to PR comments 2016-06-03 06:34:33 -07:00
Andy Hanson
094f97e366 Respond to PR comments 2016-06-03 06:22:34 -07:00
Andy Hanson
7e9cb46a1a Support shorthand ambient module declarations 2016-06-02 12:55:48 -07:00
Anders Hejlsberg
5f3f2d302f Create separate control flows for property declarations with initializers 2016-06-02 06:47:37 -07:00
Andy Hanson
3b19825890 Allow wildcard ("*") patterns in ambient module declarations 2016-06-02 05:44:49 -07:00
zhengbli
241920c960 Merge branch 'outerControlFlows' of https://github.com/Microsoft/TypeScript into typedefForJsdoc
# Conflicts:
#	src/compiler/binder.ts
2016-05-31 14:02:45 -07:00
Zhengbo Li
5261467a32 Merge branch 'master' of https://github.com/Microsoft/TypeScript into typedefForJsdoc 2016-05-31 10:39:23 -07:00
zhengbli
18ee4b0a1e cr feedback 2016-05-30 22:11:43 -07:00
Anders Hejlsberg
5b4dffc2d7 More critical path optimization in binder 2016-05-29 16:04:34 -07:00
Anders Hejlsberg
66e9f7dc21 Optimize critical code paths in binder 2016-05-28 16:00:31 -07:00
Anders Hejlsberg
e8ecf0e615 Track return statements in IIFE using a flow label 2016-05-28 06:43:28 -07:00
Vladimir Matveev
92938cd8df check that default clause is non-empty in reachability checks 2016-05-27 15:38:59 -07:00
Anders Hejlsberg
3b5c72c4bc Include outer function expressions in control flow analysis 2016-05-26 15:30:31 -07:00
zhengbli
e69976c4b7 Merge branch 'master' of https://github.com/Microsoft/TypeScript into typedefForJsdoc
# Conflicts:
#	src/services/utilities.ts
2016-05-26 14:50:09 -07:00
zhengbli
81ce532cde Change how typedef tag is parsed 2016-05-26 14:33:30 -07:00
Nathan Shively-Sanders
abfcdd2cfd Symbol for property assignments in Salsa/ES6 constructors
Previously no symbol at all was created, meaning that Salsa didn't track
properties in ES6 code.
2016-05-26 12:42:35 -07:00