struct Statement * setStmt;
struct Statement * issetStmt;
struct Symbol * symbol;
-unsigned int conversion;
-unsigned int isWatchable;
struct Expression * category;
+struct
+{
+unsigned int conversion : 1;
+unsigned int isWatchable : 1;
+unsigned int isDBProp : 1;
+} __attribute__ ((gcc_struct));
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyWatch;
struct Statement * setStmt;
struct Statement * issetStmt;
struct Symbol * symbol;
-unsigned int conversion;
-unsigned int isWatchable;
struct Expression * category;
+struct
+{
+unsigned int conversion : 1;
+unsigned int isWatchable : 1;
+unsigned int isDBProp : 1;
+} __attribute__ ((gcc_struct));
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyWatch;
struct Statement * setStmt;
struct Statement * issetStmt;
struct Symbol * symbol;
-unsigned int conversion;
-unsigned int isWatchable;
struct Expression * category;
+struct
+{
+unsigned int conversion : 1;
+unsigned int isWatchable : 1;
+unsigned int isDBProp : 1;
+} __attribute__ ((gcc_struct));
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyWatch;
CopyList(entry.dataType.qualifiers, CopySpecifier), CopyDeclarator(entry.dataType.declarator),
MkIdentifier(name), rowSet, null));
def.propertyDef.symbol.id = def.propertyDef.symbol.idCode = symbolID;
+ def.propertyDef.isDBProp = true;
def.memberAccess = publicAccess;
rowClassDefs->Add(def);
}
curContext = globalContext;
def = MkClassDefProperty(MkProperty(CopyList(entry.dataType.qualifiers, CopySpecifier), entry.dataType.declarator, CopyIdentifier(entry.id), rowSet, rowGet));
def.propertyDef.symbol.id = def.propertyDef.symbol.idCode = symbolID;
+ def.propertyDef.isDBProp = true;
def.memberAccess = publicAccess;
rowClassDefs->Add(def);
}
CopyList(entry.dataType.qualifiers, CopySpecifier), CopyDeclarator(entry.dataType.declarator),
CopyIdentifier(entry.id), idSet, idGet));
def.propertyDef.symbol.id = def.propertyDef.symbol.idCode = symbolID;
+ def.propertyDef.isDBProp = true;
def.memberAccess = publicAccess;
idClassDefs->Add(def);
}
Statement setStmt;
Statement issetStmt;
Symbol symbol;
- bool conversion;
- bool isWatchable;
Expression category;
+ struct
+ {
+ bool conversion:1;
+ bool isWatchable:1;
+ bool isDBProp:1;
+ };
};
public class ClassDef : struct
ListAdd(specifiers, MkSpecifier(VOID));
else
{
- if(regClass.type != noHeadClass && regClass.type != normalClass && (!propertyDef.symbol._property || !propertyDef.symbol._property.conversion))
+ if(regClass.type != noHeadClass && regClass.type != normalClass && !propertyDef.isDBProp && (!propertyDef.symbol._property || !propertyDef.symbol._property.conversion))
Compiler_Error($"set defined on type without storage for non-conversion property\n");
ListAdd(specifiers, MkSpecifierName(regClass.fullName));
}