41
41
FilteredMembersSource src = new FilteredMembersSource (ctx, objectSource, type, obj, bindingFlags);
43
return ObjectValue.CreateObject (src, new ObjectPath (label), "", "", ObjectValueFlags.Group|ObjectValueFlags.ReadOnly|ObjectValueFlags.NoRefresh, null);
43
ObjectValue val = ObjectValue.CreateObject (src, new ObjectPath (label), "", "", ObjectValueFlags.Group|ObjectValueFlags.ReadOnly|ObjectValueFlags.NoRefresh, null);
44
val.ChildSelector = "";
46
public ObjectValue[] GetChildren (ObjectPath path, int index, int count)
48
public ObjectValue[] GetChildren (ObjectPath path, int index, int count, EvaluationOptions options)
48
var names = new ObjectValueNameTracker (ctx);
50
EvaluationContext cctx = ctx.WithOptions (options);
51
var names = new ObjectValueNameTracker (cctx);
49
52
object tdataType = null;
50
53
TypeDisplayData tdata = null;
51
54
List<ObjectValue> list = new List<ObjectValue> ();
52
foreach (ValueReference val in ctx.Adapter.GetMembersSorted (ctx, objectSource, type, obj, bindingFlags)) {
55
foreach (ValueReference val in cctx.Adapter.GetMembersSorted (cctx, objectSource, type, obj, bindingFlags)) {
53
56
object decType = val.DeclaringType;
54
57
if (decType != null && decType != tdataType) {
55
58
tdataType = decType;
56
tdata = ctx.Adapter.GetTypeDisplayData (ctx, decType);
59
tdata = cctx.Adapter.GetTypeDisplayData (cctx, decType);
58
61
DebuggerBrowsableState state = tdata.GetMemberBrowsableState (val.Name);
59
62
if (state == DebuggerBrowsableState.Never)
61
ObjectValue oval = val.CreateObjectValue ();
64
ObjectValue oval = val.CreateObjectValue (options);
62
65
names.FixName (val, oval);
65
68
if ((bindingFlags & BindingFlags.NonPublic) == 0) {
66
69
BindingFlags newFlags = bindingFlags | BindingFlags.NonPublic;
67
70
newFlags &= ~BindingFlags.Public;
68
list.Add (CreateNonPublicsNode (ctx, objectSource, type, obj, newFlags));
71
list.Add (CreateNonPublicsNode (cctx, objectSource, type, obj, newFlags));
70
73
return list.ToArray ();
75
78
throw new NotSupportedException ();
78
public EvaluationResult SetValue (ObjectPath path, string value)
81
public EvaluationResult SetValue (ObjectPath path, string value, EvaluationOptions options)
80
83
throw new NotSupportedException ();
86
public object GetRawValue (ObjectPath path, EvaluationOptions options)
88
throw new System.NotImplementedException ();
91
public void SetRawValue (ObjectPath path, object value, EvaluationOptions options)
93
throw new System.NotImplementedException ();