public bool CheckILSize (PositiveTestCase test, PositiveChecker checker, string file)
{
Assembly assembly = Assembly.LoadFile (file);
bool success = true;
Type[] types = assembly.GetTypes ();
foreach (Type t in types) {
// Skip interfaces
if (!t.IsClass && !t.IsValueType)
continue;
if (test.VerificationProvider == null) {
if (!checker.UpdateVerificationDataFile)
checker.LogFileLine (test.FileName, "Missing IL verification data");
test.CreateNewTest ();
}
foreach (MemberInfo m in t.GetMembers (BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance | BindingFlags.DeclaredOnly)) {
MethodBase mi = m as MethodBase;
if (mi == null)
continue;
if ((mi.Attributes & (MethodAttributes.PinvokeImpl)) != 0)
continue;
success &= CompareIL (mi, test, checker);
}
}
return success;
}