Inheritance: CiArrayType, ICiPtrType
Beispiel #1
0
        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());
        }
Beispiel #2
0
        public override bool Equals(CiType obj)
        {
            CiArrayPtrType that = obj as CiArrayPtrType;

            return(that != null && this.ElementType.Equals(that.ElementType));
        }