private bool FindItem(ExprNodePropOrStreamDesc item) { if (item is ExprNodePropOrStreamPropDesc) { return(_properties != null && _properties.Contains(item)); } if (_expressions == null) { return(false); } var exprItem = (ExprNodePropOrStreamExprDesc)item; foreach (ExprNodePropOrStreamExprDesc expression in _expressions) { if (expression.StreamNum != exprItem.StreamNum) { continue; } if (ExprNodeUtility.DeepEquals(expression.Originator, exprItem.Originator)) { return(true); } } return(false); }
public void Add(ExprNodePropOrStreamDesc desc) { if (desc is ExprNodePropOrStreamPropDesc) { AllocateProperties(); _properties.Add((ExprNodePropOrStreamPropDesc) desc); } else if (desc is ExprNodePropOrStreamExprDesc) { AllocateExpressions(); _expressions.Add((ExprNodePropOrStreamExprDesc) desc); } }