using System; using AspClassic.Scripting.Utils; namespace AspClassic.Scripting.Hosting; [Serializable] public class ParameterDoc { private readonly string _name; private readonly string _typeName; private readonly string _doc; private readonly ParameterFlags _flags; public string Name => _name; public string TypeName => _typeName; public ParameterFlags Flags => _flags; public string Documentation => _doc; public ParameterDoc(string name) : this(name, null, null, ParameterFlags.None) { } public ParameterDoc(string name, ParameterFlags paramFlags) : this(name, null, null, paramFlags) { } public ParameterDoc(string name, string typeName) : this(name, typeName, null, ParameterFlags.None) { } public ParameterDoc(string name, string typeName, string documentation) : this(name, typeName, documentation, ParameterFlags.None) { } public ParameterDoc(string name, string typeName, string documentation, ParameterFlags paramFlags) { ContractUtils.RequiresNotNull(name, "name"); _name = name; _flags = paramFlags; _typeName = typeName; _doc = documentation; } }