}
return this;
});
+ var non_converting_unary = makePredicate("! typeof void");
def(AST_UnaryPrefix, function(compressor, depth) {
var e = this.expression;
// Function would be evaluated to an array and so typeof would
&& e.fixed_value() instanceof AST_Lambda)) {
return typeof function(){};
}
+ if (!non_converting_unary(this.operator)) depth++;
e = e._eval(compressor, depth);
if (e === this.expression) return this;
switch (this.operator) {
}
return this;
});
+ var non_converting_binary = makePredicate("&& || === !==");
def(AST_Binary, function(compressor, depth) {
+ if (!non_converting_binary(this.operator)) depth++;
var left = this.left._eval(compressor, depth);
if (left === this.left) return this;
var right = this.right._eval(compressor, depth);