Added ObjC @interface and @implementation member declarations.

This commit is contained in:
Erik Verbruggen
2009-07-16 14:31:13 +02:00
parent be69b8256a
commit fa03d46984
8 changed files with 201 additions and 18 deletions

View File

@@ -2491,6 +2491,7 @@ public:
unsigned colon_token;
unsigned superclass_identifier_token;
ObjCProtocolRefsAST *protocol_refs;
ObjCInstanceVariablesDeclarationAST *inst_vars_decl;
unsigned end_token;
public:
@@ -2714,6 +2715,63 @@ protected:
virtual void accept0(ASTVisitor *visitor);
};
class CPLUSPLUS_EXPORT ObjCInstanceVariableListAST: public AST
{
public:
DeclarationAST *declaration;
ObjCInstanceVariableListAST *next;
public:
virtual ObjCInstanceVariableListAST *asObjCInstanceVariableList()
{ return this; }
virtual unsigned firstToken() const;
virtual unsigned lastToken() const;
virtual ObjCInstanceVariableListAST *clone(MemoryPool *pool) const;
protected:
virtual void accept0(ASTVisitor *visitor);
};
class CPLUSPLUS_EXPORT ObjCInstanceVariablesDeclarationAST: public AST
{
public:
unsigned lbrace_token;
ObjCInstanceVariableListAST *instance_variables;
unsigned rbrace_token;
public:
virtual ObjCInstanceVariablesDeclarationAST *asObjCInstanceVariablesDeclaration()
{ return this; }
virtual unsigned firstToken() const;
virtual unsigned lastToken() const;
virtual ObjCInstanceVariablesDeclarationAST *clone(MemoryPool *pool) const;
protected:
virtual void accept0(ASTVisitor *visitor);
};
class CPLUSPLUS_EXPORT ObjCVisibilityDeclarationAST: public DeclarationAST
{
public:
unsigned visibility_token;
public:
virtual ObjCVisibilityDeclarationAST *asObjCVisibilityDeclaration()
{ return this; }
virtual unsigned firstToken() const;
virtual unsigned lastToken() const;
virtual ObjCVisibilityDeclarationAST *clone(MemoryPool *pool) const;
protected:
virtual void accept0(ASTVisitor *visitor);
};
CPLUSPLUS_END_NAMESPACE
CPLUSPLUS_END_HEADER