private void Abort()
 {
     if (this.status != 1)
     {
         this.status = 2;
     }
     return;
 }
 public override ICodeNode VisitVariableReferenceExpression(VariableReferenceExpression node)
 {
     if (this.status == 2)
     {
         throw new Exception("Invalid state");
     }
     if ((object)node.get_Variable().Resolve() != (object)this.variableDef)
     {
         return(node);
     }
     this.status = 1;
     return(this.GetNewValue(node));
 }
 public bool TryInlineVariable(VariableDefinition variableDef, Expression value, ICodeNode target, bool aggressive, out ICodeNode result)
 {
     this.variableDef = variableDef;
     this.value       = value;
     if (!aggressive)
     {
         V_1 = new SimpleVariableInliner.ASTNodeCounter();
         if (V_1.CountNodes(value) + V_1.CountNodes(target) - 1 > 10)
         {
             result = target;
             return(false);
         }
     }
     this.valueHasSideEffects = (new SideEffectsFinder()).HasSideEffectsRecursive(value);
     this.status = 0;
     result      = this.Visit(target);
     return(this.status == 1);
 }