public override void Visit(ICodeNode node) { this.hasSideEffects = SideEffectsFinder.HasSideEffects(node); if (!this.hasSideEffects) { this.Visit(node); } return; }
public override ICodeNode Visit(ICodeNode node) { if (status == InliningResult.NotFound) { node = base.Visit(node); if (valueHasSideEffects && status == InliningResult.NotFound && SideEffectsFinder.HasSideEffects(node)) { Abort(); } } return(node); }
public override ICodeNode Visit(ICodeNode node) { if (this.status == SimpleVariableInliner.InliningResult.NotFound) { node = this.Visit(node); if (this.valueHasSideEffects && this.status == SimpleVariableInliner.InliningResult.NotFound && SideEffectsFinder.HasSideEffects(node)) { this.Abort(); } } return(node); }