Пример #1
0
        public FunctionDescriptor(FunctionDescriptorParams funcDescParams)
        {
            summary      = funcDescParams.Summary;
            pathManager  = funcDescParams.PathManager;
            Assembly     = funcDescParams.Assembly;
            ClassName    = funcDescParams.ClassName;
            FunctionName = funcDescParams.FunctionName;

            Parameters = funcDescParams.Parameters.Select(
                x =>
            {
                x.UpdateFunctionDescriptor(this);
                return(x);
            }).ToList();

            var type            = funcDescParams.FunctionType;
            var inputParameters = new List <Tuple <string, string> >();

            //Add instance parameter as one of the inputs for instance method as well as properties.
            if (type == FunctionType.InstanceMethod || type == FunctionType.InstanceProperty)
            {
                inputParameters.Add(Tuple.Create(UnqualifedClassName.ToLower(), UnqualifedClassName));
            }

            if (Parameters.Any())
            {
                inputParameters.AddRange(Parameters.Select(
                                             par => Tuple.Create(par.Name, par.DisplayTypeName)));
            }

            InputParameters = inputParameters;

            //Not sure why returnType for constructors are var[]..[], use UnqualifiedClassName
            ReturnType = (type == FunctionType.Constructor) ?
                         UnqualifedClassName :
                         funcDescParams.ReturnType.ToShortString();

            Type                  = type;
            ReturnKeys            = funcDescParams.ReturnKeys;
            IsVarArg              = funcDescParams.IsVarArg;
            IsVisibleInLibrary    = funcDescParams.IsVisibleInLibrary;
            ObsoleteMessage       = funcDescParams.ObsoleteMsg;
            CanUpdatePeriodically = funcDescParams.CanUpdatePeriodically;
            IsBuiltIn             = funcDescParams.IsBuiltIn;
        }
Пример #2
0
        public FunctionDescriptor(FunctionDescriptorParams funcDescParams)
        {
            summary = funcDescParams.Summary;
            pathManager = funcDescParams.PathManager;
            Assembly = funcDescParams.Assembly;
            ClassName = funcDescParams.ClassName;
            FunctionName = funcDescParams.FunctionName;

            Parameters = funcDescParams.Parameters.Select(
                x =>
                {
                    x.UpdateFunctionDescriptor(this);
                    return x;
                }).ToList();

            var type = funcDescParams.FunctionType;
            var inputParameters = new List<Tuple<string, string>>();
            //Add instance parameter as one of the inputs for instance method as well as properties.
            if(type == FunctionType.InstanceMethod || type == FunctionType.InstanceProperty)
                inputParameters.Add(Tuple.Create(UnqualifedClassName.ToLower(), UnqualifedClassName));

            if (Parameters.Any())
            {
                inputParameters.AddRange(Parameters.Select(
                    par => Tuple.Create(par.Name, par.DisplayTypeName)));
            }

            InputParameters = inputParameters;
            
            //Not sure why returnType for constructors are var[]..[], use UnqualifiedClassName
            ReturnType = (type == FunctionType.Constructor) ?
                UnqualifedClassName :
                funcDescParams.ReturnType.ToShortString();

            Type = type;
            ReturnKeys = funcDescParams.ReturnKeys;
            IsVarArg = funcDescParams.IsVarArg;
            IsVisibleInLibrary = funcDescParams.IsVisibleInLibrary;
            ObsoleteMessage = funcDescParams.ObsoleteMsg;
            CanUpdatePeriodically = funcDescParams.CanUpdatePeriodically;
            IsBuiltIn = funcDescParams.IsBuiltIn;
        }