Class MemberChangesCollector<T>
  
  
  
    Inheritance
    
    MemberChangesCollector<T>
   
      
      
      
      
  
  
  Assembly: Unity.APIComparison.Framework.dll
  Syntax
  
    public abstract class MemberChangesCollector<T> where T : class, IMemberDefinition
   
  Type Parameters
  
  Constructors
  
  MemberChangesCollector(Dictionary<string, IEntityChange>)
  
  
  Declaration
  
    protected MemberChangesCollector(Dictionary<string, IEntityChange> changes)
   
  Parameters
  
  Fields
  m_changes
  
  
  Declaration
  
    protected Dictionary<string, IEntityChange> m_changes
   
  Field Value
  
  Methods
  
  AccessibilityChangeKind(MethodDefinition, MethodDefinition, MethodDefinition, MethodDefinition)
  
  
  Declaration
  
    protected MemberAccessibilityChangeKind AccessibilityChangeKind(MethodDefinition m1, MethodDefinition originalM1, MethodDefinition m2, MethodDefinition originalM2)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | MethodDefinition | m1 |  | 
      
        | MethodDefinition | originalM1 |  | 
      
        | MethodDefinition | m2 |  | 
      
        | MethodDefinition | originalM2 |  | 
    
  
  Returns
  
  
  AccessibilityChangeKind(ushort, ushort, ushort)
  
  
  Declaration
  
    protected MemberAccessibilityChangeKind AccessibilityChangeKind(ushort currentAttributes, ushort originalAttributes, ushort accessMask)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | ushort | currentAttributes |  | 
      
        | ushort | originalAttributes |  | 
      
        | ushort | accessMask |  | 
    
  
  Returns
  
  
  AccessibilityChangeKind(T, T)
  
  
  Declaration
  
    protected abstract MemberAccessibilityChangeKind AccessibilityChangeKind(T current, T original)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | current |  | 
      
        | T | original |  | 
    
  
  Returns
  
  
  AddChange(TypeDefinition, IAPIChange)
  
  
  Declaration
  
    protected void AddChange(TypeDefinition type, IAPIChange change)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | TypeDefinition | type |  | 
      
        | IAPIChange | change |  | 
    
  
  
  CheckElementTypeChanges(T, T)
  
  
  Declaration
  
    protected bool CheckElementTypeChanges(T member, T found)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | member |  | 
      
        | T | found |  | 
    
  
  Returns
  
  
  CheckForNewMembers(TypeDefinition, TypeDefinition)
  
  
  Declaration
  
    protected virtual void CheckForNewMembers(TypeDefinition originalType, TypeDefinition currentType)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | TypeDefinition | originalType |  | 
      
        | TypeDefinition | currentType |  | 
    
  
  
  ElementTypeOf(T)
  
  
  Declaration
  
    protected abstract TypeReference ElementTypeOf(T member)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | member |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | TypeReference |  | 
    
  
  
  FilterCompilerGeneratedAndNonPublicMembers(IEnumerable<T>)
  
  
  Declaration
  
    protected IEnumerable<T> FilterCompilerGeneratedAndNonPublicMembers(IEnumerable<T> source)
   
  Parameters
  
  Returns
  
  
  FindMember(TypeDefinition, T, out MemberKind)
  
  
  Declaration
  
    public abstract T FindMember(TypeDefinition typeDefinition, T member, out MemberKind missingMemberKind)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | TypeDefinition | typeDefinition |  | 
      
        | T | member |  | 
      
        | MemberKind | missingMemberKind |  | 
    
  
  Returns
  
  
  FindOverridenMember(T, TypeDefinition)
  
  
  Declaration
  
    protected virtual T FindOverridenMember(T added, TypeDefinition originalType)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | added |  | 
      
        | TypeDefinition | originalType |  | 
    
  
  Returns
  
  
  GetComparer()
  
  
  Declaration
  
    protected abstract IEqualityComparer<T> GetComparer()
   
  Returns
  
  
  GetDataForHash(T, T)
  
  
  Declaration
  
    protected virtual string GetDataForHash(T originalMember, T newMember)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | originalMember |  | 
      
        | T | newMember |  | 
    
  
  Returns
  
  
  IsPotentialBreakingChange(T)
  
  
  Declaration
  
    public virtual bool IsPotentialBreakingChange(T member)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | member |  | 
    
  
  Returns
  
  
  IsPublicAPI(T)
  
  
  Declaration
  
    public abstract bool IsPublicAPI(T member)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | member |  | 
    
  
  Returns
  
  
  IsSideEffectOfOtherChanges(IDictionary<string, IEntityChange>, IMemberDefinition, TypeDefinition)
  
  
  Declaration
  
    protected bool IsSideEffectOfOtherChanges(IDictionary<string, IEntityChange> entityChanges, IMemberDefinition added, TypeDefinition originalType)
   
  Parameters
  
  Returns
  
  
  IsStatic(T)
  
  
  Declaration
  
    protected abstract bool IsStatic(T member)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | member |  | 
    
  
  Returns
  
  
  MembersFor(TypeDefinition)
  
  
  Declaration
  
    public abstract IEnumerable<T> MembersFor(TypeDefinition type)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | TypeDefinition | type |  | 
    
  
  Returns
  
  
  ProcessMembers(TypeDefinition, TypeDefinition)
  
  
  Declaration
  
    public void ProcessMembers(TypeDefinition originalType, TypeDefinition currentType)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | TypeDefinition | originalType |  | 
      
        | TypeDefinition | currentType |  | 
    
  
  
  PseudoAttributesFrom(T)
  
  
  Declaration
  
    protected virtual CustomAttribute[] PseudoAttributesFrom(T item)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | item |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | CustomAttribute[] |  | 
    
  
  
  TypeMemberSpecificChecks(T, T)
  
  
  Declaration
  
    protected virtual bool TypeMemberSpecificChecks(T originalMember, T newMember)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | T | originalMember |  | 
      
        | T | newMember |  | 
    
  
  Returns