diff options
author | Alena Laskavaia | 2010-08-02 00:05:48 +0000 |
---|---|---|
committer | Alena Laskavaia | 2010-08-02 00:05:48 +0000 |
commit | 3cc15da5df18acdcf9f13069968f30305f030110 (patch) | |
tree | 52181e533bf2dfe0d299afcf890064b240b042c2 /core | |
parent | dc393ac1fb4f57674bb88d01761380f0132da3ca (diff) | |
download | org.eclipse.cdt-3cc15da5df18acdcf9f13069968f30305f030110.tar.gz org.eclipse.cdt-3cc15da5df18acdcf9f13069968f30305f030110.tar.xz org.eclipse.cdt-3cc15da5df18acdcf9f13069968f30305f030110.zip |
Bug 321069 ASTWriter fails on IASTDeclarators with nested declarators, patch from Tomasz Wesolowski
Diffstat (limited to 'core')
2 files changed, 15 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterDeclaratorTestSource.awts b/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterDeclaratorTestSource.awts index b5e0ab31b18..11875142fcb 100644 --- a/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterDeclaratorTestSource.awts +++ b/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterDeclaratorTestSource.awts @@ -92,3 +92,17 @@ int b, a; } +//!ICPPASTDeclarator with nested declarator being a variable +//%C +int *(*var[3]); + +//!ICPPASTDeclarator with nested declarator and redundant parentheses +//%C +char (*((*fptr))(int, char)); + +//!ICPPASTDeclarator with nested declarator as a method +//%CPP +class Foo +{ + int (*(*aMethod())[2]); +}; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/DeclaratorWriter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/DeclaratorWriter.java index ce5714b5aa0..398edd99d53 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/DeclaratorWriter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/DeclaratorWriter.java @@ -78,6 +78,7 @@ public class DeclaratorWriter extends NodeWriter { writePointerOperators(declarator, pointOps); IASTName name = declarator.getName(); name.accept(visitor); + writeNestedDeclarator(declarator); IASTInitializer init = getInitializer(declarator); if(init!= null) { init.accept(visitor); |