- create class types from the AST.

This is the first thing the compiler has to do to get access to the class's symbol table. Of course at this point the final size of a class is not known yet so these are currently all treated as tentative.
This commit is contained in:
Christoph Oelckers 2016-10-08 11:54:33 +02:00
commit b71e8d09ed
5 changed files with 147 additions and 4 deletions

View file

@ -16,7 +16,7 @@ struct ZCCToken
ENamedName Name() { return ENamedName(Int); }
};
// Variable / Function modifiers
// Variable / Function / Class modifiers
enum
{
ZCC_Native = 1 << 0,
@ -30,6 +30,7 @@ enum
ZCC_Deprecated = 1 << 8,
ZCC_ReadOnly = 1 << 9,
ZCC_FuncConst = 1 << 10,
ZCC_Abstract = 1 << 11,
};
// Function parameter modifiers
@ -185,6 +186,7 @@ struct ZCC_Class : ZCC_NamedNode
ZCC_Identifier *Replaces;
VM_UWORD Flags;
ZCC_TreeNode *Body;
PClass *Type;
};
struct ZCC_Struct : ZCC_NamedNode