private IEnumerable<BplProxy> _retrieveProxyChain(BplDebuggerVisualizer debugger) { var root = debugger.RootProxy; var list = new List<BplProxy>(); if (_path.Length > 0 && Object.Equals(_path[0], root.PropertyPath._path[0])) { var current = root; list.Add(current); for (var i = 1; i < _path.Length; i++) { current.LoadOnDemand(debugger); current = current.GetChildByKey(_path[i]); list.Add(current); } } return list; }
/// <summary/> public override void LoadOnDemand(BplDebuggerVisualizer debugger) { if (!IsEmpty && !IsLoaded) { Load(BplChildProxiesQuery.Invoke(debugger,this).Result); } }
public BplVisualizerForm(BplDebuggerVisualizer debugger) { Debugger = debugger; InitializeComponent(); Load += _onLoad; }
/// <summary>Invokes the query on the debugger side and returns a copy of the original query with the results filled in.</summary> public static BplPrecedentsQuery Invoke(BplDebuggerVisualizer debugger, BplProxy proxy) { var query = new BplPrecedentsQuery { Proxy = proxy }; return query.Invoke<BplPrecedentsQuery>(debugger); }
/// <summary>Invokes the query on the debugger side and returns a copy of the original query with the results filled in.</summary> public static BplSourcePathQuery Invoke(BplDebuggerVisualizer debugger) { var query = new BplSourcePathQuery(); return query.Invoke<BplSourcePathQuery>(debugger); }
/// <summary>Invokes the query on the debugger side and returns a copy of the original query with the results filled in.</summary> public static BplRootProxyQuery Invoke(BplDebuggerVisualizer debugger) { var query = new BplRootProxyQuery(); return query.Invoke<BplRootProxyQuery>(debugger); }
/// <summary>Invokes the query on the debugger side and returns a copy of the original query with the results filled in.</summary> public static BplChildProxiesQuery Invoke(BplDebuggerVisualizer debugger, BplObjectProxy proxy) { var query = new BplChildProxiesQuery { Proxy = proxy }; return query.Invoke<BplChildProxiesQuery>(debugger); }
/// <summary>Retrieves the proxy object represented by this property path.</summary> /// <param name="debugger">The BPL debugger.</param> /// <returns>The requested proxy object.</returns> public BplProxy RetrieveProxy(BplDebuggerVisualizer debugger) { var chain = _retrieveProxyChain(debugger); return chain.LastOrDefault(); }
/// <summary>Loads the proxy children on demand.</summary> public virtual void LoadOnDemand(BplDebuggerVisualizer debugger) { }