private static void ExtractNativeMethodsFromTypes(ICollection<TypeDefinition> types, ArrayList res)
{
foreach (TypeDefinition definition in types)
{
foreach (MethodDefinition definition2 in definition.Methods)
{
if ((definition2.IsStatic && definition2.IsPInvokeImpl) && definition2.PInvokeInfo.Module.Name.Equals("__Internal"))
{
if (res.Contains(definition2.Name))
{
throw new SystemException("Duplicate native method found : " + definition2.Name + ". Please check your source carefully.");
}
res.Add(definition2.Name);
}
}
if (definition.HasNestedTypes)
{
ExtractNativeMethodsFromTypes(definition.NestedTypes, res);
}
}
}