forked from OSchip/llvm-project
				
			[libclang] Indexing API: Pass an implicit ObjCInterfaceDecl (@implementation without @interface)
in a separate indexing callback than its implementation. llvm-svn: 144625
This commit is contained in:
		
							parent
							
								
									ae8e792fe2
								
							
						
					
					
						commit
						233f12d9e2
					
				| 
						 | 
				
			
			@ -108,6 +108,10 @@ public:
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
  bool VisitObjCImplementationDecl(ObjCImplementationDecl *D) {
 | 
			
		||||
    const ObjCInterfaceDecl *Class = D->getClassInterface();
 | 
			
		||||
    if (Class->isImplicitInterfaceDecl())
 | 
			
		||||
      IndexCtx.handleObjCInterface(Class);
 | 
			
		||||
 | 
			
		||||
    IndexCtx.handleObjCImplementation(D);
 | 
			
		||||
 | 
			
		||||
    IndexCtx.indexTUDeclsInObjCContainer();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -206,9 +206,8 @@ void IndexingContext::handleObjCInterface(const ObjCInterfaceDecl *D) {
 | 
			
		|||
 | 
			
		||||
void IndexingContext::handleObjCImplementation(
 | 
			
		||||
                                              const ObjCImplementationDecl *D) {
 | 
			
		||||
  const ObjCInterfaceDecl *Class = D->getClassInterface();
 | 
			
		||||
  ObjCContainerDeclInfo ContDInfo(/*isForwardRef=*/false,
 | 
			
		||||
                      /*isRedeclaration=*/!Class->isImplicitInterfaceDecl(),
 | 
			
		||||
                      /*isRedeclaration=*/true,
 | 
			
		||||
                      /*isImplementation=*/true);
 | 
			
		||||
  handleObjCContainer(D, D->getLocation(), getCursor(D), ContDInfo);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue