4 using System.Collections;
5 using System.Collections.Generic;
8 namespace SiliconStudio.Shaders.Ast.Hlsl
15 #region Constructors and Destructors
22 Identifiers =
new List<Identifier>();
27 #region Public Properties
35 public List<Identifier> Identifiers {
get; set; }
39 #region Public Methods
44 public abstract string Separator {
get; }
48 if (ReferenceEquals(null, other))
return false;
49 if (ReferenceEquals(
this, other))
return true;
51 return base.Equals(other) && (Identifiers.Count != other.
Identifiers.Count);
55 public override bool Equals(
object obj)
57 if (ReferenceEquals(null, obj))
return false;
58 if (ReferenceEquals(
this, obj))
return true;
67 return (base.GetHashCode() * 397) ^ Identifiers.GetHashCode();
80 var ranks =
new StringBuilder();
83 foreach (var expression
in Indices)
85 ranks.Append(
"[").Append(expression).Append(
"]");
89 return string.Format(IsSpecialReference ?
"<{0}{1}>" :
"{0}{1}", string.Join(Separator, Identifiers), ranks);
bool Equals(CompositeIdentifier other)
override bool Equals(object obj)
override IEnumerable< Node > Childrens()
Gets the child nodes. An enumeration of child nodes
override int GetHashCode()
CompositeIdentifier()
Initializes a new instance of the CompositeIdentifier class.
override string ToString()
List< Identifier > Identifiers
Gets or sets the path.