private FieldData AssembleField(FieldInfo field) { return(new FieldData() { Type = TypeNaming.GetFullTypeName(field.FieldType) }); }
private EventData AssembleEvent(EventInfo e) { return(new EventData() { HandlerType = TypeNaming.GetFullTypeName(e.EventHandlerType), IsMulticast = e.IsMulticast }); }
private PropertyData AssembleProperty(PropertyInfo property) { return(new PropertyData() { Accessors = GetAccessors(property), Type = TypeNaming.GetFullTypeName(property.PropertyType) }); }
private string[] AssembleConstructor(ConstructorInfo ctor) { var parameters = new List <string>(); foreach (ParameterInfo param in ctor.GetParameters()) { parameters.Add(TypeNaming.GetFullTypeName(param.ParameterType)); } return(parameters.ToArray()); }
private IndexerData AssembleIndexer(PropertyInfo indexer) { var paramTypes = new List <string>(); foreach (ParameterInfo param in indexer.GetIndexParameters()) { paramTypes.Add(TypeNaming.GetFullTypeName(param.ParameterType)); } return(new IndexerData() { Accessors = GetAccessors(indexer), ItemType = TypeNaming.GetFullTypeName(indexer.PropertyType), Parameters = paramTypes.ToArray() }); }
private string[] GetOutputType(IReadOnlyList <PSTypeName> outputType) { if (outputType == null || outputType.Count <= 0) { return(null); } var outputTypeData = new string[outputType.Count]; for (int i = 0; i < outputTypeData.Length; i++) { outputTypeData[i] = outputType[i].Type != null ? TypeNaming.GetFullTypeName(outputType[i].Type) : outputType[i].Name; } return(outputTypeData); }
private MethodData AssembleMethod(List <MethodInfo> methodOverloads) { var overloads = new List <string[]>(); foreach (MethodInfo overload in methodOverloads) { var parameters = new List <string>(); foreach (ParameterInfo param in overload.GetParameters()) { parameters.Add(TypeNaming.GetFullTypeName(param.ParameterType)); } overloads.Add(parameters.ToArray()); } return(new MethodData() { ReturnType = TypeNaming.GetFullTypeName(methodOverloads[0].ReturnType), OverloadParameters = overloads.ToArray() }); }
/// <summary> /// Get a data object describing the parameter given by the given metadata object. /// </summary> /// <param name="parameter">The metadata of the parameter to describe.</param> /// <returns>A data object describing the given parameter.</returns> public ParameterData GetSingleParameterData(ParameterMetadata parameter) { var parameterData = new ParameterData() { Dynamic = parameter.IsDynamic }; if (parameter.ParameterType != null) { parameterData.Type = TypeNaming.GetFullTypeName(parameter.ParameterType); } if (parameter.ParameterSets != null && parameter.ParameterSets.Count > 0) { parameterData.ParameterSets = new JsonCaseInsensitiveStringDictionary <ParameterSetData>(); foreach (KeyValuePair <string, ParameterSetMetadata> parameterSet in parameter.ParameterSets) { parameterData.ParameterSets[parameterSet.Key] = GetSingleParameterSetData(parameterSet.Value); } } return(parameterData); }