Add comment to ObjcClassDecl.

Move ObjcClassDecl to be next to ObjcForwardProtocolDecl. Since they are very similar, might want to unify their names (e.g. ObjcForwardClassDecl).
Change indentation of ObjcForwardProtocolDecl to conform to everything else in DeclObjC.h.

llvm-svn: 42513
This commit is contained in:
Steve Naroff 2007-10-02 00:10:42 +00:00
parent 587cc42864
commit bf81db14c5
1 changed files with 46 additions and 42 deletions

View File

@ -167,28 +167,6 @@ private:
AccessControl DeclAccess : 3;
};
class ObjcClassDecl : public TypeDecl {
ObjcInterfaceDecl **ForwardDecls; // Null if not defined.
int NumForwardDecls; // -1 if not defined.
public:
ObjcClassDecl(SourceLocation L, unsigned nElts)
: TypeDecl(ObjcClass, L, 0, 0) {
if (nElts) {
ForwardDecls = new ObjcInterfaceDecl*[nElts];
memset(ForwardDecls, '\0', nElts*sizeof(ObjcInterfaceDecl*));
}
NumForwardDecls = nElts;
}
void setInterfaceDecl(int idx, ObjcInterfaceDecl *OID) {
assert((idx < NumForwardDecls) && "index out of range");
ForwardDecls[idx] = OID;
}
static bool classof(const Decl *D) {
return D->getKind() == ObjcClass;
}
static bool classof(const ObjcClassDecl *D) { return true; }
};
/// ObjcMethodDecl - Represents an instance or class method declaration.
/// ObjC methods can be declared within 4 contexts: class interfaces,
/// categories, protocols, and class implementations. While C++ member
@ -353,31 +331,57 @@ public:
static bool classof(const ObjcProtocolDecl *D) { return true; }
};
/// ObjcForwardProtocolDecl - Represents a forward protocol declaration.
/// For example:
/// ObjcClassDecl - Specifies a list of forward class declarations. For example:
///
/// @class NSCursor, NSImage, NSPasteboard, NSWindow;
///
class ObjcClassDecl : public TypeDecl {
ObjcInterfaceDecl **ForwardDecls; // Null if not defined.
int NumForwardDecls; // -1 if not defined.
public:
ObjcClassDecl(SourceLocation L, unsigned nElts)
: TypeDecl(ObjcClass, L, 0, 0) {
if (nElts) {
ForwardDecls = new ObjcInterfaceDecl*[nElts];
memset(ForwardDecls, '\0', nElts*sizeof(ObjcInterfaceDecl*));
}
NumForwardDecls = nElts;
}
void setInterfaceDecl(int idx, ObjcInterfaceDecl *OID) {
assert((idx < NumForwardDecls) && "index out of range");
ForwardDecls[idx] = OID;
}
static bool classof(const Decl *D) {
return D->getKind() == ObjcClass;
}
static bool classof(const ObjcClassDecl *D) { return true; }
};
/// ObjcForwardProtocolDecl - Specifies a list of forward protocol declarations.
/// For example:
///
/// @protocol NSTextInput, NSChangeSpelling, NSDraggingInfo;
///
class ObjcForwardProtocolDecl : public TypeDecl {
ObjcProtocolDecl **ForwardProtocolDecls; // Null if not defined.
int NumForwardProtocolDecls; // -1 if not defined.
public:
ObjcForwardProtocolDecl(SourceLocation L, unsigned nElts)
: TypeDecl(ObjcForwardProtocol, L, 0, 0) {
if (nElts) {
ForwardProtocolDecls = new ObjcProtocolDecl*[nElts];
memset(ForwardProtocolDecls, '\0', nElts*sizeof(ObjcProtocolDecl*));
NumForwardProtocolDecls = nElts;
}
ObjcProtocolDecl **ForwardProtocolDecls; // Null if not defined.
int NumForwardProtocolDecls; // -1 if not defined.
public:
ObjcForwardProtocolDecl(SourceLocation L, unsigned nElts)
: TypeDecl(ObjcForwardProtocol, L, 0, 0) {
if (nElts) {
ForwardProtocolDecls = new ObjcProtocolDecl*[nElts];
memset(ForwardProtocolDecls, '\0', nElts*sizeof(ObjcProtocolDecl*));
NumForwardProtocolDecls = nElts;
}
void setForwardProtocolDecl(int idx, ObjcProtocolDecl *OID) {
assert((idx < NumForwardProtocolDecls) && "index out of range");
ForwardProtocolDecls[idx] = OID;
}
static bool classof(const Decl *D) {
return D->getKind() == ObjcForwardProtocol;
}
static bool classof(const ObjcForwardProtocolDecl *D) { return true; }
}
void setForwardProtocolDecl(int idx, ObjcProtocolDecl *OID) {
assert((idx < NumForwardProtocolDecls) && "index out of range");
ForwardProtocolDecls[idx] = OID;
}
static bool classof(const Decl *D) {
return D->getKind() == ObjcForwardProtocol;
}
static bool classof(const ObjcForwardProtocolDecl *D) { return true; }
};
/// ObjcCategoryDecl - Represents a category declaration. A category allows