diff options
Diffstat (limited to 'include/clang')
-rw-r--r-- | include/clang/AST/Decl.h | 7 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticKinds.def | 7 | ||||
-rw-r--r-- | include/clang/Parse/Action.h | 4 |
3 files changed, 16 insertions, 2 deletions
diff --git a/include/clang/AST/Decl.h b/include/clang/AST/Decl.h index 7cb370b41c..b420c1da81 100644 --- a/include/clang/AST/Decl.h +++ b/include/clang/AST/Decl.h @@ -587,6 +587,9 @@ public: NumIntfRefProtocols = numRefProtos; } } + ObjcIvarDecl **getIntfDeclIvars() const { return Ivars; } + int getIntfDeclNumIvars() const { return NumIvars; } + void ObjcAddInstanceVariablesToClass(ObjcIvarDecl **ivars, unsigned numIvars); @@ -883,8 +886,8 @@ class ObjcImplementationDecl : public TypeDecl { Ivars(0), NumIvars(-1), InsMethods(0), NumInsMethods(-1), ClsMethods(0), NumClsMethods(-1) {} - void ObjcAddInstanceVariablesToClass(ObjcIvarDecl **ivars, - unsigned numIvars); + void ObjcAddInstanceVariablesToClassImpl(ObjcIvarDecl **ivars, + unsigned numIvars); void ObjcAddMethods(ObjcMethodDecl **insMethods, unsigned numInsMembers, ObjcMethodDecl **clsMethods, unsigned numClsMembers); diff --git a/include/clang/Basic/DiagnosticKinds.def b/include/clang/Basic/DiagnosticKinds.def index bd41546cd3..d77e6b4d24 100644 --- a/include/clang/Basic/DiagnosticKinds.def +++ b/include/clang/Basic/DiagnosticKinds.def @@ -426,6 +426,13 @@ DIAG(err_dup_implementation_class, ERROR, "reimplementation of class '%0'") DIAG(err_conflicting_super_class, ERROR, "conflicting super class name '%0'") +DIAG(err_conflicting_ivar_name, ERROR, + "conflicting instance variable name '%0'") +DIAG(err_inconsistant_ivar, ERROR, + "inconsistent instance variable specification") +DIAG(err_conflicting_ivar_type, ERROR, + "conflicting instance variable type") + //===----------------------------------------------------------------------===// // Semantic Analysis diff --git a/include/clang/Parse/Action.h b/include/clang/Parse/Action.h index fe902fc00f..bc14226bec 100644 --- a/include/clang/Parse/Action.h +++ b/include/clang/Parse/Action.h @@ -448,6 +448,10 @@ public: DeclTy **allMethods, unsigned allNum) { return; } + virtual void ActOnImpleIvarVsClassIvars(DeclTy *ClassDecl, + DeclTy **Fields, unsigned NumFields) { + return; + } virtual DeclTy *ObjcStartProtoInterface(Scope* S, SourceLocation AtProtoInterfaceLoc, IdentifierInfo *ProtocolName, SourceLocation ProtocolLoc, |