diff --git a/src/rules/trailingCommaRule.ts b/src/rules/trailingCommaRule.ts index 8c22b9682fd..950216a8302 100644 --- a/src/rules/trailingCommaRule.ts +++ b/src/rules/trailingCommaRule.ts @@ -94,9 +94,13 @@ class TrailingCommaWalker extends Lint.AbstractWalker { case ts.SyntaxKind.EnumDeclaration: this.checkList((node as ts.EnumDeclaration).members, node.end); break; - case ts.SyntaxKind.CallExpression: case ts.SyntaxKind.NewExpression: - this.checkList((node as ts.CallExpression | ts.NewExpression).arguments, node.end); + if ((node as ts.NewExpression).arguments === undefined) { + break; + } + // falls through + case ts.SyntaxKind.CallExpression: + this.checkList((node as ts.CallExpression | ts.NewExpression).arguments!, node.end); break; case ts.SyntaxKind.ArrowFunction: case ts.SyntaxKind.Constructor: diff --git a/test/rules/trailing-comma/multiline-always/test.ts.fix b/test/rules/trailing-comma/multiline-always/test.ts.fix index 521c9664107..38a6cf4013a 100644 --- a/test/rules/trailing-comma/multiline-always/test.ts.fix +++ b/test/rules/trailing-comma/multiline-always/test.ts.fix @@ -544,3 +544,6 @@ export { foo, bar, }; + +// don't crash +new Foo diff --git a/test/rules/trailing-comma/multiline-always/test.ts.lint b/test/rules/trailing-comma/multiline-always/test.ts.lint index 1ea11dafd3c..77d4f47fee5 100644 --- a/test/rules/trailing-comma/multiline-always/test.ts.lint +++ b/test/rules/trailing-comma/multiline-always/test.ts.lint @@ -573,3 +573,6 @@ export { bar ~nil [Missing trailing comma] }; + +// don't crash +new Foo