private static bool DebuggableNode(System.Activities.Debugger.XamlNode node) { System.Type c = null; switch (node.NodeType) { case XamlNodeType.StartObject: { XamlStartRecordNode node2 = node as XamlStartRecordNode; if ((node2 != null) && (node2.RecordType != null)) { c = node2.RecordType.UnderlyingType; } break; } case XamlNodeType.EndObject: { XamlEndRecordNode node3 = node as XamlEndRecordNode; if ((node3 != null) && (node3.RecordType != null)) { c = node3.RecordType.UnderlyingType; } break; } case XamlNodeType.StartMember: { XamlStartMemberNode node4 = node as XamlStartMemberNode; if ((node4 != null) && (node4.RecordType != null)) { c = node4.RecordType.UnderlyingType; } break; } case XamlNodeType.EndMember: { XamlEndMemberNode node5 = node as XamlEndMemberNode; if ((node5 != null) && (node5.RecordType != null)) { c = node5.RecordType.UnderlyingType; } break; } } bool flag = false; if (((c != null) && typeof(Activity).IsAssignableFrom(c)) && (!typeof(IExpressionContainer).IsAssignableFrom(c) && !typeof(IValueSerializableExpression).IsAssignableFrom(c))) { flag = true; } return(flag); }
private void PushToLineInfoStateStack(XamlMember member, int value) { XamlEndMemberNode item = new XamlEndMemberNode { Member = member }; this.lineInfoStateStack.Push(item); XamlAtomNode node2 = new XamlAtomNode { Value = value }; this.lineInfoStateStack.Push(node2); XamlStartMemberNode node3 = new XamlStartMemberNode { Member = member }; this.lineInfoStateStack.Push(node3); }