Example #1
0
        void Search(DnSpyFile ownerModule, TypeDef type, MethodDef method)
        {
            var res = filter.GetFilterResult(method);

            if (res.FilterResult == FilterResult.Hidden)
            {
                return;
            }

            ImplMap im;

            if (res.IsMatch && (IsMatch(method.Name, method) || ((im = method.ImplMap) != null && (IsMatch(im.Name, im) || IsMatch(im.Module == null ? null : im.Module.Name, null)))))
            {
                onMatch(new SearchResult {
                    Language          = language,
                    Object            = method,
                    NameObject        = method,
                    TypeImageInfo     = MethodTreeNode.GetImageInfo(method, BackgroundType.Search),
                    LocationObject    = type,
                    LocationImageInfo = TypeTreeNode.GetImageInfo(type, BackgroundType.Search),
                    DnSpyFile         = ownerModule,
                });
                return;
            }

            res = filter.GetFilterResultParamDefs(method);
            if (res.FilterResult != FilterResult.Hidden)
            {
                foreach (var pd in method.ParamDefs)
                {
                    res = filter.GetFilterResult(method, pd);
                    if (res.FilterResult == FilterResult.Hidden)
                    {
                        continue;
                    }
                    if (res.IsMatch && IsMatch(pd.Name, pd))
                    {
                        onMatch(new SearchResult {
                            Language          = language,
                            Object            = method,
                            NameObject        = method,
                            TypeImageInfo     = MethodTreeNode.GetImageInfo(method, BackgroundType.Search),
                            LocationObject    = type,
                            LocationImageInfo = TypeTreeNode.GetImageInfo(type, BackgroundType.Search),
                            DnSpyFile         = ownerModule,
                        });
                        return;
                    }
                }
            }

            SearchBody(ownerModule, type, method);
        }
Example #2
0
        void Search(LoadedAssembly ownerModule, TypeDef type, MethodDef method)
        {
            var res = filter.GetFilterResult(method);

            if (res.FilterResult == FilterResult.Hidden)
            {
                return;
            }

            if (res.IsMatch && IsMatch(method.Name, method))
            {
                onMatch(new SearchResult {
                    Language          = language,
                    Object            = method,
                    NameObject        = method,
                    TypeImageInfo     = MethodTreeNode.GetImageInfo(method, BackgroundType.Search),
                    LocationObject    = type,
                    LocationImageInfo = TypeTreeNode.GetImageInfo(type, BackgroundType.Search),
                    LoadedAssembly    = ownerModule,
                });
                return;
            }

            res = filter.GetFilterResultParamDefs(method);
            if (res.FilterResult != FilterResult.Hidden)
            {
                foreach (var pd in method.ParamDefs)
                {
                    res = filter.GetFilterResult(method, pd);
                    if (res.FilterResult == FilterResult.Hidden)
                    {
                        continue;
                    }
                    if (res.IsMatch && IsMatch(pd.Name, pd))
                    {
                        onMatch(new SearchResult {
                            Language          = language,
                            Object            = method,
                            NameObject        = method,
                            TypeImageInfo     = MethodTreeNode.GetImageInfo(method, BackgroundType.Search),
                            LocationObject    = type,
                            LocationImageInfo = TypeTreeNode.GetImageInfo(type, BackgroundType.Search),
                            LoadedAssembly    = ownerModule,
                        });
                        return;
                    }
                }
            }

            SearchBody(ownerModule, type, method);
        }
Example #3
0
 public virtual TreeViewNodeFilterResult GetFilterResultParamDefs(MethodDef method)
 {
     return(filter.GetFilterResultParamDefs(method));
 }