10890 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
0cadfcf6df Clean up js decl code in checker+utilities 2018-02-14 15:48:20 -08:00
Nathan Shively-Sanders
bad155f072 Clean up bindPropertyAssignment
The add-intermediate-container-symbols loop is still quite confusing,
but it's not as bad as before.
2018-02-13 16:50:53 -08:00
Nathan Shively-Sanders
76a9ac4434 Restrict declaration initializers too 2018-02-13 15:52:35 -08:00
Nathan Shively-Sanders
88c67fa777 Refactor binder and update baselines.
Also improve assert message in fourslash.
2018-02-13 15:44:15 -08:00
Nathan Shively-Sanders
fc08e20da8 Correctly merge JS decls
Turns out merging was incorrect even for non-nested declarations, but
tests didn't catch it before.
2018-02-13 14:17:46 -08:00
Nathan Shively-Sanders
15554d7ea5 Fix bogus jsdoc error 2018-02-09 16:20:11 -08:00
Nathan Shively-Sanders
61ea026b3c Allow window. prefix in default-assignment JS decl 2018-02-09 14:53:34 -08:00
Nathan Shively-Sanders
8ac94f5dec Support function/class in JS nested decls
This required fixing the predicates and the avoiding of contextual
typing loops. This is now done right, in
getContextualTypeOfBinaryExpression.

