Browse Source

* Patch from Mattias Gaertner to fix new (a())()

git-svn-id: trunk@35640 -
michael 8 years ago
parent
commit
676b25cc93
1 changed files with 2 additions and 1 deletions
  1. 2 1
      packages/fcl-js/src/jswriter.pp

+ 2 - 1
packages/fcl-js/src/jswriter.pp

@@ -784,7 +784,8 @@ begin
   if (MExpr is TJSPrimaryExpression)
   if (MExpr is TJSPrimaryExpression)
       or (MExpr is TJSDotMemberExpression)
       or (MExpr is TJSDotMemberExpression)
       or (MExpr is TJSBracketMemberExpression)
       or (MExpr is TJSBracketMemberExpression)
-      or (MExpr is TJSCallExpression)
+      // Note: new requires brackets in this case: new (a())()
+      or ((MExpr is TJSCallExpression) and not (El is TJSNewMemberExpression))
       or (MExpr is TJSLiteral) then
       or (MExpr is TJSLiteral) then
     WriteJS(MExpr)
     WriteJS(MExpr)
   else
   else