void Write(CiType type) { StringBuilder sb = new StringBuilder(); bool haveConst = false; while (type is CiArrayType) { sb.Insert(0, "[]"); if (!haveConst) { CiArrayPtrType ptr = type as CiArrayPtrType; if (ptr != null && ptr.Writability != PtrWritability.ReadWrite) { sb.Insert(0, ")"); haveConst = true; } } type = ((CiArrayType)type).ElementType; } if (haveConst) { Write("const("); } WriteBaseType(type.BaseType); Write(sb.ToString()); }
public override bool Equals(CiType obj) { CiArrayPtrType that = obj as CiArrayPtrType; return(that != null && this.ElementType.Equals(that.ElementType)); }