Merge pull request #7916 from Microsoft/transforms-fixClassNamesAndAutoParenForCall

[Transforms] Fixes class expression names and auto-parens in call/new
This commit is contained in:
Ron Buckton 2016-04-06 19:00:06 -07:00
commit c9c6e5ab4f
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 },