@Override public String toString() { if (getStorageClass() == StorageClass.REG) { return "[0x" + Integer.toHexString(num) + " " + (type == null ? "*" : type.toString()) + " () *]"; } StringBuilder b = new StringBuilder(256); b.append("["); b.append(name == null ? "*" : name); b.append(" "); b.append(stg_class == null ? "*" : stg_class.toXcodeString()); b.append(" "); b.append(type == null ? "*" : type.toString()); b.append(" "); b.append(value == null ? "()" : value.toString()); /* bit_field, bit_field_expr, enum_value are exclusively set */ b.append(" "); if (bit_field != 0 || bit_field_expr != null) { if (bit_field != 0) b.append(bit_field); else b.append(bit_field_expr.toString()); } else if (enum_value != null) { b.append(" "); b.append(enum_value.toString()); } else { b.append("*"); } b.append(declared ? " D" : ""); if (gcc_attrs != null) { b.append(" "); b.append(gcc_attrs.toString()); } b.append("]"); return b.toString(); }