/// true.
bool InitiallyForwardDecl : 1;
bool ForwardDecl:1; // declared with @class.
- bool InternalInterface:1; // true - no @interface for @implementation
/// \brief Indicates that the contents of this Objective-C class will be
/// completed by the external AST source when required.
/// isImplicitInterfaceDecl - check that this is an implicitly declared
/// ObjCInterfaceDecl node. This is for legacy objective-c @implementation
/// declaration without an @interface declaration.
- bool isImplicitInterfaceDecl() const { return InternalInterface; }
- void setImplicitInterfaceDecl(bool val) { InternalInterface = val; }
+ bool isImplicitInterfaceDecl() const { return isImplicit(); }
+ void setImplicitInterfaceDecl(bool val) { setImplicit(val); }
/// ClassImplementsProtocol - Checks that 'lProto' protocol
/// has been implemented in IDecl class, its super class or categories (if
TypeForDecl(0), SuperClass(0),
CategoryList(0), IvarList(0),
InitiallyForwardDecl(FD), ForwardDecl(FD),
- InternalInterface(isInternal), ExternallyCompleted(false) {
+ ExternallyCompleted(false) {
+ setImplicit(isInternal);
}
void ObjCInterfaceDecl::LoadExternalDefinition() const {
ID->setIvarList(0);
ID->InitiallyForwardDecl = Record[Idx++];
ID->ForwardDecl = Record[Idx++];
- ID->setImplicitInterfaceDecl(Record[Idx++]);
ID->setSuperClassLoc(ReadSourceLocation(Record, Idx));
ID->setLocEnd(ReadSourceLocation(Record, Idx));
}
Writer.AddDeclRef(D->getCategoryList(), Record);
Record.push_back(D->isInitiallyForwardDecl());
Record.push_back(D->isForwardDecl());
- Record.push_back(D->isImplicitInterfaceDecl());
Writer.AddSourceLocation(D->getSuperClassLoc(), Record);
Writer.AddSourceLocation(D->getLocEnd(), Record);
Code = serialization::DECL_OBJC_INTERFACE;