Skip to main content
summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorAlena Laskavaia2010-08-02 00:05:48 +0000
committerAlena Laskavaia2010-08-02 00:05:48 +0000
commit3cc15da5df18acdcf9f13069968f30305f030110 (patch)
tree52181e533bf2dfe0d299afcf890064b240b042c2 /core
parentdc393ac1fb4f57674bb88d01761380f0132da3ca (diff)
downloadorg.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')
-rw-r--r--core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterDeclaratorTestSource.awts14
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/DeclaratorWriter.java1
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);

Back to the top