public override void Visit(ICodeNode node)
 {
     this.hasSideEffects = SideEffectsFinder.HasSideEffects(node);
     if (!this.hasSideEffects)
     {
         this.Visit(node);
     }
     return;
 }
Example #2
0
        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);
 }