diff --git a/src/sickle.ts b/src/sickle.ts index 18361b7e9..937881ac5 100644 --- a/src/sickle.ts +++ b/src/sickle.ts @@ -170,6 +170,13 @@ class Annotator { case ts.SyntaxKind.EnumDeclaration: this.visitEnum(node); break; + case ts.SyntaxKind.TypeAssertionExpression: + let typeAssertion = node; + this.maybeEmitJSDocType(typeAssertion.type); + this.emit('('); + this.visit(typeAssertion.expression); + this.emit(')'); + break; default: this.writeNode(node); break; diff --git a/test_files/coerce.ts b/test_files/coerce.ts new file mode 100644 index 000000000..1afbce35c --- /dev/null +++ b/test_files/coerce.ts @@ -0,0 +1 @@ +let x = 'hello, ' + JSON.parse('"world"'); diff --git a/test_files/es6/coerce.js b/test_files/es6/coerce.js new file mode 100644 index 000000000..4f7cf90ce --- /dev/null +++ b/test_files/es6/coerce.js @@ -0,0 +1 @@ +let x = 'hello, ' + (JSON.parse('"world"')); diff --git a/test_files/sickle/coerce.ts b/test_files/sickle/coerce.ts new file mode 100644 index 000000000..1fe77aca4 --- /dev/null +++ b/test_files/sickle/coerce.ts @@ -0,0 +1 @@ +let x = 'hello, ' + /**string */(JSON.parse('"world"'));