Babel.Compiler.TypeElementCreatingVisitor.AddAdapterMethod C# (CSharp) Method

AddAdapterMethod() protected method

protected AddAdapterMethod ( SupertypingAdapter adapter, MethodInfo method, MethodInfo adapteeMethod ) : void
adapter SupertypingAdapter
method System.Reflection.MethodInfo
adapteeMethod System.Reflection.MethodInfo
return void
        protected virtual void AddAdapterMethod(SupertypingAdapter adapter,
                                                MethodInfo method,
                                                MethodInfo adapteeMethod)
        {
            ParameterInfo[] parameters =
                typeManager.GetParameters(method);
            Type[] paramTypes = new Type[parameters.Length];
            for (int i = 0; i < parameters.Length; i++) {
                paramTypes[i] = parameters[i].ParameterType;
            }
            MethodBuilder mb =
                adapter.TypeBuilder.
                DefineMethod(method.DeclaringType.FullName + "." +
                             method.Name,
                             MethodAttributes.Private |
                             MethodAttributes.Virtual |
                             MethodAttributes.HideBySig,
                             method.ReturnType,
                             paramTypes);
            SupertypingAdapterMethod adapterMethod =
                new SupertypingAdapterMethod(mb, adapteeMethod,
                                             parameters.Length);
            adapter.Methods.Add(adapterMethod);
            adapter.TypeBuilder.DefineMethodOverride(mb, method);
        }