The predicates still need work.
2018-02-09 10:41:30 -08:00
Nathan Shively-Sanders
a09c2391a4 4-nested object-literal assignment works in JS 2018-02-08 16:07:22 -08:00
Nathan Shively-Sanders
b0aebb4c1e Recursive object-literal-assignment declarations 2018-02-08 15:43:10 -08:00
Nathan Shively-Sanders
d0b08a24ec Refactor JS static property assignment binding
Less polymorphism, up-to-date generalised names and documentation.
2018-02-08 11:08:41 -08:00
Nathan Shively-Sanders
4998b99fef getSpecialPropertyAssignmentKind uses type guards 2018-02-07 16:19:49 -08:00
Nathan Shively-Sanders
e0596ad9b8 Improve contextual type skip in checkObjectLiteral
It is still super hacky
2018-02-07 15:53:43 -08:00
Nathan Shively-Sanders
2f8c237270 Support o.x = o.x || {} assignments in JS
Plus add tests for them
2018-02-07 14:54:34 -08:00
Nathan Shively-Sanders
9e8d59ca14 Support var x = x || {} declarations in JS 2018-02-07 11:26:30 -08:00
Nathan Shively-Sanders
4f07f58c03 Merge branch 'master' into js-object-literal-assignments-as-declarations 2018-02-07 09:17:48 -08:00
Anders Hejlsberg
bb28444f8c Handle all instantiable non-primitive types in homomorphic mapped types 2018-02-06 12:27:35 -08:00
Ron Buckton
3b73ce49d7
Merge pull request #21585 from Microsoft/fix21584
Fix initializer assignability for unique symbol
2018-02-06 11:30:12 -08:00
Wesley Wigham
17554ff285
Fix JSX contextual types to not eagerly become apparent, use 2-pass inference for JSX (#21383)
* Fix JSX contextual types to not eagerly become apparent

* Apply changes from code review, unify common code

* Fix jsx children contextual typing

* Light code review feedback

* Use fillMissingTypeArguments

* Accept nonliteral jsx child type

* Add test for the fillMissingTypeArguments case
2018-02-05 16:33:39 -08:00
Anders Hejlsberg
3b220a8b0f
Merge pull request #21649 from Microsoft/conditionalTypesASI
Conditional types ASI
2018-02-05 16:21:34 -08:00
Mohamed Hegazy
8f8fec433e
Rename switch --emitDeclarationsOnly to --emitDeclarationOnly (#21651)
* Rename `--emitDeclarationsOnly` to `--renameDeclarationOnly`

* Rename test files
2018-02-05 14:48:50 -08:00
Andy
c7b86e824f
EntityNameExpression doesn't need to include ParenthesizedExpression (#21588) 2018-02-05 14:22:03 -08:00
Anders Hejlsberg
0d3f2166e3 Automatic semicolon insertion before 'extends' in conditional type 2018-02-05 13:56:10 -08:00
Andy
d584f4d97b
Fix assertion: class reference location may be 'default' keyword instead of class name (#21630)
* Fix assertion: class reference location may be 'default' keyword instead of class name

* Update API baselines
2018-02-05 13:24:08 -08:00
Klaus Meinhardt
c1a2adcea4 Fix return types of NodeBuilder methods (#21619) 2018-02-05 11:34:28 -08:00
Anders Hejlsberg
e31b3e942b
Merge pull request #21627 from Microsoft/fixExtendsNever
Fix 'T extends never' in conditional types
2018-02-05 11:21:06 -08:00
Anders Hejlsberg
d629607f98
Merge pull request #21610 from Microsoft/fixSharedTypeParameters
Fix unintended sharing of type parameters
2018-02-05 11:20:34 -08:00
Andy
14bd0a2d56
Detect and prevent creation of bad Identifier (#21581) 2018-02-05 09:13:38 -08:00
Anders Hejlsberg
b8f3c6169b Use more permissive wildcard type in definitely false check 2018-02-05 06:48:29 -08:00
Anders Hejlsberg
503fc0642e Fix unintended sharing of typeParameters property in SymbolLinks 2018-02-03 14:45:01 -08:00
Anders Hejlsberg
4ae8445ff7 Properly classify output text in emitter 2018-02-03 11:32:24 -08:00
Anders Hejlsberg
7bb8cfe638 Resolve to type in true branch for 'never extends never' 2018-02-03 09:44:28 -08:00
Anders Hejlsberg
7034d671db Merge branch 'conditionalTypes' into inferTypes 2018-02-03 08:41:54 -08:00
Anders Hejlsberg
d4dc67aab2 Merge branch 'master' into conditionalTypes
# Conflicts:
#	src/compiler/checker.ts
2018-02-03 07:26:38 -08:00
Wesley Wigham
89de4c9a3a
Only apply global augmentations before globals are available (#21563)
* Only apply global augmentations before globals are available

* Add detailed comment explaining the split of global/nonglobal augmentations

* Remove trailing whitespace
2018-02-02 18:44:54 -08:00
Wesley Wigham
2c3b69336f
Collect import helper needs during module info gathering (#21567)
* Collect import helper needs during module info gathering

* Add tests for other forms that trigger import helpers
2018-02-02 13:17:39 -08:00
Ron Buckton
6f792f5aec Fix initializer assignability for unique symbol 2018-02-02 13:13:21 -08:00
Andy
567fba251b
Support exclamationToken in updateProperty and createProperty (#21577) 2018-02-02 13:03:18 -08:00
Anders Hejlsberg
79d2772531
Merge pull request #21573 from Microsoft/optimizeUnionIntersection
Optimize union and intersection types
2018-02-02 12:41:04 -08:00
Andy
78f217bdd6
Assert exportingModuleSymbol is defined (#21340)
* Assert `exportingModuleSymbol` is defined

* Add assert message

* Add message in both places
2018-02-02 10:49:34 -08:00
Wesley Wigham
b3ec8cce00
Leverage existing function for choosing spread validity (#21564) 2018-02-02 10:11:50 -08:00
Anders Hejlsberg
06c28ea69b Initialize more common properties in Symbol constructor 2018-02-02 07:48:21 -08:00
Anders Hejlsberg
2047558daf Optimize creation of union and intersection types 2018-02-02 07:47:42 -08:00
Wesley Wigham
8b81d19b6d
Enable CFA on this keyword unconditionally (#21490) 2018-02-02 00:30:03 -08:00
Ron Buckton
06c5d393b5
Merge pull request #21559 from Microsoft/fix21543
Fix over-aggressive transformation of super properties
2018-02-01 15:45:24 -08:00
Wesley Wigham
aa5272dc89
Create import helpers for named imports if they contain default imports (#21550) 2018-02-01 15:38:18 -08:00
Ron Buckton
94b2d40cac Fix over-aggressive transformation of super properties 2018-02-01 15:22:34 -08:00
Wesley Wigham
a33dae3771
Rework how default vs local name selection is done to be more correct (#21526) 2018-02-01 12:34:25 -08:00
Wesley Wigham
058b2f7f11
Allow boolean literals to be generated from contextual types again (#21503)
* Allow boolean literals to be generated from contextual types again

* Update fourslash test
2018-02-01 12:34:16 -08:00
Sheetal Nandi
24476966e2
Merge pull request #21545 from Microsoft/logMoreSysInfo
Log more info about compilation
2018-02-01 11:41:34 -08:00