forked from qt-creator/qt-creator
		
	C++: fix support for nested anonymous class
The case when anonymous class is inside function. Fixed: * highlighting * completion Task-number: QTCREATORBUG-11711 Change-Id: Ic8fc5fdfb1aed62a74bf148ab7ed449d08214dda Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
		
				
					committed by
					
						
						Erik Verbruggen
					
				
			
			
				
	
			
			
			
						parent
						
							31cad45c0e
						
					
				
				
					commit
					6bf75acac7
				
			@@ -1344,6 +1344,11 @@ void CppCompletionAssistProcessor::globalCompletion(CPlusPlus::Scope *currentSco
 | 
			
		||||
                    if (UsingNamespaceDirective *u = member->asUsingNamespaceDirective()) {
 | 
			
		||||
                        if (ClassOrNamespace *b = binding->lookupType(u->name()))
 | 
			
		||||
                            usingBindings.append(b);
 | 
			
		||||
                    } else if (Class *c = member->asClass()) {
 | 
			
		||||
                        if (c->name()->isAnonymousNameId()) {
 | 
			
		||||
                            if (ClassOrNamespace *b = binding->findBlock(block))
 | 
			
		||||
                                completeClass(b);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
@@ -1539,6 +1544,8 @@ void CppCompletionAssistProcessor::completeClass(CPlusPlus::ClassOrNamespace *b,
 | 
			
		||||
        foreach (Symbol *bb, binding->symbols()) {
 | 
			
		||||
            if (Class *k = bb->asClass())
 | 
			
		||||
                scopesToVisit.append(k);
 | 
			
		||||
            else if (Block *b = bb->asBlock())
 | 
			
		||||
                scopesToVisit.append(b);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        foreach (Enum *e, binding->unscopedEnums())
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user