[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdevelop/projectmanagers/cmake
From:       Aleix Pol Gonzalez <aleixpol () gmail ! com>
Date:       2009-02-28 23:17:46
Message-ID: 1235863066.217397.2495.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 933457 by apol:

Fixed context creation. Now we can navigate again through the imported files.


 M  +7 -9      parser/cmakeprojectvisitor.cpp  
 M  +1 -1      tests/cmakeduchaintest.cpp  


--- trunk/KDE/kdevelop/projectmanagers/cmake/parser/cmakeprojectvisitor.cpp \
#933456:933457 @@ -560,7 +560,7 @@
 
         if(pack->noModule())
         {
-            m_vars->insert(QString("%1_CONFIG"), QStringList(path));
+            m_vars->insert(QString("%1_CONFIG").arg(pack->name()), \
QStringList(path));  }
         m_vars->take("CMAKE_CURRENT_LIST_FILE");
     }
@@ -578,6 +578,7 @@
 {
     DUChainWriteLocker lock(DUChain::lock());
     KDevelop::ReferencedTopDUContext topctx=DUChain::self()->chainForDocument(path);
+    
     if(topctx)
     {
         topctx->deleteLocalDeclarations();
@@ -592,11 +593,11 @@
     }
     else
     {
-        topctx=new TopDUContext(IndexedString(path),
-                SimpleRange(0,0, endl, endc));
+        topctx=new TopDUContext(IndexedString(path), SimpleRange(0,0, endl, endc));
         DUChain::self()->addDocumentChain(topctx);
 
         Q_ASSERT(DUChain::self()->chainForDocument(path));
+        topctx->addImportedParentContext(aux);
         aux->addImportedParentContext(topctx);
     }
     
@@ -987,15 +988,11 @@
             m_vars->insertMulti("ARGC", \
QStringList(QString::number(call->arguments().count())));  kDebug(9042) << "argn=" << \
m_vars->value("ARGN");  
-            kDebug() << "pppppppppp" << m_topctx << \
                m_topctx->findDeclarations(Identifier(call->name())).count()
-                     << m_topctx->localDeclarations().size();
             //Executing
             int len = walk(code.code, 1);
             kDebug(9042) << "visited!" << call->name()  <<
                 m_vars->value("ARGV") << "_" << m_vars->value("ARGN") << "..." << \
len;  
-            kDebug() << "oooooooooo" << m_topctx << \
                m_topctx->findDeclarations(Identifier(call->name())).count()
-                     << m_topctx->localDeclarations().size();
             //Restoring
             i=1;
             foreach(const QString& name, code.knownArgs)
@@ -1861,7 +1858,7 @@
     if(!m_topctx || m_topctx->url().toUrl()!=url)
     {
         kDebug(9042) << "Creating a context for" << url;
-        m_topctx=createContext(url, m_parentCtx, fc.last().endLine-1, \
fc.last().endColumn-1); +        m_topctx=createContext(url, aux ? aux : m_parentCtx, \
fc.last().endLine-1, fc.last().endColumn-1);  if(!aux)
             aux=m_topctx;
     }
@@ -1888,6 +1885,7 @@
 
         createUses(*it);
 //         kDebug(9042) << "resolving:" << it->writeBack();
+            
         CMakeFunctionDesc func = resolveVariables(*it); //FIXME not correct in while \
case  bool correct = element->parseFunctionInfo(func);
 //         kDebug(9042) << "resolved:" << func.writeBack() << correct;
@@ -1971,7 +1969,7 @@
         {
             QString var=arg.value.mid(it->first+1, it->second-it->first-1);
             QList<Declaration*> decls=m_topctx->findDeclarations(Identifier(var));
-
+            
             if(!decls.isEmpty())
             {
                 int idx=m_topctx->indexForUsedDeclaration(decls.first());
--- trunk/KDE/kdevelop/projectmanagers/cmake/tests/cmakeduchaintest.cpp \
#933456:933457 @@ -203,7 +203,7 @@
     }
     ReferencedTopDUContext m_fakeContext=new \
TopDUContext(IndexedString(file.fileName()), SimpleRange(0,0, endl, endc));  
-    QString inputIncluded="set(avalue 33)";
+    QString inputIncluded="set(avalue 33)\n";
     
     QFile includedFile("included.cmake");
     QVERIFY(includedFile.open(QIODevice::WriteOnly | QIODevice::Text));


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic