public VMPathFinder PushNewPathFinder(VMStackFrame frame, List <VMFindLocationResult> locations) { var childFrame = new VMPathFinder { Routine = frame.Routine, Caller = frame.Caller, Callee = frame.Callee, CodeOwner = frame.CodeOwner, StackObject = frame.StackObject, Thread = this }; var success = childFrame.InitRoutes(locations); if (!success) { return(null); //no route, don't push } else { Stack.Add(childFrame); return(childFrame); } }
public VMPathFinder PushNewPathFinder(VMStackFrame frame, List<VMFindLocationResult> locations) { var childFrame = new VMPathFinder { Routine = frame.Routine, Caller = frame.Caller, Callee = frame.Callee, CodeOwner = frame.CodeOwner, StackObject = frame.StackObject, Thread = this }; var success = childFrame.InitRoutes(locations); if (!success) return null; //no route, don't push else { Stack.Add(childFrame); return childFrame; } }