});
PARENS(AST_Call, function(output){
- var p = output.parent();
- return p instanceof AST_New && p.expression === this;
+ var p = output.parent(), p1;
+ if (p instanceof AST_New && p.expression === this)
+ return true;
+
+ // workaround for Safari bug.
+ // https://bugs.webkit.org/show_bug.cgi?id=123506
+ return this.expression instanceof AST_Function
+ && p instanceof AST_PropAccess
+ && p.expression === this
+ && (p1 = output.parent(1)) instanceof AST_Assign
+ && p1.left === p;
});
PARENS(AST_New, function(output){