/// <summary> /// Creates a qualified name from an unqualified name. /// </summary> /// <param name="name">An unqualified name to qualify.</param> public QualifiedName(UnqualifiedName name) : this(new UnqualifiedName[] { name }) { }
/// <summary> /// Qualifies this name with an additional qualifier. /// A new instance is returned that represents the /// concatenation of said qualifier and this /// qualified name. /// </summary> public QualifiedName Qualify(UnqualifiedName preQualifier) { return(new QualifiedName(preQualifier, this)); }
/// <summary> /// Creates a qualified name by prepending a qualifier to another /// qualified name. /// </summary> /// <param name="qualifier">A qualifier to prepend to a name.</param> /// <param name="name">A qualified name to prepend the qualifier to.</param> public QualifiedName(UnqualifiedName qualifier, QualifiedName name) : this(name.PrependQualifier(qualifier)) { }
/// <inheritdoc/> public override bool Equals(UnqualifiedName other) { return(other is SimpleName && Equals((SimpleName)other)); }
/// <inheritdoc/> public override bool Equals(UnqualifiedName Other) { return(Other is PointerName && Equals((PointerName)Other)); }
/// <inheritdoc/> public override bool Equals(UnqualifiedName other) { return(other is GenericName && Equals((GenericName)other)); }
/// <summary> /// Creates a new generic name from the given declaration name and /// a number of type arguments names. /// </summary> public GenericName( UnqualifiedName declarationName, IReadOnlyList <QualifiedName> typeArgumentNames) : this(new QualifiedName(declarationName), typeArgumentNames) { }
/// <summary> /// Creates a parameter from a type and a name. /// </summary> /// <param name="type">The parameter's type.</param> /// <param name="name">The parameter's name.</param> public Parameter(IType type, UnqualifiedName name) : this(type, name, AttributeMap.Empty) { }