Esempio n. 1
0
        public override ICollection <OverloadDoc> GetOverloads(object value)
        {
            if (value is BuiltinFunction bf)
            {
                return(GetBuiltinFunctionOverloads(bf));
            }

            if (value is BuiltinMethodDescriptor bmd)
            {
                return(GetBuiltinFunctionOverloads(bmd.Template));
            }

            if (value is PythonFunction pf)
            {
                return(new[] {
                    new OverloadDoc(
                        pf.__name__,
                        pf.__doc__ as string,
                        GetParameterDocs(pf)
                        )
                });
            }

            if (value is Method method)
            {
                return(GetOverloads(method.__func__));
            }

            if (value is Delegate dlg)
            {
                return(new[] { DocBuilder.GetOverloadDoc(dlg.GetType().GetMethod("Invoke"), dlg.GetType().Name, 0, false) });
            }

            return(new OverloadDoc[0]);
        }
Esempio n. 2
0
        public override ICollection <OverloadDoc> GetOverloads(object value)
        {
            BuiltinFunction bf = value as BuiltinFunction;

            if (bf != null)
            {
                return(GetBuiltinFunctionOverloads(bf));
            }

            BuiltinMethodDescriptor bmd = value as BuiltinMethodDescriptor;

            if (bmd != null)
            {
                return(GetBuiltinFunctionOverloads(bmd.Template));
            }

            PythonFunction pf = value as PythonFunction;

            if (pf != null)
            {
                return(new[] {
                    new OverloadDoc(
                        pf.__name__,
                        pf.__doc__ as string,
                        GetParameterDocs(pf)
                        )
                });
            }

            Method method = value as Method;

            if (method != null)
            {
                return(GetOverloads(method.__func__));
            }

            Delegate dlg = value as Delegate;

            if (dlg != null)
            {
                return(new[] { DocBuilder.GetOverloadDoc(dlg.GetType().GetMethod("Invoke"), dlg.GetType().Name, 0, false) });
            }

            return(new OverloadDoc[0]);
        }
Esempio n. 3
0
 private static OverloadDoc GetOverloadDoc(string name, MethodBase method)
 {
     return(DocBuilder.GetOverloadDoc(method, name, 0));
 }