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 IASTExpression [] expressions = new IASTExpression[2];
private int expressionsPos=-1; 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) { if (e != null) {
expressions = (IASTExpression[]) ArrayUtil.append( IASTExpression.class, expressions, ++expressionsPos, e ); expressions = (IASTExpression[]) ArrayUtil.append( IASTExpression.class, expressions, ++expressionsPos, e );
e.setParent(this); e.setParent(this);

View file

@ -22,7 +22,15 @@ public class CASTAmbiguousStatement extends CASTAmbiguity implements
private IASTStatement [] stmts = new IASTStatement[2]; private IASTStatement [] stmts = new IASTStatement[2];
private int stmtsPos=-1; 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) { if (s != null) {
stmts = (IASTStatement[]) ArrayUtil.append( IASTStatement.class, stmts, ++stmtsPos, s ); stmts = (IASTStatement[]) ArrayUtil.append( IASTStatement.class, stmts, ++stmtsPos, s );
s.setParent(this); s.setParent(this);
@ -35,7 +43,8 @@ public class CASTAmbiguousStatement extends CASTAmbiguity implements
return stmts; return stmts;
} }
protected IASTNode[] getNodes() { @Override
protected IASTNode[] getNodes() {
return getStatements(); return getStatements();
} }

View file

@ -17,14 +17,20 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousDeclaration;
public class CPPASTAmbiguousDeclaration extends CPPASTAmbiguity implements IASTAmbiguousDeclaration { public class CPPASTAmbiguousDeclaration extends CPPASTAmbiguity implements IASTAmbiguousDeclaration {
protected IASTNode[] getNodes() { @Override
protected IASTNode[] getNodes() {
return getDeclarations(); return getDeclarations();
} }
private IASTDeclaration [] decls = new IASTDeclaration[2]; private IASTDeclaration [] decls = new IASTDeclaration[2];
private int declsPos=-1; 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) { if (d != null) {
decls = (IASTDeclaration[]) ArrayUtil.append(IASTDeclaration.class, decls, ++declsPos, d ); decls = (IASTDeclaration[]) ArrayUtil.append(IASTDeclaration.class, decls, ++declsPos, d );
d.setParent(this); d.setParent(this);

View file

@ -22,7 +22,12 @@ public class CPPASTAmbiguousExpression extends CPPASTAmbiguity implements
private IASTExpression [] exp = new IASTExpression[2]; private IASTExpression [] exp = new IASTExpression[2];
private int expPos=-1; 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) { if (e != null) {
exp = (IASTExpression[]) ArrayUtil.append( IASTExpression.class, exp, ++expPos, e ); exp = (IASTExpression[]) ArrayUtil.append( IASTExpression.class, exp, ++expPos, e );
e.setParent(this); e.setParent(this);
@ -35,7 +40,8 @@ public class CPPASTAmbiguousExpression extends CPPASTAmbiguity implements
return exp; return exp;
} }
protected IASTNode[] getNodes() { @Override
protected IASTNode[] getNodes() {
return getExpressions(); return getExpressions();
} }

View file

@ -21,7 +21,12 @@ public class CPPASTAmbiguousStatement extends CPPASTAmbiguity implements
private IASTStatement [] stmts = new IASTStatement[2]; private IASTStatement [] stmts = new IASTStatement[2];
private int stmtsPos=-1; 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) { if (s != null) {
stmts = (IASTStatement[]) ArrayUtil.append( IASTStatement.class, stmts, ++stmtsPos, s ); stmts = (IASTStatement[]) ArrayUtil.append( IASTStatement.class, stmts, ++stmtsPos, s );
s.setParent(this); s.setParent(this);
@ -34,7 +39,8 @@ public class CPPASTAmbiguousStatement extends CPPASTAmbiguity implements
return stmts; return stmts;
} }
protected IASTNode[] getNodes() { @Override
protected IASTNode[] getNodes() {
return getStatements(); return getStatements();
} }
} }