Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
dfee3de
Add test case for #8229
sheetalkamat Apr 21, 2016
90d347e
Do not report errors during contextual typecheck
sheetalkamat Apr 21, 2016
34f7f2c
Handle the scenario when let [a=undefined]=[]
sheetalkamat Apr 22, 2016
ad56220
Instantiate contextual this parameters if needed
sandersn Jul 14, 2016
78f807c
Test that contextually typed generic this parameters are instantiated
sandersn Jul 14, 2016
448a480
Don't allow `.ts` to appear in an import
Jul 12, 2016
a8c05a9
Add specific error message for unwanted '.ts' extension
Jul 12, 2016
95e391e
Allow `await` in a simple unary expression
Jul 22, 2016
bc5c7b6
More tests
Jul 22, 2016
275dbc7
Forbid `await await`
Jul 22, 2016
52fd033
Allow `await await`
Jul 25, 2016
2821d98
Merge branch 'master' into no_ts_extension
Aug 2, 2016
0f134ed
Improve error message
Aug 2, 2016
359c8b1
Don't allow ".d.ts" extension in an import either.
Aug 3, 2016
3de8c22
Merge branch 'master' into no_ts_extension
Aug 15, 2016
2eb159e
Rename 'find' functions
Aug 15, 2016
02f908a
Merge branch 'master' into noImplicitAnyDestructuring
sheetalkamat Aug 16, 2016
271ffc8
Merge branch 'master' into instantiate-this-for-contextually-typed-ty…
sandersn Aug 17, 2016
0f483d6
Assign and instantiate contextual this type if not present
sandersn Aug 17, 2016
aa834d7
JSDoc supports null, undefined and never types
sandersn Aug 17, 2016
164beb3
Update baselines in jsDocParsing unit tests
sandersn Aug 17, 2016
d24afc2
Return non-JsDocComment children
Aug 18, 2016
8fc17af
Move supportedTypescriptExtensionsWithDtsFirst next to supportedTypeS…
Aug 18, 2016
952d2fe
Fix comment
Aug 18, 2016
a621c09
Merge pull request #8241 from Microsoft/noImplicitAnyDestructuring
mhegazy Aug 18, 2016
03dcdda
Treat special property access symbol differently
Aug 19, 2016
297cb50
Merge branch 'master' into no_ts_extension
Aug 19, 2016
b452469
Fix tests
Aug 19, 2016
b482fa5
Merge branch 'master' into cast_of_await
Aug 19, 2016
19cde06
Merge pull request #9890 from Microsoft/cast_of_await
Aug 19, 2016
d2d5d42
Merge pull request #9646 from Microsoft/no_ts_extension
Aug 19, 2016
7f6e36c
Update shim version to be 2.1 (#10424)
yuit Aug 19, 2016
0168ab2
Check return code paths on getters (#10102)
weswigham Aug 19, 2016
da6d951
Remove extraneous arguments from harness's runBaseline (#10419)
weswigham Aug 19, 2016
6c60e5b
Remove needless call to basename
RyanCavanaugh Aug 19, 2016
def29f6
Merge pull request #10439 from RyanCavanaugh/fixJakeBaselineAccept
RyanCavanaugh Aug 19, 2016
8ad2744
Refactor baseliners out of compiler runner (#10440)
weswigham Aug 19, 2016
057357b
CR feedback
Aug 19, 2016
a5bb13f
fix broken tests
Aug 19, 2016
a531b87
Pass in baselineOpts into types baselines so that RWC baselines can b…
yuit Aug 20, 2016
d8ab098
Merge pull request #10426 from zhengbli/9518
Aug 20, 2016
eeec775
Add more test for 10426
Aug 21, 2016
794d3e9
routine update of dom libs
Aug 21, 2016
66f6f9b
Merge pull request #10458 from zhengbli/betterTestForModuleExportDOc
Aug 21, 2016
e445e01
Add test for jsdoc syntactic classification for function declaration
Aug 21, 2016
6d2323b
Simplify implementation
Aug 21, 2016
84386f9
Tolerate certain errors in tsconfig.json
Aug 21, 2016
b207417
Add test for configFile error tolerance
Aug 21, 2016
a8ab52f
Use TS parser to tolerate more errors in tsconfig.json
Aug 21, 2016
582d8b8
Implement tuple types as type references to synthesized generic types
ahejlsberg Aug 21, 2016
7d82c22
Add comments + minor changes
ahejlsberg Aug 21, 2016
2e8d11e
Accept new baselines
ahejlsberg Aug 22, 2016
05fef61
Add .types extension
Aug 22, 2016
4e56fc0
Properly guard for undefined in getTypeReferenceArity
ahejlsberg Aug 22, 2016
2c814f4
Add jsdoc nullable union test case to fourslash
sandersn Aug 22, 2016
bb6c6fd
Merge pull request #10478 from Microsoft/fixtypesRWC
mhegazy Aug 22, 2016
2013058
Fix class/interface merging issue + lint error
ahejlsberg Aug 22, 2016
92eb8df
Allow "typings" in a package.json to be missing its extension (but al…
Aug 22, 2016
ec1f6b1
Merge pull request #10480 from Microsoft/typings_extension_is_optional
Aug 22, 2016
a013759
Merge pull request #10399 from Microsoft/jsdoc-never-undefined-null-t…
sandersn Aug 22, 2016
5aafc2c
Contextually type this in getDeclFromSig, not checkThisExpr
sandersn Aug 22, 2016
4a58e68
Update parser comment with es7 grammar (#10459)
yuit Aug 22, 2016
3fb0840
Merge pull request #10466 from Microsoft/tupleTypeReferences
ahejlsberg Aug 22, 2016
6f722b0
Merge pull request #10441 from zhengbli/routineUpdate819
Aug 22, 2016
d133b0e
Merge pull request #10407 from zhengbli/fixJsDocSyntacticClassification
mhegazy Aug 22, 2016
edbeab0
Merge pull request #10418 from zhengbli/tolerateConfigError
Aug 22, 2016
046b55e
allowSyntheticDefaultImports resolves to modules instead of variables
sandersn Aug 22, 2016
fc1d6a8
Rename getContextuallyTypedThisParameter to getContextualThisParameter
sandersn Aug 22, 2016
36130ff
Fix 10472: Invalid emitted code for await expression (#10483)
yuit Aug 22, 2016
f028fa3
Merge pull request #9746 from Microsoft/instantiate-this-for-contextu…
sandersn Aug 22, 2016
93de502
Merge pull request #10486 from Microsoft/allowSyntheticDefaultImports…
sandersn Aug 22, 2016
5990da0
Merge branch 'master' into mergeMaster_08/22
Aug 22, 2016
5fbb820
Merge branch 'master' into mergeMaster_08/22
Aug 23, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/compiler/parser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3417,6 +3417,7 @@ namespace ts {
* 6) - UnaryExpression[?yield]
* 7) ~ UnaryExpression[?yield]
* 8) ! UnaryExpression[?yield]
* 9) [+Await] await UnaryExpression[?yield]
*/
function parseSimpleUnaryExpression(): UnaryExpression {
switch (token()) {
Expand All @@ -3431,6 +3432,8 @@ namespace ts {
return parseTypeOfExpression();
case SyntaxKind.VoidKeyword:
return parseVoidExpression();
case SyntaxKind.AwaitKeyword:
return parseAwaitExpression();
case SyntaxKind.LessThanToken:
// This is modified UnaryExpression grammar in TypeScript
// UnaryExpression (modified):
Expand Down
28 changes: 28 additions & 0 deletions tests/baselines/reference/castOfAwait.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
//// [castOfAwait.ts]
async function f() {
<number> await 0;
typeof await 0;
void await 0;
await void <string> typeof <number> void await 0;
await await 0;
}


//// [castOfAwait.js]
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments)).next());
});
};
function f() {
return __awaiter(this, void 0, void 0, function* () {
yield 0;
typeof yield 0;
void yield 0;
yield void typeof void yield 0;
yield yield 0;
});
}
11 changes: 11 additions & 0 deletions tests/baselines/reference/castOfAwait.symbols
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
=== tests/cases/compiler/castOfAwait.ts ===
async function f() {
>f : Symbol(f, Decl(castOfAwait.ts, 0, 0))

<number> await 0;
typeof await 0;
void await 0;
await void <string> typeof <number> void await 0;
await await 0;
}

