<Type Name="ModuleRocks" FullName="Gendarme.Framework.Rocks.ModuleRocks">
  <TypeSignature Language="C#" Value="public static class ModuleRocks" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed ModuleRocks extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>Gendarme.Framework</AssemblyName>
    <AssemblyVersion>2.11.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
            ModuleRocks contains extensions methods for ModuleDefinition
            and the related collection classes.
            </summary>
    <remarks>To be added.</remarks>
  </Docs>
  <Members>
    <Member MemberName="AnyMemberReference">
      <MemberSignature Language="C#" Value="public static bool AnyMemberReference (this Mono.Cecil.ModuleDefinition self, Func&lt;Mono.Cecil.MemberReference,bool&gt; predicate);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnyMemberReference(class Mono.Cecil.ModuleDefinition self, class System.Func`2&lt;class Mono.Cecil.MemberReference, bool&gt; predicate) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.11.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="self" Type="Mono.Cecil.ModuleDefinition" RefType="this" />
        <Parameter Name="predicate" Type="System.Func&lt;Mono.Cecil.MemberReference,System.Boolean&gt;" />
      </Parameters>
      <Docs>
        <param name="self">The ModuleDefinition on which the extension method can be called.</param>
        <param name="predicate">The condition to execute on a provided MemberReference</param>
        <summary>
            Check if any MemberReference, referenced by the current ModuleDefinition, satisfies the
            specified predicate.
            </summary>
        <returns>True if 'predicate' returns true for any MemberReference in the module's referenced types.</returns>
        <remarks>Cecil's GetMemberReferences method will allocate a new array each time it is called.
            This extension method will cache the IEnumerable, on the first use, to reduce memory consumption.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AnyTypeReference">
      <MemberSignature Language="C#" Value="public static bool AnyTypeReference (this Mono.Cecil.ModuleDefinition self, Func&lt;Mono.Cecil.TypeReference,bool&gt; predicate);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnyTypeReference(class Mono.Cecil.ModuleDefinition self, class System.Func`2&lt;class Mono.Cecil.TypeReference, bool&gt; predicate) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.11.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="self" Type="Mono.Cecil.ModuleDefinition" RefType="this" />
        <Parameter Name="predicate" Type="System.Func&lt;Mono.Cecil.TypeReference,System.Boolean&gt;" />
      </Parameters>
      <Docs>
        <param name="self">The ModuleDefinition on which the extension method can be called.</param>
        <param name="predicate">The condition to execute on a provided TypeReference</param>
        <summary>
            Check if any TypeReference, referenced by the current ModuleDefinition, satisfies the
            specified predicate.
            </summary>
        <returns>True if 'predicate' returns true for any TypeReference in the module's referenced types.</returns>
        <remarks>Cecil's GetTypeReferences method will allocate a new array each time it is called.
            This extension method will cache the IEnumerable, on the first use, to reduce memory consumption.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetAllTypes">
      <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable&lt;Mono.Cecil.TypeDefinition&gt; GetAllTypes (this Mono.Cecil.ModuleDefinition self);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1&lt;class Mono.Cecil.TypeDefinition&gt; GetAllTypes(class Mono.Cecil.ModuleDefinition self) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.11.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.Generic.IEnumerable&lt;Mono.Cecil.TypeDefinition&gt;</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="self" Type="Mono.Cecil.ModuleDefinition" RefType="this" />
      </Parameters>
      <Docs>
        <param name="self">The ModuleDefinition on which the extension method can be called.</param>
        <summary>
            Return an IEnumerable that allows a single loop (like a foreach) to
            traverse all types that are defined in a module.
            </summary>
        <returns>An IEnumerable to traverse every types of the module</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="LoadDebuggingSymbols">
      <MemberSignature Language="C#" Value="public static void LoadDebuggingSymbols (this Mono.Cecil.ModuleDefinition self);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void LoadDebuggingSymbols(class Mono.Cecil.ModuleDefinition self) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.11.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="self" Type="Mono.Cecil.ModuleDefinition" RefType="this" />
      </Parameters>
      <Docs>
        <param name="self" />
        <summary>
            Load, if available, the debugging symbols associated with the module. This first
            try to load a MDB file (symbols from the Mono:: runtime) and then, if not present
            and running on MS.NET, try to load a PDB file (symbols from MS runtime).
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
