8387 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
eaca169b11 Remove optionality from the initial type of default-valued parameters
When narrowing, remove optionality from the initial type of
parameters with initialisers. Note that the type of the initialiser is
not used; its presence just means that the initial type of the parameter
can't contain undefined. It could contain any other member of a declared
union type.
2017-03-06 16:21:54 -08:00
Yui
0425175b3a Merge pull request #14493 from Microsoft/master-fixEmitExtraESModuleMark
[Master] Do not emit ESModule marker if file is not external module
2017-03-06 14:09:14 -08:00
Kanchalai Tanglertsampan
ed071a9b02 Only emit ESModule marker when there is no export equal and the file is external module 2017-03-06 13:33:51 -08:00
Anders Hejlsberg
f7242f3983 Merge pull request #14486 from Microsoft/strictChecks
New --strict master option
2017-03-06 11:23:15 -10:00
Anders Hejlsberg
c968eed968 Merge pull request #14472 from Microsoft/typeParameterTypeGuards
Fix type parameter type guards
2017-03-06 11:12:17 -10:00
Anders Hejlsberg
41226d0d75 Merge pull request #14141 from Microsoft/contextualThisType
Typed 'this' in object literal methods
2017-03-06 11:11:40 -10:00
Anders Hejlsberg
d3b7058c29 Change 'tsc --init' to default to 'strict: true' 2017-03-06 13:04:59 -08:00
Anders Hejlsberg
a4e80b5004 Merge branch 'master' into strictChecks 2017-03-05 16:31:22 -08:00
Anders Hejlsberg
91b658da36 Construct intersection types for type guards involving type parameters 2017-03-05 14:12:55 -08:00
Anders Hejlsberg
65cea207da Use getTypeOfExpression when inferring variable type from initializer 2017-03-03 14:32:18 -08:00
Anders Hejlsberg
cda741d14a Introduce --strict compiler option 2017-03-03 10:25:10 -08:00
Andy Hanson
3bc125463b Add more missing semicolons 2017-03-03 07:00:52 -08:00
Andy Hanson
5f52549047 Merge branch 'master' into semicolon 2017-03-03 06:56:05 -08:00
Arthur Ozga
e9fd831a9d Merge pull request #14140 from aozgaa/ImplementMissingThis
Implement Missing Property of Type `this`
2017-03-01 16:17:35 -08:00
Ron Buckton
a0271ef6c4 Merge pull request #14177 from ajafff/parent-type
Add specific types to parent property of Node interfaces
2017-03-01 13:27:45 -08:00
Arthur Ozga
0261586d6e cleanup 2017-03-01 11:27:59 -08:00
Arthur Ozga
d878f80f90 more rigorous implements-clause check 2017-03-01 11:23:49 -08:00
Andy
69060025ba Merge pull request #12352 from Microsoft/untyped_module_symbol
Use a symbol for untyped modules to distinguish from unknownSymbol
2017-03-01 10:38:47 -08:00
Klaus Meinhardt
6ad9fe146a Add parent type to ExpressionWithTypeArguments 2017-03-01 18:08:53 +01:00
Andy Hanson
5ea43c8ba3 Merge branch 'master' into semicolon 2017-03-01 08:09:59 -08:00
Arthur Ozga
5bcbd7aabc instantiate generic this param correctly 2017-02-28 19:35:15 -08:00
Ron Buckton
a4904935e0 Fix for-await-of emit in async function 2017-02-28 19:35:06 -08:00
Mohamed Hegazy
97965574ed Merge pull request #14373 from DLehenbauer/fixSpreadUsage
Fix TypeError when JSDoc.tags is undefined
2017-02-28 16:37:04 -08:00
Anders Hejlsberg
21c43009a6 Enable new behavior only in --noImplicitThis mode 2017-02-28 16:09:24 -08:00
Kanchalai Tanglertsampan
4aac67b4e6 Remove assertion 2017-02-28 09:59:17 -08:00
Anders Hejlsberg
ee7b93c1a0 Merge branch 'master' into contextualThisType 2017-02-28 09:52:03 -08:00
Anders Hejlsberg
993397b5ab Introduce CheckMode enum and getContextualMapper() function 2017-02-28 08:54:38 -08:00
DLehenbauer
2a3800965b Fix TypeError when JSDoc.tags is undefined (see #14362) 2017-02-28 07:31:01 -08:00
Ron Buckton
4f1d7a56b9 Merge pull request #14338 from Microsoft/fix14334
Fix emit for downlevel generated catch variable
2017-02-27 16:04:34 -08:00
Ron Buckton
8c2bcaedee Fix emit for downlevel generated catch variable 2017-02-27 11:46:56 -08:00
Mohamed Hegazy
36eb1ced1d Merge pull request #14324 from mihailik/master
Special-case (0,eval) for side-effect-free 0 left of comma
2017-02-27 11:32:11 -08:00
Anders Hejlsberg
cd87d903a0 Update comment 2017-02-27 10:19:14 -08:00
Oleg Mihailik
6a88cf0edf Better check for right.text, more comments in test 2017-02-26 23:13:50 +00:00
Oleg Mihailik
27675fc96e Avoid failing TS2695 for eval. 2017-02-25 23:35:24 +00:00
Anders Hejlsberg
20b4523d0f Rename applyToContextualType to mapType and remove old mapType 2017-02-24 19:52:22 -08:00
Anders Hejlsberg
9dc2bae2e6 Use contextual type of object literal as 'this' in methods 2017-02-24 18:00:27 -08:00
Nathan Shively-Sanders
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
Mohamed Hegazy
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 Li
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
Anders Hejlsberg
9b6b6cc289 Fix linting error 2017-02-22 19:32:34 -08:00
Anders Hejlsberg
168d367b5e Contextually type 'this' in accessors of object literals 2017-02-22 19:16:55 -08:00
Arthur Ozga
65da012527 Merge pull request #14158 from aozgaa/QuickFixPeriods
Add periods to diagnostic messages
2017-02-22 16:15:34 -08:00
Vladimir Matveev
eb34f0ca03 a few fixed in printer/factory (#14239) 2017-02-22 15:24:29 -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
994ddacae2 Allow JSX attributes to be union types 2017-02-21 14:28:46 -08:00
Klaus Meinhardt
6c9ba46e8b Fix compile errors 2017-02-19 22:03:32 +01:00
Klaus Meinhardt
077862736d Add parent type for nodes where possible 2017-02-19 21:26:04 +01:00
Klaus Meinhardt
5ed5e5fd94 Add CatchClause to VariableDeclaration.parent 2017-02-19 18:38:09 +01:00