Example #1
0
    void ProcessAssembly()
    {
        if (ModuleDefinition.Assembly.ContainsTimeAttribute() ||
            ModuleDefinition.ContainsTimeAttribute())
        {
            foreach (var type in types)
            {
                if (type.IsInterceptor())
                {
                    continue;
                }

                if (type.IsCompilerGenerated())
                {
                    continue;
                }

                foreach (var method in type.ConcreteMethods())
                {
                    ProcessMethod(method);
                }
            }

            return;
        }

        foreach (var type in types)
        {
            if (type.IsInterceptor())
            {
                continue;
            }

            if (type.IsCompilerGenerated())
            {
                continue;
            }

            if (type.ContainsTimeAttribute())
            {
                foreach (var method in type.ConcreteMethods())
                {
                    ProcessMethod(method);
                }

                continue;
            }

            foreach (var method in type.ConcreteMethods().Where(x => x.ContainsTimeAttribute()))
            {
                ProcessMethod(method);
            }
        }
    }