comparison dmd/parse.h @ 1602:a413ae7329bf

Merge DMD r243: some harmonization with D2 dmd --- dmd/aggregate.h | 24 ++++- dmd/attrib.c | 63 ++++++---- dmd/attrib.h | 10 +- dmd/declaration.h | 5 +- dmd/func.c | 337 ++++++++++++++++++++++------------------------------- dmd/mars.c | 2 +- dmd/mars.h | 7 + dmd/mtype.h | 13 ++- dmd/parse.c | 32 ++++- dmd/parse.h | 14 ++- dmd/scope.h | 2 +- 11 files changed, 263 insertions(+), 246 deletions(-)
author Leandro Lucarella <llucax@gmail.com>
date Wed, 06 Jan 2010 15:18:19 -0300
parents 8026319762be
children 1b24e9c7cc26
comparison
equal deleted inserted replaced
1601:49722e6e6e05 1602:a413ae7329bf
66 66
67 Parser(Module *module, unsigned char *base, unsigned length, int doDocComment); 67 Parser(Module *module, unsigned char *base, unsigned length, int doDocComment);
68 68
69 Array *parseModule(); 69 Array *parseModule();
70 Array *parseDeclDefs(int once); 70 Array *parseDeclDefs(int once);
71 Array *parseAutoDeclarations(StorageClass storageClass, unsigned char *comment);
71 Array *parseBlock(); 72 Array *parseBlock();
72 void composeStorageClass(unsigned stc); 73 void composeStorageClass(StorageClass stc);
74 Expression *parseConstraint();
73 TemplateDeclaration *parseTemplateDeclaration(); 75 TemplateDeclaration *parseTemplateDeclaration();
74 TemplateParameters *parseTemplateParameterList(); 76 TemplateParameters *parseTemplateParameterList(int flag = 0);
75 Dsymbol *parseMixin(); 77 Dsymbol *parseMixin();
76 Objects *parseTemplateArgumentList(); 78 Objects *parseTemplateArgumentList();
79 Objects *parseTemplateArgumentList2();
80 Objects *parseTemplateArgument();
77 StaticAssert *parseStaticAssert(); 81 StaticAssert *parseStaticAssert();
82 TypeQualified *parseTypeof();
78 enum LINK parseLinkage(); 83 enum LINK parseLinkage();
79 Condition *parseDebugCondition(); 84 Condition *parseDebugCondition();
80 Condition *parseVersionCondition(); 85 Condition *parseVersionCondition();
81 Condition *parseStaticIfCondition(); 86 Condition *parseStaticIfCondition();
82 CtorDeclaration *parseCtor(); 87 Dsymbol *parseCtor();
88 PostBlitDeclaration *parsePostBlit();
83 DtorDeclaration *parseDtor(); 89 DtorDeclaration *parseDtor();
84 StaticCtorDeclaration *parseStaticCtor(); 90 StaticCtorDeclaration *parseStaticCtor();
85 StaticDtorDeclaration *parseStaticDtor(); 91 StaticDtorDeclaration *parseStaticDtor();
86 InvariantDeclaration *parseInvariant(); 92 InvariantDeclaration *parseInvariant();
87 UnitTestDeclaration *parseUnitTest(); 93 UnitTestDeclaration *parseUnitTest();
90 Arguments *parseParameters(int *pvarargs); 96 Arguments *parseParameters(int *pvarargs);
91 EnumDeclaration *parseEnum(); 97 EnumDeclaration *parseEnum();
92 Dsymbol *parseAggregate(); 98 Dsymbol *parseAggregate();
93 BaseClasses *parseBaseClasses(); 99 BaseClasses *parseBaseClasses();
94 Import *parseImport(Array *decldefs, int isstatic); 100 Import *parseImport(Array *decldefs, int isstatic);
101 Type *parseType(Identifier **pident = NULL, TemplateParameters **tpl = NULL);
95 Type *parseBasicType(); 102 Type *parseBasicType();
96 Type *parseBasicType2(Type *t); 103 Type *parseBasicType2(Type *t);
97 Type *parseDeclarator(Type *t, Identifier **pident, TemplateParameters **tpl = NULL); 104 Type *parseDeclarator(Type *t, Identifier **pident, TemplateParameters **tpl = NULL);
98 Array *parseDeclarations(); 105 Array *parseDeclarations();
99 void parseContracts(FuncDeclaration *f); 106 void parseContracts(FuncDeclaration *f);
100 Statement *parseStatement(int flags); 107 Statement *parseStatement(int flags);
101 Initializer *parseInitializer(); 108 Initializer *parseInitializer();
109 Expression *parseDefaultInitExp();
102 void check(Loc loc, enum TOK value); 110 void check(Loc loc, enum TOK value);
103 void check(enum TOK value); 111 void check(enum TOK value);
104 void check(enum TOK value, const char *string); 112 void check(enum TOK value, const char *string);
105 int isDeclaration(Token *t, int needId, enum TOK endtok, Token **pt); 113 int isDeclaration(Token *t, int needId, enum TOK endtok, Token **pt);
106 int isBasicType(Token **pt); 114 int isBasicType(Token **pt);