return make_sequence(this, [ expression, property ]);
});
def(AST_SymbolRef, function(compressor) {
- if (!this.is_declared(compressor)) return this;
- var def = this.definition();
- if (member(this, def.references)) def.replaced++;
- return null;
+ return this.is_declared(compressor) ? null : this;
});
def(AST_This, return_null);
def(AST_Unary, function(compressor, first_in_statement) {
this.write_only = !this.expression.has_side_effects(compressor);
return this;
}
- if (this.operator == "typeof" && this.expression instanceof AST_SymbolRef) {
- this.expression.definition().replaced++;
- return null;
- }
+ if (this.operator == "typeof" && this.expression instanceof AST_SymbolRef) return null;
var expression = this.expression.drop_side_effect_free(compressor, first_in_statement);
if (first_in_statement && expression && is_iife_call(expression)) {
if (expression === this.expression && this.operator == "!") return this;