35 changes: 35 additions & 0 deletions tests/baselines/reference/castOfAwait.types
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
=== tests/cases/compiler/castOfAwait.ts ===
async function f() {
>f : () => Promise<void>

<number> await 0;
><number> await 0 : number
>await 0 : number
>0 : number

typeof await 0;
>typeof await 0 : string
>await 0 : number
>0 : number

void await 0;
>void await 0 : undefined
>await 0 : number
>0 : number

await void <string> typeof <number> void await 0;
>await void <string> typeof <number> void await 0 : any
>void <string> typeof <number> void await 0 : undefined
><string> typeof <number> void await 0 : string
>typeof <number> void await 0 : string
><number> void await 0 : number
>void await 0 : undefined
>await 0 : number
>0 : number

await await 0;
>await await 0 : number
>await 0 : number
>0 : number
}

12 changes: 12 additions & 0 deletions tests/baselines/reference/castOfYield.errors.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
tests/cases/compiler/castOfYield.ts(4,14): error TS1109: Expression expected.


==== tests/cases/compiler/castOfYield.ts (1 errors) ====
function* f() {
<number> (yield 0);
// Unlike await, yield is not allowed to appear in a simple unary expression.
<number> yield 0;
~~~~~
!!! error TS1109: Expression expected.
}

15 changes: 15 additions & 0 deletions tests/baselines/reference/castOfYield.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//// [castOfYield.ts]
function* f() {
<number> (yield 0);
// Unlike await, yield is not allowed to appear in a simple unary expression.
<number> yield 0;
}


//// [castOfYield.js]
function f() {
(yield 0);
// Unlike await, yield is not allowed to appear in a simple unary expression.
;
yield 0;
}
8 changes: 8 additions & 0 deletions tests/cases/compiler/castOfAwait.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// @target: es6
async function f() {
<number> await 0;
typeof await 0;
void await 0;
await void <string> typeof <number> void await 0;
await await 0;
}
5 changes: 5 additions & 0 deletions tests/cases/compiler/castOfYield.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
function* f() {
<number> (yield 0);
// Unlike await, yield is not allowed to appear in a simple unary expression.
<number> yield 0;
}