+ if(objectType.type == bitClass)
+ {
+ if(type.type == enumClass || type.type == bitClass || type.type == unitClass || type.type == systemClass)
+ {
+ switch(objectType.typeSize)
+ {
+ case 1:
+ switch(type.typeSize)
+ {
+ case 1: ((byte (*)(byte, byte)) (void *)prop.Set)((byte)bits, value.uc); break;
+ case 2: ((byte (*)(byte, uint16))(void *)prop.Set)((byte)bits, value.us); break;
+ case 4: ((byte (*)(byte, uint32))(void *)prop.Set)((byte)bits, value.ui); break;
+ case 8: ((byte (*)(byte, uint64))(void *)prop.Set)((byte)bits, value.ui64); break;
+ }
+ break;
+ case 2:
+ switch(type.typeSize)
+ {
+ case 1: ((uint16 (*)(uint16, byte)) (void *)prop.Set)((uint16)bits, value.uc); break;
+ case 2: ((uint16 (*)(uint16, uint16))(void *)prop.Set)((uint16)bits, value.us); break;
+ case 4: ((uint16 (*)(uint16, uint32))(void *)prop.Set)((uint16)bits, value.ui); break;
+ case 8: ((uint16 (*)(uint16, uint64))(void *)prop.Set)((uint16)bits, value.ui64); break;
+ }
+ break;
+ case 4:
+ switch(type.typeSize)
+ {
+ case 1: ((uint32 (*)(uint32, byte)) (void *)prop.Set)((uint32)bits, value.uc); break;
+ case 2: ((uint32 (*)(uint32, uint16))(void *)prop.Set)((uint32)bits, value.us); break;
+ case 4: ((uint32 (*)(uint32, uint32))(void *)prop.Set)((uint32)bits, value.ui); break;
+ case 8: ((uint32 (*)(uint32, uint64))(void *)prop.Set)((uint32)bits, value.ui64); break;
+ }
+ break;
+ case 8:
+ switch(type.typeSize)
+ {
+ case 1: ((uint64 (*)(uint64, byte)) (void *)prop.Set)((uint64)bits, value.uc); break;
+ case 2: ((uint64 (*)(uint64, uint16))(void *)prop.Set)((uint64)bits, value.us); break;
+ case 4: ((uint64 (*)(uint64, uint32))(void *)prop.Set)((uint64)bits, value.ui); break;
+ case 8: ((uint64 (*)(uint64, uint64))(void *)prop.Set)((uint64)bits, value.ui64); break;
+ }
+ break;
+ }
+ }
+ else
+ ; // TODO: Generate error
+ }
+ else if(!strcmp(type.dataTypeString, "char *"))