/// <summary> /// Initializes a new instance of the <see cref="FunctionDescriptor"/> class. /// </summary> /// <param name="funcDescParams">Function descriptor parameters.</param> public FunctionDescriptor(FunctionDescriptorParams funcDescParams) { if (!String.IsNullOrEmpty(funcDescParams.Summary)) { 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; ReturnType = funcDescParams.ReturnType; Type = type; ReturnKeys = funcDescParams.ReturnKeys; IsVarArg = funcDescParams.IsVarArg; IsVisibleInLibrary = funcDescParams.IsVisibleInLibrary; ObsoleteMessage = funcDescParams.ObsoleteMsg; CanUpdatePeriodically = funcDescParams.CanUpdatePeriodically; IsBuiltIn = funcDescParams.IsBuiltIn; IsPackageMember = funcDescParams.IsPackageMember; IsLacingDisabled = funcDescParams.IsLacingDisabled; }
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; }