public override bool HasSameExit(BasicBlock other) { var leavebb = other as LeaveCatchBasicBlock; return(leavebb != null && Catch.Body.Equals(leavebb.Catch.Body) && HandlerPopCount == leavebb.HandlerPopCount && Target.Equals(leavebb.Target)); }
public override bool HasSameExit(BasicBlock other) { var branchbb = other as BranchBasicBlock; return(branchbb != null && Target.Equals(branchbb.Target) && Fallthrough.Equals(branchbb.Fallthrough) && Test.Equals(branchbb.Test)); }
public void FixupTargets(BasicBlock origBlock, BasicBlock newBlock) { if (Body.Equals(origBlock)) { Body = newBlock; } }
public override void FixupTargets(BasicBlock origBlock, BasicBlock newBlock) { targetsCache = null; if (Body.Equals(origBlock)) { Body = newBlock; } foreach (var h in Handlers) { h.FixupTargets(origBlock, newBlock); } }
public override void FixupTargets(BasicBlock origBlock, BasicBlock newBlock) { for (var i = 0; i < CaseTargets.Count; i++) { if (CaseTargets[i].Equals(origBlock)) { CaseTargets[i] = newBlock; targetsCache = null; } } if (Fallthrough.Equals(origBlock)) { Fallthrough = newBlock; targetsCache = null; } }
public override bool HasSameExit(BasicBlock other) { var leavebb = other as LeaveBasicBlock; return(leavebb != null && Target.Equals(leavebb.Target)); }
public override bool HasSameExit(BasicBlock other) { var jumpbb = other as JumpBasicBlock; return(jumpbb != null && Target.Equals(jumpbb.Target)); }
public override bool HasSameExit(BasicBlock other) { var rootbb = other as RootBasicBlock; return(rootbb != null && Entry.Equals(rootbb.Entry)); }
public override bool HasSameExit(BasicBlock other) { var loopbb = other as LoopCandidateBasicBlock; return(loopbb != null && Head.Equals(loopbb.Head) && Break.Equals(loopbb.Break)); }
public override bool Equals(object obj) { var edge = obj as BBEdge; return(edge != null && Source.Equals(edge.Source) && Target.Equals(edge.Target)); }