private static Method BuildMethod(IEnumerable<File> files, IFilter filter, MethodDefinition methodDefinition, bool alreadySkippedDueToAttr, ICommandLine commandLine) { var method = new Method(); method.Name = methodDefinition.FullName; method.IsConstructor = methodDefinition.IsConstructor; method.IsStatic = methodDefinition.IsStatic; method.IsGetter = methodDefinition.IsGetter; method.IsSetter = methodDefinition.IsSetter; method.MetadataToken = methodDefinition.MetadataToken.ToInt32(); if (alreadySkippedDueToAttr || filter.ExcludeByAttribute(methodDefinition)) method.MarkAsSkipped(SkippedMethod.Attribute); else if (filter.ExcludeByFile(GetFirstFile(methodDefinition))) method.MarkAsSkipped(SkippedMethod.File); else if (commandLine.SkipAutoImplementedProperties && filter.IsAutoImplementedProperty(methodDefinition)) method.MarkAsSkipped(SkippedMethod.AutoImplementedProperty); var definition = methodDefinition; method.FileRef = files.Where(x => x.FullPath == GetFirstFile(definition)) .Select(x => new FileRef() {UniqueId = x.UniqueId}).FirstOrDefault(); return method; }
private Method BuildMethod(IEnumerable<Model.File> files, MethodDefinition methodDefinition) { var method = new Method { Name = methodDefinition.FullName, IsConstructor = methodDefinition.IsConstructor, IsStatic = methodDefinition.IsStatic, IsGetter = methodDefinition.IsGetter, IsSetter = methodDefinition.IsSetter, MetadataToken = methodDefinition.MetadataToken.ToInt32() }; if (methodDefinition.SafeGetMethodBody() == null) { if (methodDefinition.IsNative) method.MarkAsSkipped(SkippedMethod.NativeCode); else method.MarkAsSkipped(SkippedMethod.Unknown); return method; } if (_filter.ExcludeByAttribute(methodDefinition)) method.MarkAsSkipped(SkippedMethod.Attribute); var definition = methodDefinition; method.FileRef = files.Where(x => x.FullPath == ModulePath + "::" + methodDefinition.Module.Name) .Select(x => new FileRef { UniqueId = x.UniqueId }).FirstOrDefault(); return method; }