- else if(type.type == bitClass)
- {
- value.ui64 = *(uint64 *)((byte *)object);
-#if 0
- uint64 bits = 0;
- uint64 part = 0;
- BitMember bitMember = (BitMember)member;
- /*if(!bitMember.dataType)
- bitMember.dataType = ProcessTypeString(bitMember.dataTypeString, false);*/
- /*type = bitMember.dataType;
- if(type.kind == classType && type._class && type._class.registered)
- {
- if(!type._class.registered.dataType)
- type._class.registered.dataType = ProcessTypeString(type._class.registered.dataTypeString, false);
- type = type._class.registered.dataType;
- }*/
- PrintLn(type.name);
- PrintLn(type.dataTypeString);
-#if 0
- switch(bitMember.dataType.kind)
- {
- case _BoolType:
- case charType: { byte v; type.isSigned ? GetChar(value, (char *)&v) : GetUChar(value, &v); part = (uint64)v; break; }
- case shortType: { uint16 v; type.isSigned ? GetShort(value, (short *)&v) : GetUShort(value, &v); part = (uint64)v; break; }
- case intType:
- case longType: { uint v; type.isSigned ? GetInt(value, (int *)&v) : GetUInt(value, &v); part = (uint64)v; break; }
- case int64Type: { uint64 v; type.isSigned ? GetInt64(value, (int64 *)&v) : GetUInt64(value, &v); part = (uint64)v; break; }
- case intPtrType: { uintptr v; type.isSigned ? GetIntPtr(value, (intptr *)&v) : GetUIntPtr(value, &v); part = (uint64)v; break; }
- case intSizeType: { uintsize v; type.isSigned ? GetIntSize(value, (intsize *)&v) : GetUIntSize(value, &v); part = (uint64)v; break; }
- }
-#endif
- bits |= part << bitMember.pos;
-#endif
- }