public override void TraverseChildren(IRethrowStatement rethrowStatement) { var exceptionExpr = Bpl.Expr.Ident(this.sink.LocalExcVariable); AddRecordCall("<rethrown exception>", sink.Heap.RefType, exceptionExpr); StmtBuilder.Add(TranslationHelper.BuildAssignCmd(Bpl.Expr.Ident(this.sink.Heap.ExceptionVariable), exceptionExpr)); PropagateException(); }
public override void Visit(IRethrowStatement rethrowStatement) { if (Process(rethrowStatement)) { visitor.Visit(rethrowStatement); } base.Visit(rethrowStatement); }
/// <summary> /// Traverses the rethrow statement. /// </summary> public virtual void TraverseChildren(IRethrowStatement rethrowStatement) { Contract.Requires(rethrowStatement != null); this.TraverseChildren((IStatement)rethrowStatement); }
/// <summary> /// Performs some computation with the rethrow statement. /// </summary> /// <param name="rethrowStatement"></param> public virtual void Visit(IRethrowStatement rethrowStatement) { }
public override void TraverseChildren(IRethrowStatement rethrowStatement) { MethodEnter(rethrowStatement); base.TraverseChildren(rethrowStatement); MethodExit(); }
public override void TraverseChildren(IRethrowStatement rethrowStatement) { this.exceptionsThrown.Add(this.currentCatchClauseExceptionType); }
/// <summary> /// Returns a shallow copy of the rethrow statement. /// </summary> /// <param name="rethrowStatement"></param> public RethrowStatement Copy(IRethrowStatement rethrowStatement) { return new RethrowStatement(rethrowStatement); }
/// <summary> /// Visits the specified rethrow statement. /// </summary> /// <param name="rethrowStatement">The rethrow statement.</param> public override void Visit(IRethrowStatement rethrowStatement) { RethrowStatement mutableRethrowStatement = rethrowStatement as RethrowStatement; if (alwaysMakeACopy || mutableRethrowStatement == null) mutableRethrowStatement = new RethrowStatement(rethrowStatement); this.resultStatement = this.myCodeMutator.Visit(mutableRethrowStatement); }
public override void TraverseChildren(IRethrowStatement rethrowStatement) { this.sourceEmitterOutput.WriteLine("throw;", true); }
/// <summary> /// Generates IL for the specified rethrow statement. /// </summary> /// <param name="rethrowStatement">The rethrow statement.</param> public override void TraverseChildren(IRethrowStatement rethrowStatement) { this.EmitSequencePoint(rethrowStatement.Locations); this.generator.Emit(OperationCode.Rethrow); this.lastStatementWasUnconditionalTransfer = true; }
public override void Visit(IRethrowStatement rethrowStatement) { if(Process(rethrowStatement)){visitor.Visit(rethrowStatement);} base.Visit(rethrowStatement); }
public override void TraverseChildren(IRethrowStatement rethrowStatement) { StmtBuilder.Add(TranslationHelper.BuildAssignCmd(Bpl.Expr.Ident(this.sink.Heap.ExceptionVariable), Bpl.Expr.Ident(this.sink.LocalExcVariable))); RaiseException(); }
public void visit(IRethrowStatement value) { throw new System.NotSupportedException(value.GetType().ToString()); }
public void Visit(IRethrowStatement rethrowStatement) { this.result = this.rewriter.Rewrite(rethrowStatement); }
/// <summary> /// Rewrites the rethrow statement. /// </summary> /// <param name="rethrowStatement"></param> public virtual IStatement Rewrite(IRethrowStatement rethrowStatement) { var mutableRethrowStatement = rethrowStatement as RethrowStatement; if (mutableRethrowStatement == null) return rethrowStatement; this.RewriteChildren(mutableRethrowStatement); return mutableRethrowStatement; }
/// <summary> /// Performs some computation with the rethrow statement. /// </summary> /// <param name="rethrowStatement"></param> public virtual void Visit(IRethrowStatement rethrowStatement) { this.Visit((IStatement)rethrowStatement); }
public void Visit(IRethrowStatement rethrowStatement) { throw new NotImplementedException(); }
public override void Visit(IRethrowStatement rethrowStatement) { allElements.Add(new InvokInfo(Traverser, "IRethrowStatement", rethrowStatement)); }
public virtual void onASTElement(IRethrowStatement rethrowStatement) { }
public void visit(IRethrowStatement value) { }
/// <summary> /// Returns a deep copy of the rethrow statement. /// </summary> /// <param name="rethrowStatement"></param> public RethrowStatement Copy(IRethrowStatement rethrowStatement) { var mutableCopy = this.shallowCopier.Copy(rethrowStatement); return mutableCopy; }
/// <summary> /// Rewrites the rethrow statement. /// </summary> /// <param name="rethrowStatement"></param> public virtual IStatement Rewrite(IRethrowStatement rethrowStatement) { return rethrowStatement; }
public void Visit(IRethrowStatement rethrowStatement) { this.result = this.copier.Copy(rethrowStatement); }
/// <summary> /// Returns a shallow copy of the rethrow statement. /// </summary> /// <param name="rethrowStatement"></param> public RethrowStatement Copy(IRethrowStatement rethrowStatement) { Contract.Requires(rethrowStatement != null); Contract.Ensures(Contract.Result<RethrowStatement>() != null); return new RethrowStatement(rethrowStatement); }
//^ ensures this.path.Count == old(this.path.Count); /// <summary> /// Traverses the rethrow statement. /// </summary> /// <param name="rethrowStatement"></param> public virtual void Visit(IRethrowStatement rethrowStatement) { if (this.stopTraversal) return; //^ int oldCount = this.path.Count; this.path.Push(rethrowStatement); //^ assume this.path.Count == oldCount+1; //True because all of the virtual methods of this class promise not to decrease this.path.Count. this.path.Pop(); }
/// <summary> /// Returns a deep copy of the rethrow statement. /// </summary> /// <param name="rethrowStatement"></param> public RethrowStatement Copy(IRethrowStatement rethrowStatement) { Contract.Requires(rethrowStatement != null); Contract.Ensures(Contract.Result<RethrowStatement>() != null); var mutableCopy = this.shallowCopier.Copy(rethrowStatement); return mutableCopy; }
/// <summary> /// Traverses the rethrow statement. /// </summary> public void Traverse(IRethrowStatement rethrowStatement) { Contract.Requires(rethrowStatement != null); if (this.preorderVisitor != null) this.preorderVisitor.Visit(rethrowStatement); if (this.StopTraversal) return; this.TraverseChildren(rethrowStatement); if (this.StopTraversal) return; if (this.postorderVisitor != null) this.postorderVisitor.Visit(rethrowStatement); }
public void Visit(IRethrowStatement rethrowStatement) { this.traverser.Traverse(rethrowStatement); }
public void Visit(IRethrowStatement rethrowStatement) { Contract.Requires(rethrowStatement != null); throw new NotImplementedException(); }
public override void visit(IRethrowStatement value) { il.Emit(OpCodes.Rethrow); }
public virtual void visit(IRethrowStatement value) { }
/// <summary> /// /// </summary> /// <param name="rethrowStatement"></param> public RethrowStatement(IRethrowStatement rethrowStatement) : base(rethrowStatement) { }
/// <summary> /// Visits the specified rethrow statement. /// </summary> /// <param name="rethrowStatement">The rethrow statement.</param> public override void Visit(IRethrowStatement rethrowStatement) { RethrowStatement mutableRethrowStatement = new RethrowStatement(rethrowStatement); this.resultStatement = this.myCodeCopier.DeepCopy(mutableRethrowStatement); }
/// <summary> /// Visits the specified rethrow statement. /// </summary> /// <param name="rethrowStatement">The rethrow statement.</param> public override void Visit(IRethrowStatement rethrowStatement) { RethrowStatement mutableRethrowStatement = rethrowStatement as RethrowStatement; if (mutableRethrowStatement == null) { this.resultStatement = rethrowStatement; return; } this.resultStatement = this.myCodeMutator.Visit(mutableRethrowStatement); }