Fixes extra _1 in class names and auto-parentheses for comma expression in call/new.

Fixes #7857.
Fixes #7858.
This commit is contained in:
Ron Buckton
2016-04-06 17:14:04 -07:00
parent 3daeba3b53
commit e29f9a5e10
2 changed files with 3 additions and 12 deletions

View File

@@ -651,18 +651,9 @@ namespace ts {
const heritageClauses = visitNodes(node.heritageClauses, visitor, isHeritageClause);
const members = transformClassMembers(node, heritageClauses !== undefined);
// emit name if
// - node has a name
// - node has static initializers
//
let name = node.name;
if (!name && staticProperties.length > 0) {
name = getGeneratedNameForNode(node);
}
const classExpression = setOriginalNode(
createClassExpression(
name,
node.name,
heritageClauses,
members,
/*location*/ node

View File

@@ -131,12 +131,12 @@ namespace ts {
[SyntaxKind.CallExpression]: [
{ name: "expression", test: isLeftHandSideExpression, parenthesize: parenthesizeForAccess },
{ name: "typeArguments", test: isTypeNode },
{ name: "arguments", test: isExpression },
{ name: "arguments", test: isExpression, parenthesize: parenthesizeExpressionForList },
],
[SyntaxKind.NewExpression]: [
{ name: "expression", test: isLeftHandSideExpression, parenthesize: parenthesizeForNew },
{ name: "typeArguments", test: isTypeNode },
{ name: "arguments", test: isExpression },
{ name: "arguments", test: isExpression, parenthesize: parenthesizeExpressionForList },
],
[SyntaxKind.TaggedTemplateExpression]: [
{ name: "tag", test: isLeftHandSideExpression, parenthesize: parenthesizeForAccess },