[Qt-creator] FunctionDefinitionAST* to Declaration*

Lorenz Haas lykurg at gmail.com
Wed Apr 3 21:56:03 CEST 2013


Hi,

I have a FunctionDefinitionAST pointer to e.g.

    void setA(int a) {
        m_a = a;
    }

at a _header_ file and the file name of the corresponding cpp file. (And
a CppQuickFixInterface pointing to the header file, if that is
important. It's inside a CppQuickFixFactory::match function.)

Now I want to know where to put a definition of that function in the cpp
file (and if there is already a definition (which would be a exit
condition)). The code I would like to use for that is

    CppRefactoringChanges refactoring(interface->snapshot());
    InsertionPointLocator locator(refactoring);
    foreach (const InsertionLocation &loc, locator.methodDefinition(
                                        /* Declaration pointer */)) {
        // do stuff here
    }

But I can't figure out, how to get a Declaration pointer to that
function (setA) which is declared and defined in the header file.
Meaning: get Declaration* out of FunctionDefinitionAST*/Function*.


Thanks for any hints,
Lorenz


P.s.: During looping through interface->path() nodes I get two results
for node->asDeclaration() but I also fail to convert DeclarationAST* to
Declaration* to be accepted by
InsertionPointLocator::methodDefinition(). And I also get a
SimpleDeclarationAST* but the symbol list is empty.






More information about the Qt-creator mailing list