1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-12 19:45:22 +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,6 +23,12 @@ 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 CASTAmbiguousExpression(IASTExpression... expressions) {
for(IASTExpression e : expressions)
addExpression(e);
}
public void addExpression(IASTExpression 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 );

View file

@ -22,6 +22,14 @@ 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 CASTAmbiguousStatement(IASTStatement... statements) {
for(IASTStatement s : statements)
addStatement(s);
}
public void addStatement(IASTStatement 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 );
@ -35,6 +43,7 @@ public class CASTAmbiguousStatement extends CASTAmbiguity implements
return stmts; return stmts;
} }
@Override
protected IASTNode[] getNodes() { protected IASTNode[] getNodes() {
return getStatements(); return getStatements();
} }

View file

@ -17,6 +17,7 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousDeclaration;
public class CPPASTAmbiguousDeclaration extends CPPASTAmbiguity implements IASTAmbiguousDeclaration { public class CPPASTAmbiguousDeclaration extends CPPASTAmbiguity implements IASTAmbiguousDeclaration {
@Override
protected IASTNode[] getNodes() { protected IASTNode[] getNodes() {
return getDeclarations(); return getDeclarations();
} }
@ -24,6 +25,11 @@ public class CPPASTAmbiguousDeclaration extends CPPASTAmbiguity implements IASTA
private IASTDeclaration [] decls = new IASTDeclaration[2]; private IASTDeclaration [] decls = new IASTDeclaration[2];
private int declsPos=-1; private int declsPos=-1;
public CPPASTAmbiguousDeclaration(IASTDeclaration... declarations) {
for(IASTDeclaration d : declarations)
addDeclaration(d);
}
public void addDeclaration(IASTDeclaration 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 );

View file

@ -22,6 +22,11 @@ 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 CPPASTAmbiguousExpression(IASTExpression... expressions) {
for(IASTExpression e : expressions)
addExpression(e);
}
public void addExpression(IASTExpression 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 );
@ -35,6 +40,7 @@ public class CPPASTAmbiguousExpression extends CPPASTAmbiguity implements
return exp; return exp;
} }
@Override
protected IASTNode[] getNodes() { protected IASTNode[] getNodes() {
return getExpressions(); return getExpressions();
} }

View file

@ -21,6 +21,11 @@ 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 CPPASTAmbiguousStatement(IASTStatement... statements) {
for(IASTStatement s : statements)
addStatement(s);
}
public void addStatement(IASTStatement 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 );
@ -34,6 +39,7 @@ public class CPPASTAmbiguousStatement extends CPPASTAmbiguity implements
return stmts; return stmts;
} }
@Override
protected IASTNode[] getNodes() { protected IASTNode[] getNodes() {
return getStatements(); return getStatements();
} }