Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Eclipse CDT: Modify and save AST

I'm exploring ways to alter the AST of a C/C++ code (e.g., rename a node, add
a new variable) and apply these changes to the source file.

I did a lot of reading here in SO and in Eclipse forums. However I didn't
find a minimal working example.

It seems that the correct way to make changes in an AST is by using the
ASTRewrite class.

A similar question was asked in SO a few months ago, but it is still
pending.

Here is where I'm stuck at the moment:

//get the factory
INodeFactory nodeFactory = myAST.getASTNodeFactory();

//create a new function declarator
IASTNode n =
nodeFactory.newFunctionDeclarator(nodeFactory.newName("testMe"));

//get the rewriter                  
ASTRewrite rewriter = ASTRewrite.create(mainAST);

//replace node with n, node is not null
rewriter.replace(node, n, null);

//make the changes              
Change c = rewriter.rewriteAST();
c.perform(new NullProgressMonitor());
When I run this code snippet, I get a

java.lang.NoClassDefFoundError: org/eclipse/ltk/core/refactoring/Change
Any hints are appreciated.



--
View this message in context: http://eclipse.1072660.n5.nabble.com/Eclipse-CDT-Modify-and-save-AST-tp186373.html
Sent from the Eclipse CDT - Development mailing list archive at Nabble.com.


Back to the top