{
WriteNumber(f, type, value, indent);
}
- else if(type.type == bitClass)
- {
- Class dataType;
- dataType = eSystem_FindClass(__thisModule, type.dataTypeString);
- WriteNumber(f, dataType, value, indent);
- }
return true;
}
if(!value.p)
continue;
}
- 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
- }
else if(type == class(double) || !strcmp(type.dataTypeString, "double"))
{
value.d = *(double *)((byte *)object + offset);