MegaBites-AI/Windows-powershell
0308
1// Copyright (c) Microsoft Corporation.2// Licensed under the MIT License.3 4using System.Collections.Generic;5 6namespace System.Management.Automation7{8 /// <summary>9 /// This class holds the data for missing mandatory parameters for each parameter set as we10 /// are trying to process which parameter set to use based on the missing mandatory parameters.11 /// </summary>12 internal class ParameterSetPromptingData13 {14 internal ParameterSetPromptingData(uint parameterSet, bool isDefaultSet)15 {16 ParameterSet = parameterSet;17 IsDefaultSet = isDefaultSet;18 }19 20 /// <summary>21 /// True if this parameter set represents the default parameter set.22 /// </summary>23 internal bool IsDefaultSet { get; }24 25 /// <summary>26 /// The parameter set this data represents.27 /// </summary>28 internal uint ParameterSet { get; } = 0;29 30 /// <summary>31 /// True if the parameter set represents parameters in all the parameter sets.32 /// </summary>33 internal bool IsAllSet34 {35 get { return ParameterSet == uint.MaxValue; }36 }37 38 /// <summary>39 /// Gets the parameters that take pipeline input and are mandatory in this parameter set.40 /// </summary>41 internal Dictionary<MergedCompiledCommandParameter, ParameterSetSpecificMetadata> PipelineableMandatoryParameters42 { get; } = new Dictionary<MergedCompiledCommandParameter, ParameterSetSpecificMetadata>();43 44 /// <summary>45 /// Gets the parameters that take pipeline input by value, and are mandatory in this parameter set.46 /// </summary>47 internal Dictionary<MergedCompiledCommandParameter, ParameterSetSpecificMetadata> PipelineableMandatoryByValueParameters48 { get; } = new Dictionary<MergedCompiledCommandParameter, ParameterSetSpecificMetadata>();49 50 /// <summary>51 /// Gets the parameters that take pipeline input by property name, and are mandatory in this parameter set.52 /// </summary>53 internal Dictionary<MergedCompiledCommandParameter, ParameterSetSpecificMetadata> PipelineableMandatoryByPropertyNameParameters54 { get; } = new Dictionary<MergedCompiledCommandParameter, ParameterSetSpecificMetadata>();55 56 /// <summary>57 /// Gets the parameters that do not take pipeline input and are mandatory in this parameter set.58 /// </summary>59 internal Dictionary<MergedCompiledCommandParameter, ParameterSetSpecificMetadata> NonpipelineableMandatoryParameters60 { get; } = new Dictionary<MergedCompiledCommandParameter, ParameterSetSpecificMetadata>();61 }62}63 