1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

added vararg constructors to AST ambiguity nodes

This commit is contained in:
Mike Kucera 2008-02-05 15:39:10 +00:00
parent 76bea72bfb
commit 22f2deea94
5 changed files with 42 additions and 9 deletions

View file

@ -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);

View file

@ -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();
}

View file

@ -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);

View file

@ -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();
}

View file

@ -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();
}
}