Mercurial > projects > ldc
diff dmd/enum.h @ 336:aaade6ded589 trunk
[svn r357] Merged DMD 1.033
author | lindquist |
---|---|
date | Sat, 12 Jul 2008 19:38:31 +0200 |
parents | c53b6e3fe49a |
children | 1860414bf3b7 |
line wrap: on
line diff
--- a/dmd/enum.h Sat Jul 12 17:04:36 2008 +0200 +++ b/dmd/enum.h Sat Jul 12 19:38:31 2008 +0200 @@ -1,6 +1,6 @@ // Compiler implementation of the D programming language -// Copyright (c) 1999-2006 by Digital Mars +// Copyright (c) 1999-2008 by Digital Mars // All Rights Reserved // written by Walter Bright // http://www.digitalmars.com @@ -30,9 +30,19 @@ { Type *type; // the TypeEnum Type *memtype; // type of the members + +#if DMDV1 integer_t maxval; integer_t minval; integer_t defaultval; // default initializer +#else + Expression *maxval; + Expression *minval; + Expression *defaultval; // default initializer + + Scope *scope; // !=NULL means context to use +#endif + int isdeprecated; EnumDeclaration(Loc loc, Identifier *id, Type *memtype); Dsymbol *syntaxCopy(Dsymbol *s); @@ -40,14 +50,18 @@ int oneMember(Dsymbol **ps); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); Type *getType(); - char *kind(); + const char *kind(); +#if DMDV2 + Dsymbol *search(Loc, Identifier *ident, int flags); +#endif + int isDeprecated(); // is Dsymbol deprecated? void emitComment(Scope *sc); void toDocBuffer(OutBuffer *buf); EnumDeclaration *isEnumDeclaration() { return this; } - void toObjFile(); // compile to .obj file + void toObjFile(int multiobj); // compile to .obj file void toDebug(); int cvMember(unsigned char *p); @@ -63,7 +77,7 @@ EnumMember(Loc loc, Identifier *id, Expression *value); Dsymbol *syntaxCopy(Dsymbol *s); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); - char *kind(); + const char *kind(); void emitComment(Scope *sc); void toDocBuffer(OutBuffer *buf);