public static TypeReference GetImplementationFunctorType(AssemblyEmitter assembly, TypeEmitter declaringType, MethodReference targetMethod)
 {
     return(GetImplementationFunctorType(assembly, declaringType.Get(assembly), targetMethod));
 }
 public static MethodReference GetMethod(AssemblyEmitter assembly, TypeEmitter type, string methodName, bool searchBaseType = true)
 {
     return(GetMethods(assembly, type.Get(assembly), methodName, searchBaseType).Single());
 }
        public static TypeReference GetFunctorType(AssemblyEmitter assembly, MethodReference containedMethod)
        {
            var parameters = containedMethod.GetParameterTypes();

            return(GetFunctorType(assembly, containedMethod.GetReturnType(), parameters));
        }