public bool isUnsigned() { if (this.IsAggregateType()) { AggregateType sym = this.AsAggregateType(); if (sym.isEnumType()) { sym = sym.underlyingEnumType(); } if (sym.isPredefined()) { PredefinedType pt = sym.getPredefType(); return(pt == PredefinedType.PT_UINTPTR || pt == PredefinedType.PT_BYTE || (pt >= PredefinedType.PT_USHORT && pt <= PredefinedType.PT_ULONG)); } else { return(false); } } else { return(this.IsPointerType()); } }