From 22f2deea941e050d0df91cfe47e33a83997447b7 Mon Sep 17 00:00:00 2001 From: Mike Kucera Date: Tue, 5 Feb 2008 15:39:10 +0000 Subject: [PATCH] added vararg constructors to AST ambiguity nodes --- .../core/dom/parser/c/CASTAmbiguousExpression.java | 8 +++++++- .../core/dom/parser/c/CASTAmbiguousStatement.java | 13 +++++++++++-- .../dom/parser/cpp/CPPASTAmbiguousDeclaration.java | 10 ++++++++-- .../dom/parser/cpp/CPPASTAmbiguousExpression.java | 10 ++++++++-- .../dom/parser/cpp/CPPASTAmbiguousStatement.java | 10 ++++++++-- 5 files changed, 42 insertions(+), 9 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTAmbiguousExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTAmbiguousExpression.java index 4ccac9ea8a4..f697efca524 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTAmbiguousExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTAmbiguousExpression.java @@ -23,7 +23,13 @@ public class CASTAmbiguousExpression extends CASTAmbiguity implements private IASTExpression [] expressions = new IASTExpression[2]; private int expressionsPos=-1; - public void addExpression(IASTExpression e) { + + public CASTAmbiguousExpression(IASTExpression... expressions) { + for(IASTExpression e : expressions) + addExpression(e); + } + + public void addExpression(IASTExpression e) { if (e != null) { expressions = (IASTExpression[]) ArrayUtil.append( IASTExpression.class, expressions, ++expressionsPos, e ); e.setParent(this); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTAmbiguousStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTAmbiguousStatement.java index 8f10ae4ce25..d5f7ee46bfb 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTAmbiguousStatement.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTAmbiguousStatement.java @@ -22,7 +22,15 @@ public class CASTAmbiguousStatement extends CASTAmbiguity implements private IASTStatement [] stmts = new IASTStatement[2]; private int stmtsPos=-1; - public void addStatement(IASTStatement s) { + + + public CASTAmbiguousStatement(IASTStatement... statements) { + for(IASTStatement s : statements) + addStatement(s); + } + + + public void addStatement(IASTStatement s) { if (s != null) { stmts = (IASTStatement[]) ArrayUtil.append( IASTStatement.class, stmts, ++stmtsPos, s ); s.setParent(this); @@ -35,7 +43,8 @@ public class CASTAmbiguousStatement extends CASTAmbiguity implements return stmts; } - protected IASTNode[] getNodes() { + @Override + protected IASTNode[] getNodes() { return getStatements(); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousDeclaration.java index 55a74268694..d10088537ad 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousDeclaration.java @@ -17,14 +17,20 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousDeclaration; public class CPPASTAmbiguousDeclaration extends CPPASTAmbiguity implements IASTAmbiguousDeclaration { - protected IASTNode[] getNodes() { + @Override + protected IASTNode[] getNodes() { return getDeclarations(); } private IASTDeclaration [] decls = new IASTDeclaration[2]; private int declsPos=-1; - public void addDeclaration(IASTDeclaration d) { + public CPPASTAmbiguousDeclaration(IASTDeclaration... declarations) { + for(IASTDeclaration d : declarations) + addDeclaration(d); + } + + public void addDeclaration(IASTDeclaration d) { if (d != null) { decls = (IASTDeclaration[]) ArrayUtil.append(IASTDeclaration.class, decls, ++declsPos, d ); d.setParent(this); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousExpression.java index 7fa4d6efd5e..52a5bf68a37 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousExpression.java @@ -22,7 +22,12 @@ public class CPPASTAmbiguousExpression extends CPPASTAmbiguity implements private IASTExpression [] exp = new IASTExpression[2]; private int expPos=-1; - public void addExpression(IASTExpression e) { + public CPPASTAmbiguousExpression(IASTExpression... expressions) { + for(IASTExpression e : expressions) + addExpression(e); + } + + public void addExpression(IASTExpression e) { if (e != null) { exp = (IASTExpression[]) ArrayUtil.append( IASTExpression.class, exp, ++expPos, e ); e.setParent(this); @@ -35,7 +40,8 @@ public class CPPASTAmbiguousExpression extends CPPASTAmbiguity implements return exp; } - protected IASTNode[] getNodes() { + @Override + protected IASTNode[] getNodes() { return getExpressions(); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousStatement.java index 9f16bc1f847..f710134982d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousStatement.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTAmbiguousStatement.java @@ -21,7 +21,12 @@ public class CPPASTAmbiguousStatement extends CPPASTAmbiguity implements private IASTStatement [] stmts = new IASTStatement[2]; private int stmtsPos=-1; - public void addStatement(IASTStatement s) { + public CPPASTAmbiguousStatement(IASTStatement... statements) { + for(IASTStatement s : statements) + addStatement(s); + } + + public void addStatement(IASTStatement s) { if (s != null) { stmts = (IASTStatement[]) ArrayUtil.append( IASTStatement.class, stmts, ++stmtsPos, s ); s.setParent(this); @@ -34,7 +39,8 @@ public class CPPASTAmbiguousStatement extends CPPASTAmbiguity implements return stmts; } - protected IASTNode[] getNodes() { + @Override + protected IASTNode[] getNodes() { return getStatements(); } }