public bool Equals(ITypeDescriptor other, HashSet <ITypeDescriptor> stack) { var o = other as DictionaryTypeDescriptor; if (o == null) { return(false); } return(_keyDescriptor.Equals(o._keyDescriptor, stack) && _valueDescriptor.Equals(o._valueDescriptor, stack)); }
public bool Equals(ITypeDescriptor other, HashSet <ITypeDescriptor> stack) { var o = other as ListTypeDescriptor; if (o == null) { return(false); } return(_itemDescriptor.Equals(o._itemDescriptor, stack)); }
public ITypeDescriptor MergeDescriptor(ITypeDescriptor descriptor) { foreach (var existingTypeDescriptor in _descriptorSet) { if (descriptor.Equals(existingTypeDescriptor.Key)) { return(existingTypeDescriptor.Key); } } _descriptorSet.GetOrAdd(descriptor, true); return(descriptor); }
public ITypeDescriptor MergeDescriptor(ITypeDescriptor descriptor) { foreach (var existingTypeDescriptor in _descriptorSet) { if (descriptor.Equals(existingTypeDescriptor.Key)) { return existingTypeDescriptor.Key; } } _descriptorSet.GetOrAdd(descriptor, true); return descriptor; }
public ITypeDescriptor MergeDescriptor(ITypeDescriptor descriptor) { foreach (var existingTypeDescriptor in _type2DescriptorMap) { if (descriptor.Equals(existingTypeDescriptor.Value)) { return existingTypeDescriptor.Value; } } return descriptor; }