diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpressionStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpressionStatement.java
index 3159889d2b8..5846512ff73 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpressionStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpressionStatement.java
@@ -21,8 +21,8 @@ public interface IASTExpressionStatement extends IASTStatement {
* EXPRESSION
is the relationship between an
* IASTExpressionStatement
and an IASTExpression
.
*/
- public static final ASTNodeProperty EXPFRESSION = new ASTNodeProperty(
- "IASTExpressionStatement.IASTStatement - IASTExpression for IASTExpressionStatement"); //$NON-NLS-1$
+ public static final ASTNodeProperty EXPRESSION = new ASTNodeProperty(
+ "IASTExpressionStatement.EXPRESSION - IASTExpression for IASTExpressionStatement"); //$NON-NLS-1$
/**
* Get the expression in this statement.
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/AbstractGNUSourceCodeParser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/AbstractGNUSourceCodeParser.java
index 209bb01754a..ceefa6e9573 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/AbstractGNUSourceCodeParser.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/AbstractGNUSourceCodeParser.java
@@ -9,6 +9,7 @@
* IBM Rational Software - Initial API and implementation
* Markus Schorn (Wind River Systems)
* Ed Swartz (Nokia)
+ * Mike Kucera (IBM) - bug #206952
*******************************************************************************/
package org.eclipse.cdt.internal.core.dom.parser;
@@ -37,7 +38,6 @@ import org.eclipse.cdt.core.dom.ast.IASTExpressionList;
import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement;
import org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator;
import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression;
-import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition;
import org.eclipse.cdt.core.dom.ast.IASTGotoStatement;
import org.eclipse.cdt.core.dom.ast.IASTIdExpression;
import org.eclipse.cdt.core.dom.ast.IASTIfStatement;
@@ -48,7 +48,6 @@ import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.core.dom.ast.IASTNullStatement;
import org.eclipse.cdt.core.dom.ast.IASTProblem;
import org.eclipse.cdt.core.dom.ast.IASTProblemExpression;
-import org.eclipse.cdt.core.dom.ast.IASTProblemHolder;
import org.eclipse.cdt.core.dom.ast.IASTProblemStatement;
import org.eclipse.cdt.core.dom.ast.IASTReturnStatement;
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier;
@@ -138,8 +137,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
}
}
- protected final void throwBacktrack(int offset, int length)
- throws BacktrackException {
+ protected final void throwBacktrack(int offset, int length) throws BacktrackException {
++backtrackCount;
backtrack.initialize(offset, (length < 0) ? 0 : length);
throw backtrack;
@@ -149,11 +147,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
protected ASTCompletionNode completionNode;
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.dom.parser.ISourceCodeParser#getCompletionNode()
- */
+
public IASTCompletionNode getCompletionNode() {
return completionNode;
}
@@ -558,25 +552,19 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
int startingOffset = consume(IToken.tLBRACE).getOffset();
((ASTNode) result).setOffset(startingOffset);
- result.setPropertyInParent(IASTFunctionDefinition.FUNCTION_BODY);
+ //result.setPropertyInParent(IASTFunctionDefinition.FUNCTION_BODY);
while (LT(1) != IToken.tRBRACE && LT(1) != IToken.tEOC) {
int checkToken = LA(1).hashCode();
try {
IASTStatement s = statement();
result.addStatement(s);
- s.setParent(result);
- s.setPropertyInParent(IASTCompoundStatement.NESTED_STATEMENT);
} catch (BacktrackException b) {
IASTProblem p = failParse(b);
IASTProblemStatement ps = createProblemStatement();
ps.setProblem(p);
((ASTNode) ps).setOffsetAndLength(((ASTNode) p).getOffset(),
((ASTNode) p).getLength());
- p.setParent(ps);
- p.setPropertyInParent(IASTProblemHolder.PROBLEM);
result.addStatement(ps);
- ps.setParent(result);
- ps.setPropertyInParent(IASTCompoundStatement.NESTED_STATEMENT);
if (LA(1).hashCode() == checkToken)
failParseWithErrorHandling();
}
@@ -604,15 +592,12 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
* @throws EndOfFileException
* @throws BacktrackException
*/
- protected IASTExpression compoundStatementExpression()
- throws EndOfFileException, BacktrackException {
+ protected IASTExpression compoundStatementExpression() throws EndOfFileException, BacktrackException {
int startingOffset = consume().getOffset(); // tLPAREN always
IASTCompoundStatement compoundStatement = null;
- if (mode == ParserMode.QUICK_PARSE
- || mode == ParserMode.STRUCTURAL_PARSE)
+ if (mode == ParserMode.QUICK_PARSE || mode == ParserMode.STRUCTURAL_PARSE)
skipOverCompoundStatement();
- else if (mode == ParserMode.COMPLETION_PARSE
- || mode == ParserMode.SELECTION_PARSE) {
+ else if (mode == ParserMode.COMPLETION_PARSE || mode == ParserMode.SELECTION_PARSE) {
if (scanner.isOnTopContext())
compoundStatement();
else
@@ -622,13 +607,9 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
int lastOffset = consume(IToken.tRPAREN).getEndOffset();
IGNUASTCompoundStatementExpression resultExpression = createCompoundStatementExpression();
- ((ASTNode) resultExpression).setOffsetAndLength(startingOffset,
- lastOffset - startingOffset);
+ ((ASTNode) resultExpression).setOffsetAndLength(startingOffset, lastOffset - startingOffset);
if (compoundStatement != null) {
resultExpression.setCompoundStatement(compoundStatement);
- compoundStatement.setParent(resultExpression);
- compoundStatement
- .setPropertyInParent(IGNUASTCompoundStatementExpression.STATEMENT);
}
return resultExpression;
@@ -639,8 +620,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
*/
protected abstract IGNUASTCompoundStatementExpression createCompoundStatementExpression();
- protected IASTExpression expression() throws BacktrackException,
- EndOfFileException {
+ protected IASTExpression expression() throws BacktrackException, EndOfFileException {
IToken la = LA(1);
int startingOffset = la.getOffset();
@@ -658,18 +638,12 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTExpressionList expressionList = createExpressionList();
((ASTNode) expressionList).setOffset(startingOffset);
expressionList.addExpression(assignmentExpression);
- assignmentExpression.setParent(expressionList);
- assignmentExpression
- .setPropertyInParent(IASTExpressionList.NESTED_EXPRESSION);
int lastOffset = 0;
while (LT(1) == IToken.tCOMMA) {
consume();
IASTExpression secondExpression = assignmentExpression();
expressionList.addExpression(secondExpression);
- secondExpression.setParent(expressionList);
- secondExpression
- .setPropertyInParent(IASTExpressionList.NESTED_EXPRESSION);
lastOffset = calculateEndOffset(secondExpression);
}
((ASTNode) expressionList).setLength(lastOffset - startingOffset);
@@ -794,9 +768,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
* @param expression
* @throws BacktrackException
*/
- protected IASTExpression andExpression() throws EndOfFileException,
- BacktrackException {
-
+ protected IASTExpression andExpression() throws EndOfFileException, BacktrackException {
IASTExpression firstExpression = equalityExpression();
while (LT(1) == IToken.tAMPER) {
consume();
@@ -841,11 +813,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
int o = ((ASTNode) firstExpression).getOffset();
((ASTNode) result).setOffsetAndLength(o, lastOffset - o);
result.setOperand1(firstExpression);
- firstExpression.setParent(result);
- firstExpression.setPropertyInParent(IASTBinaryExpression.OPERAND_ONE);
result.setOperand2(secondExpression);
- secondExpression.setParent(result);
- secondExpression.setPropertyInParent(IASTBinaryExpression.OPERAND_TWO);
return result;
}
@@ -924,18 +892,9 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTConditionalExpression result = createConditionalExpression();
result.setLogicalConditionExpression(firstExpression);
- firstExpression.setParent(result);
- firstExpression
- .setPropertyInParent(IASTConditionalExpression.LOGICAL_CONDITION);
result.setPositiveResultExpression(secondExpression);
- secondExpression.setParent(result);
- secondExpression
- .setPropertyInParent(IASTConditionalExpression.POSITIVE_RESULT);
if (thirdExpression != null) {
result.setNegativeResultExpression(thirdExpression);
- thirdExpression.setParent(result);
- thirdExpression
- .setPropertyInParent(IASTConditionalExpression.NEGATIVE_RESULT);
((ASTNode) result).setOffsetAndLength(((ASTNode) firstExpression)
.getOffset(), calculateEndOffset(thirdExpression)
- ((ASTNode) firstExpression).getOffset());
@@ -965,11 +924,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTUnaryExpression result = createUnaryExpression();
((ASTNode) result).setOffsetAndLength(offset, lastOffset - offset);
result.setOperator(operator);
- if (operand != null) {
- result.setOperand(operand);
- operand.setParent(result);
- operand.setPropertyInParent(IASTUnaryExpression.OPERAND);
- }
+ result.setOperand(operand);
return result;
}
@@ -1069,25 +1024,19 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
protected IASTStatement handleFunctionBody() throws BacktrackException,
EndOfFileException {
- if (mode == ParserMode.QUICK_PARSE
- || mode == ParserMode.STRUCTURAL_PARSE) {
+ if (mode == ParserMode.QUICK_PARSE || mode == ParserMode.STRUCTURAL_PARSE) {
IToken curr = LA(1);
IToken last = skipOverCompoundStatement();
IASTCompoundStatement cs = createCompoundStatement();
- ((ASTNode) cs).setOffsetAndLength(curr.getOffset(), last
- .getEndOffset()
- - curr.getOffset());
+ ((ASTNode) cs).setOffsetAndLength(curr.getOffset(), last.getEndOffset() - curr.getOffset());
return cs;
- } else if (mode == ParserMode.COMPLETION_PARSE
- || mode == ParserMode.SELECTION_PARSE) {
+ } else if (mode == ParserMode.COMPLETION_PARSE || mode == ParserMode.SELECTION_PARSE) {
if (scanner.isOnTopContext())
return functionBody();
IToken curr = LA(1);
IToken last = skipOverCompoundStatement();
IASTCompoundStatement cs = createCompoundStatement();
- ((ASTNode) cs).setOffsetAndLength(curr.getOffset(), last
- .getEndOffset()
- - curr.getOffset());
+ ((ASTNode) cs).setOffsetAndLength(curr.getOffset(), last.getEndOffset() - curr.getOffset());
return cs;
} else if (mode == ParserMode.COMPLETE_PARSE)
return functionBody();
@@ -1101,8 +1050,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
* @throws BacktrackException
* request a backtrack
*/
- protected IASTStatement functionBody() throws EndOfFileException,
- BacktrackException {
+ protected IASTStatement functionBody() throws EndOfFileException, BacktrackException {
return compoundStatement();
}
@@ -1315,8 +1263,6 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTEnumerationSpecifier result = createEnumerationSpecifier();
((ASTNode) result).setOffset(startOffset);
result.setName(name);
- name.setParent(result);
- name.setPropertyInParent(IASTEnumerationSpecifier.ENUMERATION_NAME);
consume(); // IToken.tLBRACE
enumLoop: while (true) {
@@ -1350,19 +1296,10 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
((ASTNode) enumerator).setOffsetAndLength(
((ASTNode) enumeratorName).getOffset(), lastOffset
- ((ASTNode) enumeratorName).getOffset());
- enumeratorName.setParent(enumerator);
- enumeratorName
- .setPropertyInParent(IASTEnumerationSpecifier.IASTEnumerator.ENUMERATOR_NAME);
if (initialValue != null) {
enumerator.setValue(initialValue);
- initialValue.setParent(enumerator);
- initialValue
- .setPropertyInParent(IASTEnumerationSpecifier.IASTEnumerator.ENUMERATOR_VALUE);
}
result.addEnumerator(enumerator);
- enumerator.setParent(result);
- enumerator
- .setPropertyInParent(IASTEnumerationSpecifier.ENUMERATOR);
break;
}
@@ -1381,19 +1318,10 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
((ASTNode) enumerator).setOffsetAndLength(
((ASTNode) enumeratorName).getOffset(), lastOffset
- ((ASTNode) enumeratorName).getOffset());
- enumeratorName.setParent(enumerator);
- enumeratorName
- .setPropertyInParent(IASTEnumerationSpecifier.IASTEnumerator.ENUMERATOR_NAME);
if (initialValue != null) {
enumerator.setValue(initialValue);
- initialValue.setParent(enumerator);
- initialValue
- .setPropertyInParent(IASTEnumerationSpecifier.IASTEnumerator.ENUMERATOR_VALUE);
}
result.addEnumerator(enumerator);
- enumerator.setParent(result);
- enumerator
- .setPropertyInParent(IASTEnumerationSpecifier.ENUMERATOR);
}
int lastOffset = consume().getEndOffset();
@@ -1409,25 +1337,16 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
protected abstract IASTStatement statement() throws EndOfFileException,
BacktrackException;
- /**
- * @return
- */
+
protected abstract IASTEnumerator createEnumerator();
- /**
- * @return
- */
+
protected abstract IASTEnumerationSpecifier createEnumerationSpecifier();
- /**
- * @return
- */
+
protected abstract IASTName createName();
- /**
- * @param token
- * @return
- */
+
protected abstract IASTName createName(IToken token);
/**
@@ -1439,11 +1358,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
return cond;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.ISourceCodeParser#encounteredError()
- */
+
public boolean encounteredError() {
return !parsePassed;
}
@@ -1452,69 +1367,43 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
protected abstract IASTNamedTypeSpecifier createNamedTypeSpecifier();
- /**
- * @return
- */
+
protected abstract IASTDeclarationStatement createDeclarationStatement();
- /**
- * @return
- */
+
protected abstract IASTExpressionStatement createExpressionStatement();
- /**
- * @return
- */
+
protected abstract IASTLabelStatement createLabelStatement();
- /**
- * @return
- */
+
protected abstract IASTNullStatement createNullStatement();
- /**
- * @return
- */
+
protected abstract IASTGotoStatement createGoToStatement();
- /**
- * @return
- */
+
protected abstract IASTReturnStatement createReturnStatement();
- /**
- * @return
- */
+
protected abstract IASTContinueStatement createContinueStatement();
- /**
- * @return
- */
+
protected abstract IASTBreakStatement createBreakStatement();
- /**
- * @return
- */
+
protected abstract IASTDoStatement createDoStatement();
- /**
- * @return
- */
+
protected abstract IASTWhileStatement createWhileStatement();
- /**
- * @return
- */
+
protected abstract IASTIdExpression createIdExpression();
- /**
- * @return
- */
+
protected abstract IASTDefaultStatement createDefaultStatement();
- /**
- * @return
- */
+
protected abstract IASTCaseStatement createCaseStatement();
protected abstract IASTDeclaration declaration() throws BacktrackException,
@@ -1553,41 +1442,25 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
return result;
}
- /**
- * @return
- */
+
protected abstract IASTASMDeclaration createASMDirective();
- /**
- * @param op
- * @param typeId
- * @param subExpression
- * @param startingOffset
- * @param lastOffset
- * @return
- */
+
protected IASTExpression buildTypeIdUnaryExpression(int op,
IASTTypeId typeId, IASTExpression subExpression,
int startingOffset, int lastOffset) {
IASTCastExpression result = createCastExpression();
result.setOperator(op);
- ((ASTNode) result).setOffsetAndLength(startingOffset, lastOffset
- - startingOffset);
+ ((ASTNode) result).setOffsetAndLength(startingOffset, lastOffset - startingOffset);
result.setTypeId(typeId);
- typeId.setParent(result);
- typeId.setPropertyInParent(IASTCastExpression.TYPE_ID);
if (subExpression != null) { // which it can be in a completion
result.setOperand(subExpression);
- subExpression.setParent(result);
- subExpression.setPropertyInParent(IASTCastExpression.OPERAND);
}
return result;
}
- /**
- * @return
- */
+
protected abstract IASTCastExpression createCastExpression();
/**
@@ -1614,10 +1487,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
expressionStatement = createExpressionStatement();
expressionStatement.setExpression(expression);
((ASTNode) expressionStatement).setOffsetAndLength(
- mark.getOffset(), lastTokenOfExpression.getEndOffset()
- - mark.getOffset());
- expression.setParent(expressionStatement);
- expression.setPropertyInParent(IASTExpressionStatement.EXPFRESSION);
+ mark.getOffset(), lastTokenOfExpression.getEndOffset() - mark.getOffset());
} catch (BacktrackException b) {
}
@@ -1629,10 +1499,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTDeclaration d = declaration();
ds = createDeclarationStatement();
ds.setDeclaration(d);
- ((ASTNode) ds).setOffsetAndLength(((ASTNode) d).getOffset(),
- ((ASTNode) d).getLength());
- d.setParent(ds);
- d.setPropertyInParent(IASTDeclarationStatement.DECLARATION);
+ ((ASTNode) ds).setOffsetAndLength(((ASTNode) d).getOffset(), ((ASTNode) d).getLength());
} catch (BacktrackException b) {
savedBt = b;
backup(mark);
@@ -1654,8 +1521,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
// resolve ambiguities
// A * B = C;
if (expressionStatement.getExpression() instanceof IASTBinaryExpression) {
- IASTBinaryExpression exp = (IASTBinaryExpression) expressionStatement
- .getExpression();
+ IASTBinaryExpression exp = (IASTBinaryExpression) expressionStatement.getExpression();
if (exp.getOperator() == IASTBinaryExpression.op_assign) {
IASTExpression lhs = exp.getOperand1();
if (lhs instanceof IASTBinaryExpression
@@ -1736,12 +1602,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTAmbiguousStatement statement = createAmbiguousStatement();
statement.addStatement(ds);
- ds.setParent(statement);
- ds.setPropertyInParent(IASTAmbiguousStatement.STATEMENT);
statement.addStatement(expressionStatement);
- expressionStatement.setParent(statement);
- expressionStatement
- .setPropertyInParent(IASTAmbiguousStatement.STATEMENT);
((ASTNode) statement).setOffsetAndLength((ASTNode) ds);
return statement;
}
@@ -1765,12 +1626,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTName name = createName(labelName);
label_statement.setName(name);
- name.setParent(label_statement);
- name.setPropertyInParent(IASTLabelStatement.NAME);
-
- label_statement.setNestedStatement( nestedStatement );
- nestedStatement.setParent( label_statement );
- nestedStatement.setPropertyInParent( IASTLabelStatement.NESTED_STATEMENT );
+ label_statement.setNestedStatement(nestedStatement);
return label_statement;
}
@@ -1784,9 +1640,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IToken t = consume(); // tSEMI
IASTNullStatement null_statement = createNullStatement();
- ((ASTNode) null_statement).setOffsetAndLength(t.getOffset(), t
- .getEndOffset()
- - t.getOffset());
+ ((ASTNode) null_statement).setOffsetAndLength(t.getOffset(), t.getEndOffset() - t.getOffset());
return null_statement;
}
@@ -1803,11 +1657,8 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTName goto_label_name = createName(identifier);
IASTGotoStatement goto_statement = createGoToStatement();
- ((ASTNode) goto_statement).setOffsetAndLength(startOffset, lastOffset
- - startOffset);
+ ((ASTNode) goto_statement).setOffsetAndLength(startOffset, lastOffset - startOffset);
goto_statement.setName(goto_label_name);
- goto_label_name.setParent(goto_statement);
- goto_label_name.setPropertyInParent(IASTGotoStatement.NAME);
return goto_statement;
}
@@ -1822,8 +1673,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
int lastOffset = consume(IToken.tSEMI).getEndOffset();
IASTBreakStatement break_statement = createBreakStatement();
- ((ASTNode) break_statement).setOffsetAndLength(startOffset, lastOffset
- - startOffset);
+ ((ASTNode) break_statement).setOffsetAndLength(startOffset, lastOffset - startOffset);
return break_statement;
}
@@ -1838,8 +1688,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
int lastOffset = consume(IToken.tSEMI).getEndOffset();
IASTContinueStatement continue_statement = createContinueStatement();
- ((ASTNode) continue_statement).setOffsetAndLength(startOffset,
- lastOffset - startOffset);
+ ((ASTNode) continue_statement).setOffsetAndLength(startOffset, lastOffset - startOffset);
return continue_statement;
}
@@ -1861,8 +1710,6 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTName name = createName(LA(1));
IASTIdExpression idExpr = createIdExpression();
idExpr.setName(name);
- name.setParent(idExpr);
- name.setPropertyInParent(IASTIdExpression.ID_NAME);
result = idExpr;
break;
case IToken.tSEMI:
@@ -1889,8 +1736,6 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
- startOffset);
if (result != null) {
return_statement.setReturnValue(result);
- result.setParent(return_statement);
- result.setPropertyInParent(IASTReturnStatement.RETURNVALUE);
}
return return_statement;
}
@@ -1934,16 +1779,11 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTDoStatement do_statement = createDoStatement();
- ((ASTNode) do_statement).setOffsetAndLength(startOffset, lastOffset
- - startOffset);
+ ((ASTNode) do_statement).setOffsetAndLength(startOffset, lastOffset - startOffset);
do_statement.setBody(do_body);
- do_body.setParent(do_statement);
- do_body.setPropertyInParent(IASTDoStatement.BODY);
if (do_condition != null) {
do_statement.setCondition(do_condition);
- do_condition.setParent(do_statement);
- do_condition.setPropertyInParent(IASTDoStatement.CONDITION);
}
return do_statement;
@@ -1954,8 +1794,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
* @throws EndOfFileException
* @throws BacktrackException
*/
- protected IASTStatement parseWhileStatement() throws EndOfFileException,
- BacktrackException {
+ protected IASTStatement parseWhileStatement() throws EndOfFileException, BacktrackException {
int startOffset = consume().getOffset();
consume(IToken.tLPAREN);
IASTExpression while_condition = condition();
@@ -1976,15 +1815,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
((ASTNode) while_statement).setOffsetAndLength(startOffset,
(while_body != null ? calculateEndOffset(while_body) : LA(1).getEndOffset()) - startOffset);
while_statement.setCondition(while_condition);
- while_condition.setParent(while_statement);
- while_condition
- .setPropertyInParent(IASTWhileStatement.CONDITIONEXPRESSION);
-
- if (while_body != null) {
- while_statement.setBody(while_body);
- while_body.setParent(while_statement);
- while_body.setPropertyInParent(IASTWhileStatement.BODY);
- }
+ while_statement.setBody(while_body);
return while_statement;
}
@@ -2003,16 +1834,13 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
ASTNode r = ((ASTNode) current);
if (current.getElseClause() != null) {
ASTNode else_clause = ((ASTNode) current.getElseClause());
- r.setLength(else_clause.getOffset() + else_clause.getLength()
- - r.getOffset());
+ r.setLength(else_clause.getOffset() + else_clause.getLength() - r.getOffset());
} else {
ASTNode then_clause = (ASTNode) current.getThenClause();
if (then_clause != null)
- r.setLength(then_clause.getOffset()
- + then_clause.getLength() - r.getOffset());
+ r.setLength(then_clause.getOffset() + then_clause.getLength() - r.getOffset());
}
- if (current.getParent() != null
- && current.getParent() instanceof IASTIfStatement)
+ if (current.getParent() != null && current.getParent() instanceof IASTIfStatement)
current = (IASTIfStatement) current.getParent();
else
current = null;
@@ -2029,8 +1857,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
* @throws EndOfFileException
* @throws BacktrackException
*/
- protected IASTStatement parseCompoundStatement() throws EndOfFileException,
- BacktrackException {
+ protected IASTStatement parseCompoundStatement() throws EndOfFileException, BacktrackException {
IASTCompoundStatement compound = compoundStatement();
return compound;
}
@@ -2040,14 +1867,12 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
* @throws EndOfFileException
* @throws BacktrackException
*/
- protected IASTStatement parseDefaultStatement() throws EndOfFileException,
- BacktrackException {
+ protected IASTStatement parseDefaultStatement() throws EndOfFileException, BacktrackException {
int startOffset = consume().getOffset(); // t_default
int lastOffset = consume(IToken.tCOLON).getEndOffset();
IASTDefaultStatement df = createDefaultStatement();
- ((ASTNode) df)
- .setOffsetAndLength(startOffset, lastOffset - startOffset);
+ ((ASTNode) df).setOffsetAndLength(startOffset, lastOffset - startOffset);
return df;
}
@@ -2056,8 +1881,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
* @throws EndOfFileException
* @throws BacktrackException
*/
- protected IASTStatement parseCaseStatement() throws EndOfFileException,
- BacktrackException {
+ protected IASTStatement parseCaseStatement() throws EndOfFileException, BacktrackException {
int startOffset = consume().getOffset(); // t_case
IASTExpression case_exp = constantExpression();
int lastOffset = 0;
@@ -2071,31 +1895,19 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
}
IASTCaseStatement cs = createCaseStatement();
- ((ASTNode) cs)
- .setOffsetAndLength(startOffset, lastOffset - startOffset);
+ ((ASTNode) cs).setOffsetAndLength(startOffset, lastOffset - startOffset);
cs.setExpression(case_exp);
- case_exp.setParent(cs);
- case_exp.setPropertyInParent(IASTCaseStatement.EXPRESSION);
return cs;
}
- /**
- * @param declSpec
- * @param declarators
- * @return
- */
- protected int figureEndOffset(IASTDeclSpecifier declSpec,
- IASTDeclarator[] declarators) {
+
+ protected int figureEndOffset(IASTDeclSpecifier declSpec, IASTDeclarator[] declarators) {
if (declarators.length == 0)
return calculateEndOffset(declSpec);
return calculateEndOffset(declarators[declarators.length - 1]);
}
- /**
- * @param declSpecifier
- * @param declarator
- * @return
- */
+
protected int figureEndOffset(IASTDeclSpecifier declSpecifier,
IASTDeclarator declarator) {
if (declarator == null || ((ASTNode) declarator).getLength() == 0)
@@ -2103,9 +1915,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
return calculateEndOffset(declarator);
}
- /**
- * @param token
- */
+
protected void throwBacktrack(IToken token) throws BacktrackException {
throwBacktrack(token.getOffset(), token.getLength());
}
@@ -2125,8 +1935,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
if (typeIdWithParentheses)
consume(IToken.tLPAREN);
typeId = typeId(false);
- if (typeId != null)
- {
+ if (typeId != null) {
if (typeIdWithParentheses) {
switch (LT(1)) {
case IToken.tRPAREN:
@@ -2181,8 +1990,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
protected abstract IASTAmbiguousExpression createAmbiguousExpression();
- protected IASTExpression parseSizeofExpression() throws BacktrackException,
- EndOfFileException {
+ protected IASTExpression parseSizeofExpression() throws BacktrackException, EndOfFileException {
int startingOffset = consume().getOffset(); // t_sizeof
int[] endoffset= new int[] {0};
IASTNode[] choice = parseTypeIdOrUnaryExpression(true, endoffset);
@@ -2205,11 +2013,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
IASTUnaryExpression.op_sizeof, (IASTExpression) choice[1],
startingOffset, endoffset[0]);
ambExpr.addExpression(e1);
- e1.setParent(ambExpr);
- e1.setPropertyInParent(IASTAmbiguousExpression.SUBEXPRESSION);
ambExpr.addExpression(e2);
- e2.setParent(ambExpr);
- e2.setPropertyInParent(IASTAmbiguousExpression.SUBEXPRESSION);
((ASTNode) ambExpr).setOffsetAndLength((ASTNode) e2);
return ambExpr;
default:
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTASMDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTASMDeclaration.java
index 68b48263a73..e6941587b0f 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTASMDeclaration.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTASMDeclaration.java
@@ -20,17 +20,19 @@ import org.eclipse.cdt.core.dom.ast.IASTASMDeclaration;
public class CASTASMDeclaration extends CASTNode implements IASTASMDeclaration {
char [] assembly = null;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTASMDeclaration#getAssembly()
- */
- public String getAssembly() {
+
+ public CASTASMDeclaration() {
+ }
+
+ public CASTASMDeclaration(String assembly) {
+ setAssembly(assembly);
+ }
+
+ public String getAssembly() {
if( assembly == null ) return ""; //$NON-NLS-1$
return new String( assembly );
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTASMDeclaration#setAssembly(java.lang.String)
- */
public void setAssembly(String assembly) {
this.assembly = assembly.toCharArray();
}
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 a1f02d57bc5..4ccac9ea8a4 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
@@ -26,6 +26,8 @@ public class CASTAmbiguousExpression extends CASTAmbiguity implements
public void addExpression(IASTExpression e) {
if (e != null) {
expressions = (IASTExpression[]) ArrayUtil.append( IASTExpression.class, expressions, ++expressionsPos, e );
+ e.setParent(this);
+ e.setPropertyInParent(SUBEXPRESSION);
}
}
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 50233f8770b..8f10ae4ce25 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
@@ -25,6 +25,8 @@ public class CASTAmbiguousStatement extends CASTAmbiguity implements
public void addStatement(IASTStatement s) {
if (s != null) {
stmts = (IASTStatement[]) ArrayUtil.append( IASTStatement.class, stmts, ++stmtsPos, s );
+ s.setParent(this);
+ s.setPropertyInParent(STATEMENT);
}
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayDeclarator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayDeclarator.java
index 5e84c76d7e0..09260a42d66 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayDeclarator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayDeclarator.java
@@ -15,18 +15,29 @@ import org.eclipse.cdt.core.dom.ast.ASTVisitor;
import org.eclipse.cdt.core.dom.ast.IASTArrayDeclarator;
import org.eclipse.cdt.core.dom.ast.IASTArrayModifier;
import org.eclipse.cdt.core.dom.ast.IASTInitializer;
+import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.parser.util.ArrayUtil;
/**
* @author jcamelon
*/
-public class CASTArrayDeclarator extends CASTDeclarator implements
- IASTArrayDeclarator {
+public class CASTArrayDeclarator extends CASTDeclarator implements IASTArrayDeclarator {
private IASTArrayModifier [] arrayMods = null;
private int arrayModsPos=-1;
- public IASTArrayModifier[] getArrayModifiers() {
+ public CASTArrayDeclarator() {
+ }
+
+ public CASTArrayDeclarator(IASTName name, IASTInitializer initializer) {
+ super(name, initializer);
+ }
+
+ public CASTArrayDeclarator(IASTName name) {
+ super(name);
+ }
+
+ public IASTArrayModifier[] getArrayModifiers() {
if( arrayMods == null ) return IASTArrayModifier.EMPTY_ARRAY;
arrayMods = (IASTArrayModifier[]) ArrayUtil.removeNullsAfter( IASTArrayModifier.class, arrayMods, arrayModsPos );
return arrayMods;
@@ -35,6 +46,8 @@ public class CASTArrayDeclarator extends CASTDeclarator implements
public void addArrayModifier(IASTArrayModifier arrayModifier) {
if (arrayModifier != null) {
+ arrayModifier.setParent(this);
+ arrayModifier.setPropertyInParent(ARRAY_MODIFIER);
arrayMods = (IASTArrayModifier[]) ArrayUtil.append( IASTArrayModifier.class, arrayMods, ++arrayModsPos, arrayModifier );
}
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayDesignator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayDesignator.java
index 028e509f1e6..dfd882b4478 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayDesignator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayDesignator.java
@@ -26,18 +26,25 @@ public class CASTArrayDesignator extends CASTNode implements
private IASTExpression exp;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.ICASTArrayDesignator#getSubscriptExpression()
- */
+
+ public CASTArrayDesignator() {
+ }
+
+ public CASTArrayDesignator(IASTExpression exp) {
+ setSubscriptExpression(exp);
+ }
+
+
public IASTExpression getSubscriptExpression() {
return exp;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.ICASTArrayDesignator#setSubscriptExpression(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setSubscriptExpression(IASTExpression value) {
exp = value;
+ if(value != null) {
+ value.setParent(this);
+ value.setPropertyInParent(SUBSCRIPT_EXPRESSION);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayModifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayModifier.java
index 5cf37064f2c..e274d829d33 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayModifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayModifier.java
@@ -23,18 +23,25 @@ public class CASTArrayModifier extends CASTNode implements IASTArrayModifier, IA
private IASTExpression exp;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTArrayModifier#getConstantExpression()
- */
+
+ public CASTArrayModifier() {
+ }
+
+ public CASTArrayModifier(IASTExpression exp) {
+ setConstantExpression(exp);
+ }
+
+
public IASTExpression getConstantExpression() {
return exp;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTArrayModifier#setConstantExpression(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setConstantExpression(IASTExpression expression) {
this.exp = expression;
+ if(expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(CONSTANT_EXPRESSION);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayRangeDesignator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayRangeDesignator.java
index 0ffac91d36d..ebbc6c677d5 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayRangeDesignator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArrayRangeDesignator.java
@@ -26,32 +26,36 @@ public class CASTArrayRangeDesignator extends CASTNode implements
private IASTExpression floor, ceiling;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.gcc.IGCCASTArrayRangeDesignator#getRangeFloor()
- */
- public IASTExpression getRangeFloor() {
+ public CASTArrayRangeDesignator() {
+ }
+
+ public CASTArrayRangeDesignator(IASTExpression floor, IASTExpression ceiling) {
+ setRangeFloor(floor);
+ setRangeCeiling(ceiling);
+ }
+
+ public IASTExpression getRangeFloor() {
return this.floor;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.gcc.IGCCASTArrayRangeDesignator#setRangeFloor(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setRangeFloor(IASTExpression expression) {
- floor =expression;
+ floor = expression;
+ if(expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(SUBSCRIPT_FLOOR_EXPRESSION);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.gcc.IGCCASTArrayRangeDesignator#getRangeCeiling()
- */
public IASTExpression getRangeCeiling() {
return ceiling;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.gcc.IGCCASTArrayRangeDesignator#setRangeCeiling(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setRangeCeiling(IASTExpression expression) {
ceiling = expression;
+ if(expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(SUBSCRIPT_CEILING_EXPRESSION);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArraySubscriptExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArraySubscriptExpression.java
index fe3419d4fca..717e0e6e41a 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArraySubscriptExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTArraySubscriptExpression.java
@@ -27,12 +27,24 @@ public class CASTArraySubscriptExpression extends CASTNode implements
private IASTExpression array;
private IASTExpression subscript;
- public IASTExpression getArrayExpression() {
+ public CASTArraySubscriptExpression() {
+ }
+
+ public CASTArraySubscriptExpression(IASTExpression array, IASTExpression subscript) {
+ setArrayExpression(array);
+ setSubscriptExpression(subscript);
+ }
+
+ public IASTExpression getArrayExpression() {
return array;
}
public void setArrayExpression(IASTExpression expression) {
array = expression;
+ if(expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(ARRAY);
+ }
}
public IASTExpression getSubscriptExpression() {
@@ -41,6 +53,10 @@ public class CASTArraySubscriptExpression extends CASTNode implements
public void setSubscriptExpression(IASTExpression expression) {
this.subscript = expression;
+ if(expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(SUBSCRIPT);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTBaseDeclSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTBaseDeclSpecifier.java
index 0b8dae70147..d215b1e2425 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTBaseDeclSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTBaseDeclSpecifier.java
@@ -24,7 +24,7 @@ public abstract class CASTBaseDeclSpecifier extends CASTNode implements ICASTDec
protected boolean isRestrict;
protected boolean isInline;
- public boolean isRestrict() {
+ public boolean isRestrict() {
return isRestrict;
}
@@ -44,37 +44,22 @@ public abstract class CASTBaseDeclSpecifier extends CASTNode implements ICASTDec
return isInline;
}
- /**
- * @param storageClass The storageClass to set.
- */
public void setStorageClass(int storageClass) {
this.storageClass = storageClass;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier#setConst(boolean)
- */
public void setConst(boolean value) {
this.isConst = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier#setVolatile(boolean)
- */
public void setVolatile(boolean value) {
this.isVolatile = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.ICASTDeclSpecifier#setRestrict(boolean)
- */
public void setRestrict(boolean value) {
this.isRestrict = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier#setInline(boolean)
- */
public void setInline(boolean value) {
this.isInline = value;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTBinaryExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTBinaryExpression.java
index 73c9ed19441..74fe0a5076f 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTBinaryExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTBinaryExpression.java
@@ -28,7 +28,16 @@ public class CASTBinaryExpression extends CASTNode implements
private IASTExpression operand1;
private IASTExpression operand2;
- public int getOperator() {
+ public CASTBinaryExpression() {
+ }
+
+ public CASTBinaryExpression(int op, IASTExpression operand1, IASTExpression operand2) {
+ this.op = op;
+ setOperand1(operand1);
+ setOperand2(operand2);
+ }
+
+ public int getOperator() {
return op;
}
@@ -40,16 +49,27 @@ public class CASTBinaryExpression extends CASTNode implements
return operand2;
}
+ /**
+ * @param op An op_X field from {@link IASTBinaryExpression}
+ */
public void setOperator(int op) {
this.op = op;
}
public void setOperand1(IASTExpression expression) {
- operand1 = expression;
+ operand1 = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(OPERAND_ONE);
+ }
}
public void setOperand2(IASTExpression expression) {
operand2 = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(OPERAND_TWO);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCaseStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCaseStatement.java
index 7d71b387bfd..f0d4ce31c6b 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCaseStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCaseStatement.java
@@ -24,18 +24,24 @@ public class CASTCaseStatement extends CASTNode implements IASTCaseStatement, IA
private IASTExpression expression;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCaseStatement#getExpression()
- */
- public IASTExpression getExpression() {
+
+ public CASTCaseStatement() {
+ }
+
+ public CASTCaseStatement(IASTExpression expression) {
+ setExpression(expression);
+ }
+
+ public IASTExpression getExpression() {
return expression;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCaseStatement#setExpression(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setExpression(IASTExpression expression) {
this.expression = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(EXPRESSION);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCastExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCastExpression.java
index 797f869bb0a..82c74ee5480 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCastExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCastExpression.java
@@ -18,21 +18,27 @@ import org.eclipse.cdt.core.dom.ast.IASTTypeId;
/**
* @author jcamelon
*/
-public class CASTCastExpression extends CASTUnaryExpression implements
- IASTCastExpression {
+public class CASTCastExpression extends CASTUnaryExpression implements IASTCastExpression {
private IASTTypeId typeId;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTUnaryTypeIdExpression#setTypeId(org.eclipse.cdt.core.dom.ast.IASTTypeId)
- */
- public void setTypeId(IASTTypeId typeId) {
+
+ public CASTCastExpression() {
+ }
+
+ public CASTCastExpression(IASTTypeId typeId, IASTExpression operand) {
+ super(op_cast, operand);
+ setTypeId(typeId);
+ }
+
+ public void setTypeId(IASTTypeId typeId) {
this.typeId = typeId;
+ if (typeId != null) {
+ typeId.setParent(this);
+ typeId.setPropertyInParent(TYPE_ID);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTUnaryTypeIdExpression#getTypeId()
- */
public IASTTypeId getTypeId() {
return typeId;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompositeTypeSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompositeTypeSpecifier.java
index 072ae90d925..6354c7b8068 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompositeTypeSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompositeTypeSpecifier.java
@@ -28,33 +28,33 @@ public class CASTCompositeTypeSpecifier extends CASTBaseDeclSpecifier implements
private int key;
private IASTName name;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier#getKey()
- */
+
+ public CASTCompositeTypeSpecifier() {
+ }
+
+ public CASTCompositeTypeSpecifier(int key, IASTName name) {
+ this.key = key;
+ setName(name);
+ }
+
public int getKey() {
return key;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier#setKey(int)
- */
public void setKey(int key) {
this.key = key;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier#getName()
- */
public IASTName getName() {
return name;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(TYPE_NAME);
+ }
}
@@ -63,37 +63,28 @@ public class CASTCompositeTypeSpecifier extends CASTBaseDeclSpecifier implements
private IScope scope = null;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier#getMembers()
- */
public IASTDeclaration [] getMembers() {
if( declarations == null ) return IASTDeclaration.EMPTY_DECLARATION_ARRAY;
declarations = (IASTDeclaration[]) ArrayUtil.removeNullsAfter( IASTDeclaration.class, declarations, declarationsPos );
return declarations;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier#addMemberDeclaration(org.eclipse.cdt.core.dom.ast.IASTDeclaration)
- */
+
public void addMemberDeclaration(IASTDeclaration declaration) {
if (declaration != null) {
+ declaration.setParent(this);
+ declaration.setPropertyInParent(MEMBER_DECLARATION);
declarations = (IASTDeclaration[]) ArrayUtil.append( IASTDeclaration.class, declarations, ++declarationsPos, declaration );
}
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier#getScope()
- */
public IScope getScope() {
if( scope == null )
scope = new CCompositeTypeScope( this );
return scope;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier#getRawSignature()
- */
+
public String getRawSignature() {
return getName().toString() == null ? "" : getName().toString(); //$NON-NLS-1$
}
@@ -122,12 +113,12 @@ public class CASTCompositeTypeSpecifier extends CASTBaseDeclSpecifier implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
+
public int getRoleForName(IASTName n) {
if( n == this.name )
return r_definition;
return r_unclear;
}
+
+
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompoundStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompoundStatement.java
index 10dec661be3..6e57a639f5d 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompoundStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompoundStatement.java
@@ -22,33 +22,25 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
/**
* @author jcamelon
*/
-public class CASTCompoundStatement extends CASTNode implements
- IASTCompoundStatement, IASTAmbiguityParent {
-
-
+public class CASTCompoundStatement extends CASTNode implements IASTCompoundStatement, IASTAmbiguityParent {
private IASTStatement [] statements = null;
private IScope scope = null;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompoundStatement#getStatements()
- */
public IASTStatement[] getStatements() {
if( statements == null ) return IASTStatement.EMPTY_STATEMENT_ARRAY;
return (IASTStatement[]) ArrayUtil.trim( IASTStatement.class, statements );
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompoundStatement#addStatement(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
public void addStatement(IASTStatement statement) {
statements = (IASTStatement[]) ArrayUtil.append( IASTStatement.class, statements, statement );
+ if(statement != null) {
+ statement.setParent(this);
+ statement.setPropertyInParent(NESTED_STATEMENT);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTCompoundStatement#resolveBinding()
- */
public IScope getScope() {
if( scope == null )
scope = new CScope( this );
@@ -90,5 +82,4 @@ public class CASTCompoundStatement extends CASTNode implements
}
}
}
-
-}
+}
\ No newline at end of file
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompoundStatementExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompoundStatementExpression.java
index e8f0194cbe5..35856691b2d 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompoundStatementExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTCompoundStatementExpression.java
@@ -24,12 +24,23 @@ public class CASTCompoundStatementExpression extends CASTNode implements
private IASTCompoundStatement statement;
- public IASTCompoundStatement getCompoundStatement() {
+ public CASTCompoundStatementExpression() {
+ }
+
+ public CASTCompoundStatementExpression(IASTCompoundStatement statement) {
+ setCompoundStatement(statement);
+ }
+
+ public IASTCompoundStatement getCompoundStatement() {
return statement;
}
public void setCompoundStatement(IASTCompoundStatement statement) {
this.statement = statement;
+ if (statement != null) {
+ statement.setParent(this);
+ statement.setPropertyInParent(STATEMENT);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTConditionalExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTConditionalExpression.java
index 80c455f9aa7..61760c2725a 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTConditionalExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTConditionalExpression.java
@@ -28,12 +28,26 @@ public class CASTConditionalExpression extends CASTNode implements
private IASTExpression negative;
private IASTExpression positive;
- public IASTExpression getLogicalConditionExpression() {
+ public CASTConditionalExpression() {
+ }
+
+ public CASTConditionalExpression(IASTExpression condition,
+ IASTExpression positive, IASTExpression negative) {
+ setLogicalConditionExpression(condition);
+ setPositiveResultExpression(positive);
+ setNegativeResultExpression(negative);
+ }
+
+ public IASTExpression getLogicalConditionExpression() {
return condition;
}
public void setLogicalConditionExpression(IASTExpression expression) {
condition = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(LOGICAL_CONDITION);
+ }
}
public IASTExpression getPositiveResultExpression() {
@@ -42,6 +56,10 @@ public class CASTConditionalExpression extends CASTNode implements
public void setPositiveResultExpression(IASTExpression expression) {
this.positive = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(POSITIVE_RESULT);
+ }
}
public IASTExpression getNegativeResultExpression() {
@@ -50,6 +68,10 @@ public class CASTConditionalExpression extends CASTNode implements
public void setNegativeResultExpression(IASTExpression expression) {
this.negative = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(NEGATIVE_RESULT);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDeclarationStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDeclarationStatement.java
index 233311cd08c..f12c3da5f0c 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDeclarationStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDeclarationStatement.java
@@ -18,23 +18,28 @@ import org.eclipse.cdt.core.dom.ast.IASTDeclarationStatement;
/**
* @author jcamelon
*/
-public class CASTDeclarationStatement extends CASTNode implements
- IASTDeclarationStatement {
+public class CASTDeclarationStatement extends CASTNode implements IASTDeclarationStatement {
private IASTDeclaration declaration;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclarationStatement#getDeclaration()
- */
- public IASTDeclaration getDeclaration() {
+
+ public CASTDeclarationStatement() {
+ }
+
+ public CASTDeclarationStatement(IASTDeclaration declaration) {
+ setDeclaration(declaration);
+ }
+
+ public IASTDeclaration getDeclaration() {
return declaration;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclarationStatement#setDeclaration(org.eclipse.cdt.core.dom.ast.IASTDeclaration)
- */
public void setDeclaration(IASTDeclaration declaration) {
this.declaration = declaration;
+ if (declaration != null) {
+ declaration.setParent(this);
+ declaration.setPropertyInParent(DECLARATION);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDeclarator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDeclarator.java
index 324ca47266f..50048a29b3e 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDeclarator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDeclarator.java
@@ -39,65 +39,67 @@ public class CASTDeclarator extends CASTNode implements IASTDeclarator {
private int pointerOpsPos=-1;
+ public CASTDeclarator() {
+ }
+
+ public CASTDeclarator(IASTName name) {
+ setName(name);
+ }
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclarator#getPointerOperators()
- */
- public IASTPointerOperator[] getPointerOperators() {
+ public CASTDeclarator(IASTName name, IASTInitializer initializer) {
+ setInitializer(initializer);
+ setName(name);
+ }
+
+ public IASTPointerOperator[] getPointerOperators() {
if( pointerOps == null ) return IASTPointerOperator.EMPTY_ARRAY;
pointerOps = (IASTPointerOperator[]) ArrayUtil.removeNullsAfter( IASTPointerOperator.class, pointerOps, pointerOpsPos );
return pointerOps;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclarator#getNestedDeclarator()
- */
public IASTDeclarator getNestedDeclarator() {
return nestedDeclarator;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclarator#getName()
- */
public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclarator#getInitializer()
- */
public IASTInitializer getInitializer() {
return initializer;
}
- /**
- * @param initializer
- */
+
public void setInitializer(IASTInitializer initializer) {
this.initializer = initializer;
+ if (initializer != null) {
+ initializer.setParent(this);
+ initializer.setPropertyInParent(INITIALIZER);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclarator#addPointerOperator(org.eclipse.cdt.core.dom.ast.IASTPointerOperator)
- */
public void addPointerOperator(IASTPointerOperator operator) {
if (operator != null) {
+ operator.setParent(this);
+ operator.setPropertyInParent(POINTER_OPERATOR);
pointerOps = (IASTPointerOperator[]) ArrayUtil.append( IASTPointerOperator.class, pointerOps, ++pointerOpsPos, operator );
}
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclarator#setNestedDeclarator(org.eclipse.cdt.core.dom.ast.IASTDeclarator)
- */
public void setNestedDeclarator(IASTDeclarator nested) {
this.nestedDeclarator = nested;
+ if (nested != null) {
+ nested.setParent(this);
+ nested.setPropertyInParent(NESTED_DECLARATOR);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclarator#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(DECLARATOR_NAME);;
+ }
}
public boolean accept( ASTVisitor action ){
@@ -147,9 +149,6 @@ public class CASTDeclarator extends CASTNode implements IASTDeclarator {
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int getRoleForName(IASTName n ) {
if( n == this.name )
{
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDesignatedInitializer.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDesignatedInitializer.java
index f04c0346d94..79a91737be2 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDesignatedInitializer.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDesignatedInitializer.java
@@ -25,18 +25,23 @@ public class CASTDesignatedInitializer extends CASTNode implements
private IASTInitializer rhs;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.ICASTDesignatedInitializer#addDesignator(org.eclipse.cdt.core.dom.ast.c.ICASTDesignator)
- */
- public void addDesignator(ICASTDesignator designator) {
+
+ public CASTDesignatedInitializer() {
+ }
+
+ public CASTDesignatedInitializer(IASTInitializer rhs) {
+ setOperandInitializer(rhs);
+ }
+
+ public void addDesignator(ICASTDesignator designator) {
if (designator != null) {
+ designator.setParent(this);
+ designator.setPropertyInParent(DESIGNATOR);
designators = (ICASTDesignator[]) ArrayUtil.append( ICASTDesignator.class, designators, ++designatorsPos, designator );
}
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.ICASTDesignatedInitializer#getDesignators()
- */
+
public ICASTDesignator[] getDesignators() {
if( designators == null ) return ICASTDesignatedInitializer.EMPTY_DESIGNATOR_ARRAY;
designators = (ICASTDesignator[]) ArrayUtil.removeNullsAfter( ICASTDesignator.class, designators, designatorsPos );
@@ -45,18 +50,19 @@ public class CASTDesignatedInitializer extends CASTNode implements
private ICASTDesignator [] designators = null;
int designatorsPos=-1;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.ICASTDesignatedInitializer#getRHSInitializer()
- */
+
+
public IASTInitializer getOperandInitializer() {
return rhs;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.ICASTDesignatedInitializer#setRHSInitializer(org.eclipse.cdt.core.dom.ast.IASTInitializer)
- */
+
public void setOperandInitializer(IASTInitializer rhs) {
this.rhs = rhs;
+ if (rhs != null) {
+ rhs.setParent(this);
+ rhs.setPropertyInParent(OPERAND);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDoStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDoStatement.java
index 0e434bc3b5d..81a24a76f39 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDoStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTDoStatement.java
@@ -26,32 +26,39 @@ public class CASTDoStatement extends CASTNode implements IASTDoStatement, IASTAm
private IASTStatement body;
private IASTExpression condition;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDoStatement#getBody()
- */
- public IASTStatement getBody() {
+
+ public CASTDoStatement() {
+ }
+
+ public CASTDoStatement(IASTStatement body, IASTExpression condition) {
+ setBody(body);
+ setCondition(condition);
+ }
+
+ public IASTStatement getBody() {
return body;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDoStatement#setBody(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
+
public void setBody(IASTStatement body) {
this.body = body;
+ if (body != null) {
+ body.setParent(this);
+ body.setPropertyInParent(BODY);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDoStatement#getCondition()
- */
+
public IASTExpression getCondition() {
return condition;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDoStatement#setCondition(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
+
public void setCondition(IASTExpression condition) {
this.condition = condition;
+ if (condition != null) {
+ condition.setParent(this);
+ condition.setPropertyInParent(CONDITION);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTElaboratedTypeSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTElaboratedTypeSpecifier.java
index a1c379688c9..e1ad5935d3c 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTElaboratedTypeSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTElaboratedTypeSpecifier.java
@@ -29,32 +29,33 @@ public class CASTElaboratedTypeSpecifier extends CASTBaseDeclSpecifier implement
private int kind;
private IASTName name;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier#getKind()
- */
- public int getKind() {
+
+ public CASTElaboratedTypeSpecifier() {
+ }
+
+ public CASTElaboratedTypeSpecifier(int kind, IASTName name) {
+ this.kind = kind;
+ this.name = name;
+ }
+
+ public int getKind() {
return kind;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier#setKind(int)
- */
public void setKind(int value) {
this.kind = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier#getName()
- */
public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(TYPE_NAME);
+ }
}
public boolean accept( ASTVisitor action ){
@@ -76,9 +77,6 @@ public class CASTElaboratedTypeSpecifier extends CASTBaseDeclSpecifier implement
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int getRoleForName(IASTName n ) {
if( n != name ) return r_unclear;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTEnumerationSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTEnumerationSpecifier.java
index d0db4f6a1ab..499bf633b53 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTEnumerationSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTEnumerationSpecifier.java
@@ -25,18 +25,23 @@ public class CASTEnumerationSpecifier extends CASTBaseDeclSpecifier implements
private IASTName name;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier#addEnumerator(org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator)
- */
- public void addEnumerator(IASTEnumerator enumerator) {
+
+ public CASTEnumerationSpecifier() {
+ }
+
+ public CASTEnumerationSpecifier(IASTName name) {
+ setName(name);
+ }
+
+ public void addEnumerator(IASTEnumerator enumerator) {
if (enumerator != null) {
+ enumerator.setParent(this);
+ enumerator.setPropertyInParent(ENUMERATOR);
enumerators = (IASTEnumerator[]) ArrayUtil.append( IASTEnumerator.class, enumerators, ++enumeratorsPos, enumerator );
}
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier#getEnumerators()
- */
+
public IASTEnumerator[] getEnumerators() {
if( enumerators == null ) return IASTEnumerator.EMPTY_ENUMERATOR_ARRAY;
enumerators = (IASTEnumerator[]) ArrayUtil.removeNullsAfter( IASTEnumerator.class, enumerators, enumeratorsPos );
@@ -46,23 +51,19 @@ public class CASTEnumerationSpecifier extends CASTBaseDeclSpecifier implements
private IASTEnumerator [] enumerators = null;
private int enumeratorsPos=-1;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
+
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(ENUMERATION_NAME);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier#getName()
- */
public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier#getRawSignature()
- */
public String getRawSignature() {
return getName().toString() == null ? "" : getName().toString(); //$NON-NLS-1$
}
@@ -90,9 +91,6 @@ public class CASTEnumerationSpecifier extends CASTBaseDeclSpecifier implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int getRoleForName(IASTName n ) {
if( this.name == n )
return r_definition;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTEnumerator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTEnumerator.java
index 47b4e2e7d0d..1472cfb86d7 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTEnumerator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTEnumerator.java
@@ -26,30 +26,35 @@ public class CASTEnumerator extends CASTNode implements IASTEnumerator, IASTAmbi
private IASTName name;
private IASTExpression value;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
- public void setName(IASTName name) {
+
+ public CASTEnumerator() {
+ }
+
+ public CASTEnumerator(IASTName name, IASTExpression value) {
+ setName(name);
+ setValue(value);
+ }
+
+ public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(ENUMERATOR_NAME);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator#getName()
- */
public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator#setValue(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setValue(IASTExpression expression) {
this.value = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(ENUMERATOR_VALUE);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator#getValue()
- */
public IASTExpression getValue() {
return value;
}
@@ -74,9 +79,7 @@ public class CASTEnumerator extends CASTNode implements IASTEnumerator, IASTAmbi
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
+
public int getRoleForName(IASTName n) {
if( n == name )return r_definition;
return r_unclear;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTExpressionList.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTExpressionList.java
index 7b1edd77c7e..ee3e07e2860 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTExpressionList.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTExpressionList.java
@@ -34,6 +34,10 @@ public class CASTExpressionList extends CASTNode implements IASTExpressionList,
public void addExpression(IASTExpression expression) {
expressions = (IASTExpression[]) ArrayUtil.append( IASTExpression.class, expressions, expression );
+ if(expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(NESTED_EXPRESSION);
+ }
}
private IASTExpression [] expressions = new IASTExpression[2];
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTExpressionStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTExpressionStatement.java
index cfbdf0ff235..d8a81110b4c 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTExpressionStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTExpressionStatement.java
@@ -25,22 +25,24 @@ public class CASTExpressionStatement extends CASTNode implements
private IASTExpression expression;
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTExpressionStatement#getExpression()
- */
- public IASTExpression getExpression() {
+
+ public CASTExpressionStatement() {
+ }
+
+ public CASTExpressionStatement(IASTExpression expression) {
+ setExpression(expression);
+ }
+
+ public IASTExpression getExpression() {
return expression;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTExpressionStatement#setExpression(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setExpression(IASTExpression expression) {
this.expression = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(EXPRESSION);
+ }
}
public boolean accept(ASTVisitor action) {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldDeclarator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldDeclarator.java
index 1fd5559647e..9540af2c0fd 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldDeclarator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldDeclarator.java
@@ -14,6 +14,7 @@ import org.eclipse.cdt.core.dom.ast.ASTVisitor;
import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator;
import org.eclipse.cdt.core.dom.ast.IASTInitializer;
+import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
@@ -25,18 +26,26 @@ public class CASTFieldDeclarator extends CASTDeclarator implements
private IASTExpression bitFieldSize;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator#getBitFieldSize()
- */
- public IASTExpression getBitFieldSize() {
+
+ public CASTFieldDeclarator() {
+ }
+
+ public CASTFieldDeclarator(IASTName name, IASTExpression bitFieldSize) {
+ super(name);
+ setBitFieldSize(bitFieldSize);
+ }
+
+ public IASTExpression getBitFieldSize() {
return bitFieldSize;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator#setBitFieldSize(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
+
public void setBitFieldSize(IASTExpression size) {
bitFieldSize = size;
+ if (size != null) {
+ size.setParent(this);
+ size.setPropertyInParent(FIELD_SIZE);
+ }
}
protected boolean postAccept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldDesignator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldDesignator.java
index bc75bc3e639..29a806208f5 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldDesignator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldDesignator.java
@@ -24,18 +24,24 @@ public class CASTFieldDesignator extends CASTNode implements
private IASTName name;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.ICASTFieldDesignator#getName()
- */
- public IASTName getName() {
+
+ public CASTFieldDesignator() {
+ }
+
+ public CASTFieldDesignator(IASTName name) {
+ setName(name);
+ }
+
+ public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.c.ICASTFieldDesignator#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(FIELD_NAME);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldReference.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldReference.java
index cbd5a8b41a9..1f41ea8eb33 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldReference.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFieldReference.java
@@ -31,12 +31,31 @@ public class CASTFieldReference extends CASTNode implements IASTFieldReference,
private IASTName name;
private boolean ptr;
- public IASTExpression getFieldOwner() {
+ public CASTFieldReference() {
+ }
+
+
+ public CASTFieldReference(IASTName name, IASTExpression owner) {
+ this(name, owner, false);
+ }
+
+
+ public CASTFieldReference(IASTName name, IASTExpression owner, boolean ptr) {
+ setFieldOwner(owner);
+ setFieldName(name);
+ this.ptr = ptr;
+ }
+
+ public IASTExpression getFieldOwner() {
return owner;
}
public void setFieldOwner(IASTExpression expression) {
this.owner = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(FIELD_OWNER);
+ }
}
public IASTName getFieldName() {
@@ -45,6 +64,10 @@ public class CASTFieldReference extends CASTNode implements IASTFieldReference,
public void setFieldName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(FIELD_NAME);
+ }
}
public boolean isPointerDereference() {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTForStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTForStatement.java
index b6a52a82003..1b66e9eb9d1 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTForStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTForStatement.java
@@ -30,52 +30,64 @@ public class CASTForStatement extends CASTNode implements IASTForStatement, IAST
private IASTStatement body, init;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTForStatement#getCondition()
- */
- public IASTExpression getConditionExpression() {
+ public CASTForStatement() {
+ }
+
+ public CASTForStatement(IASTStatement init, IASTExpression condition,
+ IASTExpression iterationExpression, IASTStatement body) {
+ setInitializerStatement(init);
+ setConditionExpression(condition);
+ setIterationExpression(iterationExpression);
+ setBody(body);
+ }
+
+ public IASTExpression getConditionExpression() {
return condition;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTForStatement#setCondition(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setConditionExpression(IASTExpression condition) {
this.condition = condition;
+ if (condition != null) {
+ condition.setParent(this);
+ condition.setPropertyInParent(CONDITION);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTForStatement#getIterationExpression()
- */
public IASTExpression getIterationExpression() {
return iterationExpression;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTForStatement#setIterationExpression(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setIterationExpression(IASTExpression iterator) {
this.iterationExpression = iterator;
+ if (iterator != null) {
+ iterator.setParent(this);
+ iterator.setPropertyInParent(ITERATION);
+ }
+ }
+
+ public IASTStatement getInitializerStatement() {
+ return init;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTForStatement#getBody()
- */
+ public void setInitializerStatement(IASTStatement statement) {
+ init = statement;
+ if (statement != null) {
+ statement.setParent(this);
+ statement.setPropertyInParent(INITIALIZER);
+ }
+ }
public IASTStatement getBody() {
return body;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTForStatement#setBody(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
public void setBody(IASTStatement statement) {
body = statement;
-
+ if (statement != null) {
+ statement.setParent(this);
+ statement.setPropertyInParent(BODY);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTForStatement#getScope()
- */
public IScope getScope() {
if( scope == null )
scope = new CScope( this );
@@ -133,14 +145,4 @@ public class CASTForStatement extends CASTNode implements IASTForStatement, IAST
}
}
-
- public IASTStatement getInitializerStatement() {
- return init;
- }
-
- public void setInitializerStatement(IASTStatement statement) {
- init = statement;
- }
-
-
-}
+}
\ No newline at end of file
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionCallExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionCallExpression.java
index c4925908cd6..07202b16073 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionCallExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionCallExpression.java
@@ -27,8 +27,21 @@ public class CASTFunctionCallExpression extends CASTNode implements
private IASTExpression functionName;
private IASTExpression parameter;
- public void setFunctionNameExpression(IASTExpression expression) {
+
+ public CASTFunctionCallExpression() {
+ }
+
+ public CASTFunctionCallExpression(IASTExpression functionName, IASTExpression parameter) {
+ setFunctionNameExpression(functionName);
+ setParameterExpression(parameter);
+ }
+
+ public void setFunctionNameExpression(IASTExpression expression) {
this.functionName = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(FUNCTION_NAME);
+ }
}
public IASTExpression getFunctionNameExpression() {
@@ -37,6 +50,10 @@ public class CASTFunctionCallExpression extends CASTNode implements
public void setParameterExpression(IASTExpression expression) {
this.parameter = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(PARAMETERS);
+ }
}
public IASTExpression getParameterExpression() {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionDeclarator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionDeclarator.java
index b462b654665..382a994c93f 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionDeclarator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionDeclarator.java
@@ -12,6 +12,7 @@
package org.eclipse.cdt.internal.core.dom.parser.c;
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
+import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator;
import org.eclipse.cdt.core.parser.util.ArrayUtil;
@@ -19,8 +20,7 @@ import org.eclipse.cdt.core.parser.util.ArrayUtil;
/**
* @author jcamelon
*/
-public class CASTFunctionDeclarator extends CASTDeclarator implements
- IASTStandardFunctionDeclarator {
+public class CASTFunctionDeclarator extends CASTDeclarator implements IASTStandardFunctionDeclarator {
private IASTParameterDeclaration [] parameters = null;
private int parametersPos=-1;
@@ -28,34 +28,31 @@ public class CASTFunctionDeclarator extends CASTDeclarator implements
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator#getParameters()
- */
- public IASTParameterDeclaration[] getParameters() {
+ public CASTFunctionDeclarator() {
+ }
+
+ public CASTFunctionDeclarator(IASTName name) {
+ super(name);
+ }
+
+ public IASTParameterDeclaration[] getParameters() {
if( parameters == null ) return IASTParameterDeclaration.EMPTY_PARAMETERDECLARATION_ARRAY;
parameters = (IASTParameterDeclaration[]) ArrayUtil.removeNullsAfter( IASTParameterDeclaration.class, parameters, parametersPos );
return parameters;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator#addParameterDeclaration(org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration)
- */
public void addParameterDeclaration(IASTParameterDeclaration parameter) {
if (parameter != null) {
+ parameter.setParent(this);
+ parameter.setPropertyInParent(FUNCTION_PARAMETER);
parameters = (IASTParameterDeclaration[]) ArrayUtil.append( IASTParameterDeclaration.class, parameters, ++parametersPos, parameter );
}
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator#takesVarArgs()
- */
public boolean takesVarArgs() {
return varArgs;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator#setVarArgs(boolean)
- */
public void setVarArgs(boolean value) {
varArgs = value;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionDefinition.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionDefinition.java
index 3a9d1e411c5..ca8df71d10d 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionDefinition.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTFunctionDefinition.java
@@ -31,51 +31,53 @@ public class CASTFunctionDefinition extends CASTNode implements
private IASTStatement bodyStatement;
private ICFunctionScope scope;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition#getDeclSpecifier()
- */
- public IASTDeclSpecifier getDeclSpecifier() {
+
+ public CASTFunctionDefinition() {
+ }
+
+ public CASTFunctionDefinition(IASTDeclSpecifier declSpecifier,
+ IASTFunctionDeclarator declarator, IASTStatement bodyStatement) {
+ setDeclSpecifier(declSpecifier);
+ setDeclarator(declarator);
+ setBody(bodyStatement);
+ }
+
+ public IASTDeclSpecifier getDeclSpecifier() {
return declSpecifier;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition#setDeclSpecifier(org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier)
- */
public void setDeclSpecifier(IASTDeclSpecifier declSpec) {
declSpecifier = declSpec;
+ if (declSpec != null) {
+ declSpec.setParent(this);
+ declSpec.setPropertyInParent(DECL_SPECIFIER);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition#getDeclarator()
- */
public IASTFunctionDeclarator getDeclarator() {
return declarator;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition#setDeclarator(org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator)
- */
public void setDeclarator(IASTFunctionDeclarator declarator) {
this.declarator = declarator;
+ if (declarator != null) {
+ declarator.setParent(this);
+ declarator.setPropertyInParent(DECLARATOR);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition#getBody()
- */
public IASTStatement getBody() {
return bodyStatement;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition#setBody(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
public void setBody(IASTStatement statement) {
bodyStatement = statement;
+ if (statement != null) {
+ statement.setParent(this);
+ statement.setPropertyInParent(FUNCTION_BODY);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition#getScope()
- */
public IScope getScope() {
if( scope == null )
scope = new CFunctionScope( this );
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTGotoStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTGotoStatement.java
index f6c1b6e7031..b94756f8b61 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTGotoStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTGotoStatement.java
@@ -22,18 +22,23 @@ public class CASTGotoStatement extends CASTNode implements IASTGotoStatement {
private IASTName name;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTGotoStatement#getName()
- */
- public IASTName getName() {
+ public CASTGotoStatement() {
+ }
+
+ public CASTGotoStatement(IASTName name) {
+ setName(name);
+ }
+
+ public IASTName getName() {
return this.name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTGotoStatement#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(NAME);
+ }
}
public boolean accept( ASTVisitor action ){
@@ -56,9 +61,6 @@ public class CASTGotoStatement extends CASTNode implements IASTGotoStatement {
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int getRoleForName(IASTName n) {
if( n == name ) return r_reference;
return r_unclear;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTIdExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTIdExpression.java
index 32c955d31fc..ef4c2f48a4d 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTIdExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTIdExpression.java
@@ -26,12 +26,24 @@ public class CASTIdExpression extends CASTNode implements IASTIdExpression, IAST
private IASTName name;
- public IASTName getName() {
+
+ public CASTIdExpression() {
+ }
+
+ public CASTIdExpression(IASTName name) {
+ setName(name);
+ }
+
+ public IASTName getName() {
return name;
}
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(ID_NAME);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTIfStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTIfStatement.java
index 3a711c7f9a9..a41aa7e2a58 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTIfStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTIfStatement.java
@@ -27,46 +27,56 @@ public class CASTIfStatement extends CASTNode implements IASTIfStatement, IASTAm
private IASTStatement thenClause;
private IASTStatement elseClause;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTIfStatement#getCondition()
- */
- public IASTExpression getConditionExpression() {
+
+
+ public CASTIfStatement() {
+ }
+
+ public CASTIfStatement(IASTExpression condition, IASTStatement thenClause) {
+ setConditionExpression(condition);
+ setThenClause(thenClause);
+ }
+
+
+ public CASTIfStatement(IASTExpression condition, IASTStatement thenClause, IASTStatement elseClause) {
+ this(condition, thenClause);
+ setElseClause(elseClause);
+ }
+
+ public IASTExpression getConditionExpression() {
return condition;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTIfStatement#setCondition(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setConditionExpression(IASTExpression condition) {
this.condition = condition;
+ if (condition != null) {
+ condition.setParent(this);
+ condition.setPropertyInParent(CONDITION);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTIfStatement#getThenClause()
- */
public IASTStatement getThenClause() {
return thenClause;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTIfStatement#setThenClause(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
public void setThenClause(IASTStatement thenClause) {
this.thenClause = thenClause;
+ if (thenClause != null) {
+ thenClause.setParent(this);
+ thenClause.setPropertyInParent(THEN);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTIfStatement#getElseClause()
- */
public IASTStatement getElseClause() {
return elseClause;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTIfStatement#setElseClause(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
public void setElseClause(IASTStatement elseClause) {
this.elseClause = elseClause;
+ if (elseClause != null) {
+ elseClause.setParent(this);
+ elseClause.setPropertyInParent(ELSE);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTInitializerExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTInitializerExpression.java
index e79caa5973c..ee05f49fba1 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTInitializerExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTInitializerExpression.java
@@ -25,18 +25,24 @@ public class CASTInitializerExpression extends CASTNode implements
private IASTExpression expression;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTInitializerExpression#getExpression()
- */
- public IASTExpression getExpression() {
+
+ public CASTInitializerExpression() {
+ }
+
+ public CASTInitializerExpression(IASTExpression expression) {
+ setExpression(expression);
+ }
+
+ public IASTExpression getExpression() {
return expression;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTInitializerExpression#setExpression(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setExpression(IASTExpression expression) {
this.expression = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(INITIALIZER_EXPRESSION);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTInitializerList.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTInitializerList.java
index 9e836fae4dc..cb44871da88 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTInitializerList.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTInitializerList.java
@@ -24,19 +24,17 @@ public class CASTInitializerList extends CASTNode implements
IASTInitializerList {
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration#getDeclarators()
- */
public IASTInitializer[] getInitializers() {
if( initializers == null ) return IASTInitializer.EMPTY_INITIALIZER_ARRAY;
initializers = (IASTInitializer[]) ArrayUtil.removeNullsAfter( IASTInitializer.class, initializers, initializersPos );
return initializers;
}
- public void addInitializer( IASTInitializer d )
- {
+ public void addInitializer( IASTInitializer d ) {
if (d != null) {
- initializers = (IASTInitializer[]) ArrayUtil.append( IASTInitializer.class, initializers, ++initializersPos, d );
+ initializers = (IASTInitializer[]) ArrayUtil.append( IASTInitializer.class, initializers, ++initializersPos, d );
+ d.setParent(this);
+ d.setPropertyInParent(NESTED_INITIALIZER);
}
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTKnRFunctionDeclarator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTKnRFunctionDeclarator.java
index 4fd465d1bff..8b3e098cf82 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTKnRFunctionDeclarator.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CASTKnRFunctionDeclarator.java
@@ -28,30 +28,45 @@ public class CASTKnRFunctionDeclarator extends CASTDeclarator implements ICASTKn
IASTName[] parameterNames = IASTName.EMPTY_NAME_ARRAY;
IASTDeclaration[] parameterDeclarations = IASTDeclaration.EMPTY_DECLARATION_ARRAY;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.c.ICASTKnRFunctionDeclarator#setParameterNames(org.eclipse.cdt.core.dom.ast.IASTName[])
- */
- public void setParameterNames(IASTName[] names) {
- parameterNames = names;
+
+ public CASTKnRFunctionDeclarator() {
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.c.ICASTKnRFunctionDeclarator#getParameterNames()
- */
+ public CASTKnRFunctionDeclarator(IASTName[] parameterNames, IASTDeclaration[] parameterDeclarations) {
+ setParameterNames(parameterNames);
+ setParameterDeclarations(parameterDeclarations);
+ }
+
+
+ public void setParameterNames(IASTName[] names) {
+ parameterNames = names;
+ for(int i = 0; i < names.length; i++) {
+ IASTName name = names[i];
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(PARAMETER_NAME);
+ }
+ }
+ }
+
+
public IASTName[] getParameterNames() {
return parameterNames;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.c.ICASTKnRFunctionDeclarator#setParameterDeclarations(org.eclipse.cdt.core.dom.ast.IASTDeclaration[])
- */
+
public void setParameterDeclarations(IASTDeclaration[] decls) {
parameterDeclarations = decls;
+ for(int i = 0; i < parameterDeclarations.length; i++) {
+ IASTDeclaration decl = parameterDeclarations[i];
+ if (decl != null) {
+ decl.setParent(this);
+ decl.setPropertyInParent(FUNCTION_PARAMETER);
+ }
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.c.ICASTKnRFunctionDeclarator#getParameterDeclarations()
- */
+
public IASTDeclaration[] getParameterDeclarations() {
return parameterDeclarations;
}
@@ -70,9 +85,6 @@ public class CASTKnRFunctionDeclarator extends CASTDeclarator implements ICASTKn
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.c.ICASTKnRFunctionDeclarator#getDeclaratorForParameterName()
- */
public IASTDeclarator getDeclaratorForParameterName(IASTName name) {
boolean found=false;
for(int i=0; i MAX_RESOLUTION_DEPTH) {
@@ -124,11 +113,6 @@ public class CPPASTName extends CPPASTNode implements IASTName, IASTCompletionCo
return binding;
}
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
public String toString() {
if (name == EMPTY_CHAR_ARRAY)
return EMPTY_STRING;
@@ -169,11 +153,6 @@ public class CPPASTName extends CPPASTNode implements IASTName, IASTCompletionCo
return true;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTName#isDeclaration()
- */
public boolean isDeclaration() {
IASTNode parent = getParent();
if (parent instanceof IASTNameOwner) {
@@ -189,11 +168,6 @@ public class CPPASTName extends CPPASTNode implements IASTName, IASTCompletionCo
return false;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTName#isReference()
- */
public boolean isReference() {
IASTNode parent = getParent();
if (parent instanceof IASTNameOwner) {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamedTypeSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamedTypeSpecifier.java
index 4de833edc07..fb63cfb0aff 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamedTypeSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamedTypeSpecifier.java
@@ -34,32 +34,34 @@ public class CPPASTNamedTypeSpecifier extends CPPASTBaseDeclSpecifier implements
private boolean typename;
private IASTName name;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamedTypeSpecifier#isTypename()
- */
- public boolean isTypename() {
+
+ public CPPASTNamedTypeSpecifier() {
+ }
+
+ public CPPASTNamedTypeSpecifier(boolean typename, IASTName name) {
+ this.typename = typename;
+ this.name = name;
+ }
+
+ public boolean isTypename() {
return typename;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamedTypeSpecifier#setIsTypename(boolean)
- */
public void setIsTypename(boolean value) {
typename = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNamedTypeSpecifier#getName()
- */
public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNamedTypeSpecifier#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
+
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(NAME);
+ }
}
public boolean accept( ASTVisitor action ){
@@ -82,9 +84,6 @@ public class CPPASTNamedTypeSpecifier extends CPPASTBaseDeclSpecifier implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int getRoleForName(IASTName n) {
if( n == name )
return r_reference;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamespaceAlias.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamespaceAlias.java
index 34c22d2c93d..7caf006fb59 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamespaceAlias.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamespaceAlias.java
@@ -17,38 +17,34 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceAlias;
/**
* @author jcamelon
*/
-public class CPPASTNamespaceAlias extends CPPASTNode implements
- ICPPASTNamespaceAlias {
+public class CPPASTNamespaceAlias extends CPPASTNode implements ICPPASTNamespaceAlias {
private IASTName alias;
private IASTName qualifiedName;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceAlias#getAlias()
- */
+
public IASTName getAlias() {
return alias;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceAlias#setAlias(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setAlias(IASTName name) {
this.alias = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(ALIAS_NAME);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceAlias#getQualifiedName()
- */
public IASTName getMappingName() {
return qualifiedName;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceAlias#setQualifiedName(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName)
- */
public void setMappingName(IASTName qualifiedName) {
this.qualifiedName = qualifiedName;
+ if (qualifiedName != null) {
+ qualifiedName.setParent(this);
+ qualifiedName.setPropertyInParent(MAPPING_NAME);
+ }
}
public boolean accept( ASTVisitor action ){
@@ -73,13 +69,9 @@ public class CPPASTNamespaceAlias extends CPPASTNode implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int getRoleForName(IASTName n) {
if( alias == n ) return r_definition;
if( qualifiedName == n ) return r_reference;
return r_unclear;
}
-
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamespaceDefinition.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamespaceDefinition.java
index 8acb0eb766c..69e7deffa86 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamespaceDefinition.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNamespaceDefinition.java
@@ -30,41 +30,42 @@ public class CPPASTNamespaceDefinition extends CPPASTNode implements
ICPPASTNamespaceDefinition, IASTAmbiguityParent {
private IASTName name;
+
+ public CPPASTNamespaceDefinition() {
+ }
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition#getName()
- */
- public IASTName getName() {
+ public CPPASTNamespaceDefinition(IASTName name) {
+ setName(name);
+ }
+
+ public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(NAMESPACE_NAME);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition#getDeclarations()
- */
public IASTDeclaration [] getDeclarations() {
if( declarations == null ) return IASTDeclaration.EMPTY_DECLARATION_ARRAY;
return (IASTDeclaration[]) ArrayUtil.trim( IASTDeclaration.class, declarations );
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition#addDeclaration(org.eclipse.cdt.core.dom.ast.IASTDeclaration)
- */
public void addDeclaration(IASTDeclaration declaration) {
declarations = (IASTDeclaration[]) ArrayUtil.append( IASTDeclaration.class, declarations, declaration );
+ if(declaration != null) {
+ declaration.setParent(this);
+ declaration.setPropertyInParent(OWNED_DECLARATION);
+ }
}
private IASTDeclaration [] declarations = new IASTDeclaration[32];
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition#getScope()
- */
- public IScope getScope() {
+
+ public IScope getScope() {
try {
return ((ICPPNamespace) name.resolveBinding()).getNamespaceScope();
} catch ( DOMException e ) {
@@ -99,9 +100,6 @@ public class CPPASTNamespaceDefinition extends CPPASTNode implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int getRoleForName(IASTName n) {
if( name == n ) return r_definition;
return r_unclear;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNewExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNewExpression.java
index 8c2e17a59cb..74a4042b371 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNewExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNewExpression.java
@@ -31,7 +31,18 @@ public class CPPASTNewExpression extends CPPASTNode implements
private IASTTypeId typeId;
private boolean isNewTypeId;
- public boolean isGlobal() {
+
+ public CPPASTNewExpression() {
+ }
+
+ public CPPASTNewExpression(IASTExpression placement,
+ IASTExpression initializer, IASTTypeId typeId) {
+ setNewPlacement(placement);
+ setNewInitializer(initializer);
+ setTypeId(typeId);
+ }
+
+ public boolean isGlobal() {
return global;
}
@@ -45,6 +56,10 @@ public class CPPASTNewExpression extends CPPASTNode implements
public void setNewPlacement(IASTExpression expression) {
placement = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(NEW_PLACEMENT);
+ }
}
public IASTExpression getNewInitializer() {
@@ -53,6 +68,10 @@ public class CPPASTNewExpression extends CPPASTNode implements
public void setNewInitializer(IASTExpression expression) {
initializer = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(NEW_INITIALIZER);
+ }
}
public IASTTypeId getTypeId() {
@@ -61,6 +80,10 @@ public class CPPASTNewExpression extends CPPASTNode implements
public void setTypeId(IASTTypeId typeId) {
this.typeId = typeId;
+ if (typeId != null) {
+ typeId.setParent(this);
+ typeId.setPropertyInParent(TYPE_ID);
+ }
}
public boolean isNewTypeId() {
@@ -78,6 +101,10 @@ public class CPPASTNewExpression extends CPPASTNode implements
public void addNewTypeIdArrayExpression(IASTExpression expression) {
arrayExpressions = (IASTExpression[]) ArrayUtil.append( IASTExpression.class, arrayExpressions, expression );
+ if(expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(NEW_TYPEID_ARRAY_EXPRESSION);
+ }
}
private IASTExpression [] arrayExpressions = null;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNullStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNullStatement.java
index 24d8ee4b1f2..3292f3bb8e0 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNullStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTNullStatement.java
@@ -16,8 +16,8 @@ import org.eclipse.cdt.core.dom.ast.IASTNullStatement;
/**
* @author jcamelon
*/
-public class CPPASTNullStatement extends CPPASTNode implements
- IASTNullStatement {
+public class CPPASTNullStatement extends CPPASTNode implements IASTNullStatement {
+
public boolean accept( ASTVisitor action ){
if( action.shouldVisitStatements ){
switch( action.visit( this ) ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTParameterDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTParameterDeclaration.java
index db6dc17aced..824c108e8ea 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTParameterDeclaration.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTParameterDeclaration.java
@@ -18,38 +18,42 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTParameterDeclaration;
/**
* @author jcamelon
*/
-public class CPPASTParameterDeclaration extends CPPASTNode implements
- ICPPASTParameterDeclaration {
+public class CPPASTParameterDeclaration extends CPPASTNode implements ICPPASTParameterDeclaration {
private IASTDeclSpecifier declSpec;
private IASTDeclarator declarator;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration#getDeclSpecifier()
- */
- public IASTDeclSpecifier getDeclSpecifier() {
+
+ public CPPASTParameterDeclaration() {
+ }
+
+ public CPPASTParameterDeclaration(IASTDeclSpecifier declSpec, IASTDeclarator declarator) {
+ setDeclSpecifier(declSpec);
+ setDeclarator(declarator);
+ }
+
+ public IASTDeclSpecifier getDeclSpecifier() {
return declSpec;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration#getDeclarator()
- */
public IASTDeclarator getDeclarator() {
return declarator;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration#setDeclSpecifier(org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier)
- */
public void setDeclSpecifier(IASTDeclSpecifier declSpec) {
this.declSpec = declSpec;
+ if (declSpec != null) {
+ declSpec.setParent(this);
+ declSpec.setPropertyInParent(DECL_SPECIFIER);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration#setDeclarator(org.eclipse.cdt.core.dom.ast.IASTDeclarator)
- */
public void setDeclarator(IASTDeclarator declarator) {
this.declarator = declarator;
+ if (declarator != null) {
+ declarator.setParent(this);
+ declarator.setPropertyInParent(DECLARATOR);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPointer.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPointer.java
index f635a9da1c8..e78500fb26d 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPointer.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPointer.java
@@ -22,38 +22,18 @@ public class CPPASTPointer extends CPPASTNode implements IASTPointer {
private boolean isVolatile;
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTPointer#isConst()
- */
public boolean isConst() {
return isConst;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTPointer#isVolatile()
- */
public boolean isVolatile() {
return isVolatile;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTPointer#setConst(boolean)
- */
public void setConst(boolean value) {
isConst = value;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTPointer#setVolatile(boolean)
- */
public void setVolatile(boolean value) {
isVolatile = value;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPointerToMember.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPointerToMember.java
index e979d77ff16..93987429976 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPointerToMember.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPointerToMember.java
@@ -22,16 +22,22 @@ public class CPPASTPointerToMember extends CPPASTPointer implements
private IASTName n;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTPointerToMember#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
- public void setName(IASTName name) {
+ public CPPASTPointerToMember() {
+ }
+
+ public CPPASTPointerToMember(IASTName n) {
+ setName(n);
+ }
+
+ public void setName(IASTName name) {
n = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(NAME);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTPointerToMember#getName()
- */
+
public IASTName getName() {
return n;
}
@@ -41,9 +47,7 @@ public class CPPASTPointerToMember extends CPPASTPointer implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
+
public int getRoleForName(IASTName name ) {
if( name == this.n )
return r_reference;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblem.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblem.java
index 48c18dc5e60..757a9e7ade6 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblem.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblem.java
@@ -15,7 +15,6 @@ import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Map;
-import org.eclipse.cdt.core.dom.ast.ASTNodeProperty;
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
import org.eclipse.cdt.core.dom.ast.IASTNode;
@@ -27,56 +26,14 @@ import org.eclipse.cdt.internal.core.parser.ParserMessages;
* @author jcamelon
*/
public class CPPASTProblem extends CPPASTNode implements IASTProblem {
- private IASTNode parent;
-
- private ASTNodeProperty property;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTNode#getParent()
- */
- public IASTNode getParent() {
- return parent;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTNode#setParent(org.eclipse.cdt.core.dom.ast.IASTNode)
- */
- public void setParent(IASTNode node) {
- this.parent = node;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTNode#getPropertyInParent()
- */
- public ASTNodeProperty getPropertyInParent() {
- return property;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTNode#setPropertyInParent(org.eclipse.cdt.core.dom.ast.ASTNodeProperty)
- */
- public void setPropertyInParent(ASTNodeProperty property) {
- this.property = property;
- }
-
+
private final char[] arg;
-
private final int id;
-
private final boolean isError;
-
private final boolean isWarning;
-
private String message = null;
+
public CPPASTProblem(int id, char[] arg, boolean warn, boolean error) {
this.id = id;
this.arg = arg;
@@ -84,29 +41,15 @@ public class CPPASTProblem extends CPPASTNode implements IASTProblem {
this.isError = error;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.parser.IASTProblem#getID()
- */
+
public int getID() {
return id;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.parser.IASTProblem#isError()
- */
public boolean isError() {
return isError;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.parser.IASTProblem#isWarning()
- */
public boolean isWarning() {
return isWarning;
}
@@ -290,29 +233,15 @@ public class CPPASTProblem extends CPPASTNode implements IASTProblem {
return message;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.parser.IASTProblem#checkCategory(int)
- */
+
public boolean checkCategory(int bitmask) {
return ((id & bitmask) != 0);
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.parser.IASTProblem#getArguments()
- */
public String getArguments() {
return arg != null ? String.valueOf(arg) : ""; //$NON-NLS-1$
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTNode#getTranslationUnit()
- */
public IASTTranslationUnit getTranslationUnit() {
if (this instanceof IASTTranslationUnit)
return (IASTTranslationUnit) this;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemOwner.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemOwner.java
index abdbe159db0..552080ea0d5 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemOwner.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemOwner.java
@@ -11,21 +11,32 @@
package org.eclipse.cdt.internal.core.dom.parser.cpp;
import org.eclipse.cdt.core.dom.ast.IASTProblem;
+import org.eclipse.cdt.core.dom.ast.IASTProblemHolder;
/**
* @author jcamelon
*/
-abstract class CPPASTProblemOwner extends CPPASTNode {
+abstract class CPPASTProblemOwner extends CPPASTNode implements IASTProblemHolder {
private IASTProblem problem;
- public IASTProblem getProblem()
- {
+
+ public CPPASTProblemOwner() {
+ }
+
+ public CPPASTProblemOwner(IASTProblem problem) {
+ setProblem(problem);
+ }
+
+ public IASTProblem getProblem() {
return problem;
}
- public void setProblem(IASTProblem p)
- {
+ public void setProblem(IASTProblem p) {
problem = p;
+ if (p != null) {
+ p.setParent(this);
+ p.setPropertyInParent(PROBLEM);
+ }
}
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemTypeId.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemTypeId.java
index 94b137def93..c293a2896f7 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemTypeId.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemTypeId.java
@@ -16,23 +16,28 @@ import org.eclipse.cdt.core.dom.ast.IASTProblemTypeId;
/**
* @author jcamelon
*/
-public class CPPASTProblemTypeId extends CPPASTTypeId implements
- IASTProblemTypeId {
+public class CPPASTProblemTypeId extends CPPASTTypeId implements IASTProblemTypeId {
- private IASTProblem problem;
+ private IASTProblem problem;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTProblemTypeId#getProblem()
- */
- public IASTProblem getProblem() {
+
+ public CPPASTProblemTypeId() {
+ }
+
+ public CPPASTProblemTypeId(IASTProblem problem) {
+ setProblem(problem);
+ }
+
+ public IASTProblem getProblem() {
return problem;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTProblemTypeId#setProblem(org.eclipse.cdt.core.dom.ast.IASTProblem)
- */
+
public void setProblem(IASTProblem p) {
problem = p;
+ if (p != null) {
+ p.setParent(this);
+ p.setPropertyInParent(PROBLEM);
+ }
}
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java
index d24556a7626..00716bbd0cc 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java
@@ -40,17 +40,10 @@ import org.eclipse.cdt.core.parser.util.CharArrayUtils;
public class CPPASTQualifiedName extends CPPASTNode implements
ICPPASTQualifiedName, IASTCompletionContext {
- /**
- * @param duple
- */
+
public CPPASTQualifiedName() {
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTName#resolveBinding()
- */
public IBinding resolveBinding() {
// The full qualified name resolves to the same thing as the last name
removeNullNames();
@@ -70,31 +63,22 @@ public class CPPASTQualifiedName extends CPPASTNode implements
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
+
public String toString() {
if (signature == null)
return ""; //$NON-NLS-1$
return signature;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName#addName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void addName(IASTName name) {
if (name != null) {
names = (IASTName[]) ArrayUtil.append( IASTName.class, names, ++namesPos, name );
+ name.setParent(this);
+ name.setPropertyInParent(SEGMENT_NAME);
}
}
- /**
- * @param decls2
- */
+
private void removeNullNames() {
names = (IASTName[]) ArrayUtil.removeNullsAfter( IASTName.class, names, namesPos );
}
@@ -104,11 +88,7 @@ public class CPPASTQualifiedName extends CPPASTNode implements
private boolean value;
private String signature;
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName#getNames()
- */
+
public IASTName[] getNames() {
if (names == null)
return IASTName.EMPTY_NAME_ARRAY;
@@ -123,11 +103,6 @@ public class CPPASTQualifiedName extends CPPASTNode implements
return names[names.length - 1];
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTName#toCharArray()
- */
public char[] toCharArray() {
if (names == null)
return "".toCharArray(); //$NON-NLS-1$
@@ -158,27 +133,15 @@ public class CPPASTQualifiedName extends CPPASTNode implements
return nameArray;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName#isFullyQualified()
- */
public boolean isFullyQualified() {
return value;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName#setFullyQualified(boolean)
- */
public void setFullyQualified(boolean value) {
this.value = value;
}
- /**
- * @param string
- */
+
public void setValue(String string) {
this.signature = string;
@@ -219,9 +182,7 @@ public class CPPASTQualifiedName extends CPPASTNode implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#isDeclaration()
- */
+
public boolean isDeclaration() {
IASTNode parent = getParent();
if (parent instanceof IASTNameOwner) {
@@ -232,9 +193,6 @@ public class CPPASTQualifiedName extends CPPASTNode implements
return false;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#isReference()
- */
public boolean isReference() {
IASTNode parent = getParent();
if (parent instanceof IASTNameOwner) {
@@ -245,9 +203,6 @@ public class CPPASTQualifiedName extends CPPASTNode implements
return false;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int getRoleForName(IASTName n) {
IASTName [] namez = getNames();
for( int i = 0; i < names.length; ++i )
@@ -263,25 +218,16 @@ public class CPPASTQualifiedName extends CPPASTNode implements
return r_unclear;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#getBinding()
- */
public IBinding getBinding() {
removeNullNames();
return names[names.length - 1].getBinding();
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#setBinding(org.eclipse.cdt.core.dom.ast.IBinding)
- */
public void setBinding(IBinding binding) {
removeNullNames();
names[names.length - 1].setBinding( binding );
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName#isConversionOrOperator()
- */
public boolean isConversionOrOperator() {
IASTName[] nonNullNames = getNames(); // ensure no null names
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTReturnStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTReturnStatement.java
index 315663820dc..5ae45b1ea47 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTReturnStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTReturnStatement.java
@@ -19,26 +19,27 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
/**
* @author jcamelon
*/
-public class CPPASTReturnStatement extends CPPASTNode implements
- IASTReturnStatement, IASTAmbiguityParent {
- private IASTExpression retValue;
+public class CPPASTReturnStatement extends CPPASTNode implements IASTReturnStatement, IASTAmbiguityParent {
+
+ private IASTExpression retValue;
+
+ public CPPASTReturnStatement() {
+ }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTReturnStatement#getReturnValue()
- */
- public IASTExpression getReturnValue() {
+ public CPPASTReturnStatement(IASTExpression retValue) {
+ setReturnValue(retValue);
+ }
+
+ public IASTExpression getReturnValue() {
return retValue;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTReturnStatement#setReturnValue(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setReturnValue(IASTExpression returnValue) {
retValue = returnValue;
+ if (returnValue != null) {
+ returnValue.setParent(this);
+ returnValue.setPropertyInParent(RETURNVALUE);
+ }
}
public boolean accept(ASTVisitor action) {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleDeclSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleDeclSpecifier.java
index 1f7ef7c6a70..c21bd7714ee 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleDeclSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleDeclSpecifier.java
@@ -25,72 +25,42 @@ public class CPPASTSimpleDeclSpecifier extends CPPASTBaseDeclSpecifier
private boolean isShort;
private boolean isLong;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#getType()
- */
public int getType() {
return type;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#setType(int)
- */
public void setType(int type) {
this.type = type;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#isSigned()
- */
public boolean isSigned() {
return isSigned;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#isUnsigned()
- */
public boolean isUnsigned() {
return isUnsigned;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#isShort()
- */
public boolean isShort() {
return isShort;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#isLong()
- */
public boolean isLong() {
return isLong;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#setSigned(boolean)
- */
public void setSigned(boolean value) {
isSigned = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#setUnsigned(boolean)
- */
public void setUnsigned(boolean value) {
isUnsigned = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#setLong(boolean)
- */
public void setLong(boolean value) {
isLong = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier#setShort(boolean)
- */
public void setShort(boolean value) {
isShort = value;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleDeclaration.java
index df73ba13f75..746ed987330 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleDeclaration.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleDeclaration.java
@@ -20,31 +20,30 @@ import org.eclipse.cdt.core.parser.util.ArrayUtil;
/**
* @author jcamelon
*/
-public class CPPASTSimpleDeclaration extends CPPASTNode implements
- IASTSimpleDeclaration {
+public class CPPASTSimpleDeclaration extends CPPASTNode implements IASTSimpleDeclaration {
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration#getDeclSpecifier()
- */
- public IASTDeclSpecifier getDeclSpecifier() {
+ public CPPASTSimpleDeclaration() {
+ }
+
+ public CPPASTSimpleDeclaration(IASTDeclSpecifier declSpecifier) {
+ setDeclSpecifier(declSpecifier);
+ }
+
+ public IASTDeclSpecifier getDeclSpecifier() {
return declSpecifier;
}
-
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration#getDeclarators()
- */
public IASTDeclarator[] getDeclarators() {
if( declarators == null ) return IASTDeclarator.EMPTY_DECLARATOR_ARRAY;
declarators = (IASTDeclarator[]) ArrayUtil.removeNullsAfter( IASTDeclarator.class, declarators, declaratorsPos );
return declarators;
}
- public void addDeclarator( IASTDeclarator d )
- {
+ public void addDeclarator( IASTDeclarator d ) {
if (d != null) {
declarators = (IASTDeclarator[]) ArrayUtil.append( IASTDeclarator.class, declarators, ++declaratorsPos, d );
+ d.setParent(this);
+ d.setPropertyInParent(DECLARATOR);
}
}
@@ -57,6 +56,10 @@ public class CPPASTSimpleDeclaration extends CPPASTNode implements
*/
public void setDeclSpecifier(IASTDeclSpecifier declSpecifier) {
this.declSpecifier = declSpecifier;
+ if (declSpecifier != null) {
+ declSpecifier.setParent(this);
+ declSpecifier.setPropertyInParent(DECL_SPECIFIER);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleTypeConstructorExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleTypeConstructorExpression.java
index c10def49039..f72cdfb58ac 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleTypeConstructorExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleTypeConstructorExpression.java
@@ -26,7 +26,15 @@ public class CPPASTSimpleTypeConstructorExpression extends CPPASTNode implements
private int st;
private IASTExpression init;
- public int getSimpleType() {
+ public CPPASTSimpleTypeConstructorExpression() {
+ }
+
+ public CPPASTSimpleTypeConstructorExpression(int st, IASTExpression init) {
+ this.st = st;
+ setInitialValue(init);
+ }
+
+ public int getSimpleType() {
return st;
}
@@ -40,6 +48,10 @@ public class CPPASTSimpleTypeConstructorExpression extends CPPASTNode implements
public void setInitialValue(IASTExpression expression) {
init = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(INITIALIZER_VALUE);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleTypeTemplateParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleTypeTemplateParameter.java
index 2ade960fb5d..a2546480161 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleTypeTemplateParameter.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSimpleTypeTemplateParameter.java
@@ -26,47 +26,48 @@ public class CPPASTSimpleTypeTemplateParameter extends CPPASTNode implements
private IASTName name;
private IASTTypeId typeId;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter#getParameterType()
- */
- public int getParameterType() {
+
+ public CPPASTSimpleTypeTemplateParameter() {
+ }
+
+ public CPPASTSimpleTypeTemplateParameter(int type, IASTName name, IASTTypeId typeId) {
+ this.type = type;
+ setName(name);
+ setDefaultType(typeId);
+ }
+
+ public int getParameterType() {
return type;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter#setParameterType(int)
- */
public void setParameterType(int value) {
this.type = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter#getName()
- */
public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(PARAMETER_NAME);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter#getDefaultType()
- */
public IASTTypeId getDefaultType() {
return typeId;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter#setDefaultType(org.eclipse.cdt.core.dom.ast.IASTTypeId)
- */
public void setDefaultType(IASTTypeId typeId) {
this.typeId = typeId;
+ if (typeId != null) {
+ typeId.setParent(this);
+ typeId.setPropertyInParent(DEFAULT_TYPE);
+ }
}
+
public boolean accept( ASTVisitor action ){
if( action instanceof CPPASTVisitor &&
((CPPASTVisitor)action).shouldVisitTemplateParameters ){
@@ -90,10 +91,7 @@ public class CPPASTSimpleTypeTemplateParameter extends CPPASTNode implements
}
return true;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
+
public int getRoleForName(IASTName n) {
if( n == name )
return r_declaration;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSwitchStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSwitchStatement.java
index 793c18c9866..d8d00c61930 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSwitchStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTSwitchStatement.java
@@ -30,32 +30,42 @@ public class CPPASTSwitchStatement extends CPPASTNode implements
private IASTStatement body;
private IASTDeclaration decl;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSwitchStatement#getController()
- */
- public IASTExpression getControllerExpression() {
+
+ public CPPASTSwitchStatement() {
+ }
+
+ public CPPASTSwitchStatement(IASTDeclaration controller, IASTStatement body) {
+ setControllerDeclaration(controller);
+ setBody(body);
+ }
+
+ public CPPASTSwitchStatement(IASTExpression controller, IASTStatement body) {
+ setControllerExpression(controller);
+ setBody(body);
+ }
+
+ public IASTExpression getControllerExpression() {
return controller;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSwitchStatement#setController(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setControllerExpression(IASTExpression controller) {
this.controller = controller;
+ if (controller != null) {
+ controller.setParent(this);
+ controller.setPropertyInParent(CONTROLLER_EXP);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSwitchStatement#getBody()
- */
public IASTStatement getBody() {
return body;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTSwitchStatement#setBody(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
+
public void setBody(IASTStatement body) {
this.body = body;
+ if (body != null) {
+ body.setParent(this);
+ body.setPropertyInParent(BODY);
+ }
}
public boolean accept( ASTVisitor action ){
@@ -108,6 +118,10 @@ public class CPPASTSwitchStatement extends CPPASTNode implements
public void setControllerDeclaration(IASTDeclaration d) {
decl = d;
+ if (d != null) {
+ d.setParent(this);
+ d.setPropertyInParent(CONTROLLER_DECLARATION);
+ }
}
public IScope getScope() {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateDeclaration.java
index c61ec4b11d1..215ee4e7d1b 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateDeclaration.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateDeclaration.java
@@ -30,49 +30,45 @@ public class CPPASTTemplateDeclaration extends CPPASTNode implements
private IASTDeclaration declaration;
private ICPPTemplateScope templateScope;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#isExported()
- */
- public boolean isExported() {
+
+ public CPPASTTemplateDeclaration() {
+ }
+
+ public CPPASTTemplateDeclaration(IASTDeclaration declaration) {
+ setDeclaration(declaration);
+ }
+
+ public boolean isExported() {
return exported;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#setExported(boolean)
- */
public void setExported(boolean value) {
exported = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#getDeclaration()
- */
public IASTDeclaration getDeclaration() {
return declaration;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#setDeclaration(org.eclipse.cdt.core.dom.ast.IASTDeclaration)
- */
public void setDeclaration(IASTDeclaration declaration) {
this.declaration = declaration;
+ if (declaration != null) {
+ declaration.setParent(this);
+ declaration.setPropertyInParent(OWNED_DECLARATION);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#getTemplateParameters()
- */
public ICPPASTTemplateParameter [] getTemplateParameters() {
if( parameters == null ) return ICPPASTTemplateParameter.EMPTY_TEMPLATEPARAMETER_ARRAY;
parameters = (ICPPASTTemplateParameter[]) ArrayUtil.removeNullsAfter( ICPPASTTemplateParameter.class, parameters, parametersPos );
return parameters;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#addTemplateParamter(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter)
- */
public void addTemplateParamter(ICPPASTTemplateParameter parm) {
if (parm != null) {
parameters = (ICPPASTTemplateParameter[]) ArrayUtil.append( ICPPASTTemplateParameter.class, parameters, ++parametersPos, parm );
+ parm.setParent(this);
+ parm.setPropertyInParent(PARAMETER);
}
}
@@ -104,9 +100,6 @@ public class CPPASTTemplateDeclaration extends CPPASTNode implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#getScope()
- */
public ICPPTemplateScope getScope() {
if( templateScope == null )
templateScope = new CPPTemplateScope( this );
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateId.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateId.java
index a395d42ea63..4a4c2370858 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateId.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateId.java
@@ -26,39 +26,45 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
* @author jcamelon
*/
public class CPPASTTemplateId extends CPPASTNode implements ICPPASTTemplateId, IASTAmbiguityParent {
- private IASTName templateName;
+
+ private IASTName templateName;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId#getTemplateName()
- */
- public IASTName getTemplateName() {
+
+ public CPPASTTemplateId() {
+ }
+
+ public CPPASTTemplateId(IASTName templateName) {
+ setTemplateName(templateName);
+ }
+
+ public IASTName getTemplateName() {
return templateName;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId#setTemplateName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setTemplateName(IASTName name) {
templateName = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(TEMPLATE_NAME);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId#addTemplateArgument(org.eclipse.cdt.core.dom.ast.IASTTypeId)
- */
public void addTemplateArgument(IASTTypeId typeId) {
templateArguments = (IASTNode[]) ArrayUtil.append( IASTNode.class, templateArguments, typeId );
+ if (typeId != null) {
+ typeId.setParent(this);
+ typeId.setPropertyInParent(TEMPLATE_ID_ARGUMENT);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId#addTemplateArgument(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void addTemplateArgument(IASTExpression expression) {
templateArguments = (IASTNode[]) ArrayUtil.append( IASTNode.class, templateArguments, expression );
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(TEMPLATE_ID_ARGUMENT);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId#getTemplateArguments()
- */
public IASTNode[] getTemplateArguments() {
if( templateArguments == null ) return ICPPASTTemplateId.EMPTY_ARG_ARRAY;
return (IASTNode[]) ArrayUtil.trim( IASTNode.class, templateArguments );
@@ -68,9 +74,6 @@ public class CPPASTTemplateId extends CPPASTNode implements ICPPASTTemplateId, I
private IBinding binding = null;
private int fResolutionDepth= 0;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#resolveBinding()
- */
public IBinding resolveBinding() {
if (binding == null) {
// protect for infinite recursion
@@ -89,9 +92,7 @@ public class CPPASTTemplateId extends CPPASTNode implements ICPPASTTemplateId, I
return null;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#toCharArray()
- */
+
public char[] toCharArray() {
return templateName.toCharArray();
}
@@ -123,39 +124,24 @@ public class CPPASTTemplateId extends CPPASTNode implements ICPPASTTemplateId, I
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#isDeclaration()
- */
public boolean isDeclaration() {
return false; //for now this seems to be true
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#isReference()
- */
public boolean isReference() {
return true; //for now this seems to be true
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
+
public int getRoleForName(IASTName n) {
if( n == templateName )
return r_reference;
return r_unclear;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#getBinding()
- */
public IBinding getBinding() {
return binding;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTName#setBinding(org.eclipse.cdt.core.dom.ast.IBinding)
- */
public void setBinding(IBinding binding) {
this.binding = binding;
fResolutionDepth= 0;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateSpecialization.java
index 277f6664b96..e39500f9f8b 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateSpecialization.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplateSpecialization.java
@@ -28,18 +28,24 @@ public class CPPASTTemplateSpecialization extends CPPASTNode implements
private IASTDeclaration declaration;
private ICPPTemplateScope templateScope;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateSpecialization#getDeclaration()
- */
- public IASTDeclaration getDeclaration() {
+
+ public CPPASTTemplateSpecialization() {
+ }
+
+ public CPPASTTemplateSpecialization(IASTDeclaration declaration) {
+ setDeclaration(declaration);
+ }
+
+ public IASTDeclaration getDeclaration() {
return declaration;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateSpecialization#setDeclaration(org.eclipse.cdt.core.dom.ast.IASTDeclaration)
- */
public void setDeclaration(IASTDeclaration declaration) {
this.declaration = declaration;
+ if (declaration != null) {
+ declaration.setParent(this);
+ declaration.setPropertyInParent(ICPPASTTemplateSpecialization.OWNED_DECLARATION);
+ }
}
public boolean accept( ASTVisitor action ){
@@ -63,35 +69,20 @@ public class CPPASTTemplateSpecialization extends CPPASTNode implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#isExported()
- */
public boolean isExported() {
return false;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#setExported(boolean)
- */
public void setExported(boolean value) {
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#getTemplateParameters()
- */
public ICPPASTTemplateParameter[] getTemplateParameters() {
return ICPPASTTemplateParameter.EMPTY_TEMPLATEPARAMETER_ARRAY;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#addTemplateParamter(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter)
- */
public void addTemplateParamter(ICPPASTTemplateParameter parm) {
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration#getScope()
- */
public ICPPTemplateScope getScope() {
if( templateScope == null )
templateScope = new CPPTemplateScope( this );
@@ -99,8 +90,7 @@ public class CPPASTTemplateSpecialization extends CPPASTNode implements
}
public void replace(IASTNode child, IASTNode other) {
- if( declaration == child )
- {
+ if( declaration == child ) {
other.setParent( child.getParent() );
other.setPropertyInParent( child.getPropertyInParent() );
declaration = (IASTDeclaration) other;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplatedTypeTemplateParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplatedTypeTemplateParameter.java
index f807250c583..aed92d31ade 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplatedTypeTemplateParameter.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTemplatedTypeTemplateParameter.java
@@ -27,7 +27,16 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
public class CPPASTTemplatedTypeTemplateParameter extends CPPASTNode implements
ICPPASTTemplatedTypeTemplateParameter, IASTAmbiguityParent {
- public ICPPASTTemplateParameter[] getTemplateParameters() {
+
+ public CPPASTTemplatedTypeTemplateParameter() {
+ }
+
+ public CPPASTTemplatedTypeTemplateParameter(IASTName name, IASTExpression defaultValue) {
+ setName(name);
+ setDefaultValue(defaultValue);
+ }
+
+ public ICPPASTTemplateParameter[] getTemplateParameters() {
if( parameters == null ) return ICPPASTTemplateParameter.EMPTY_TEMPLATEPARAMETER_ARRAY;
parameters = (ICPPASTTemplateParameter[]) ArrayUtil.removeNullsAfter( ICPPASTTemplateParameter.class, parameters, parametersPos );
return parameters;
@@ -36,6 +45,8 @@ public class CPPASTTemplatedTypeTemplateParameter extends CPPASTNode implements
public void addTemplateParamter(ICPPASTTemplateParameter parm) {
if(parm != null) {
parameters = (ICPPASTTemplateParameter[]) ArrayUtil.append( ICPPASTTemplateParameter.class, parameters, ++parametersPos, parm );
+ parm.setParent(this);
+ parm.setPropertyInParent(PARAMETER);
}
}
@@ -44,32 +55,28 @@ public class CPPASTTemplatedTypeTemplateParameter extends CPPASTNode implements
private IASTName name;
private IASTExpression defaultValue;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter#getName()
- */
public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setName(IASTName name) {
this.name =name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(PARAMETER_NAME);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter#getDefaultValue()
- */
public IASTExpression getDefaultValue() {
return defaultValue;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter#setDefaultValue(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setDefaultValue(IASTExpression expression) {
this.defaultValue = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(DEFAULT_VALUE);
+ }
}
public boolean accept( ASTVisitor action ){
@@ -99,10 +106,7 @@ public class CPPASTTemplatedTypeTemplateParameter extends CPPASTNode implements
}
return true;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
+
public int getRoleForName(IASTName n) {
if( n == name )
return r_declaration;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTranslationUnit.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTranslationUnit.java
index 7ca939d456f..ff552ef57a8 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTranslationUnit.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTranslationUnit.java
@@ -105,24 +105,19 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
public void addDeclaration(IASTDeclaration d) {
decls = (IASTDeclaration [])ArrayUtil.append( IASTDeclaration.class, decls, d );
+ if (d != null) {
+ d.setParent(this);
+ d.setPropertyInParent(OWNED_DECLARATION);
+ }
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getDeclarations()
- */
+
public IASTDeclaration[] getDeclarations() {
if (decls == null)
return IASTDeclaration.EMPTY_DECLARATION_ARRAY;
return (IASTDeclaration[]) ArrayUtil.trim( IASTDeclaration.class, decls );
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getScope()
- */
public IScope getScope() {
if (scope == null) {
scope = new CPPNamespaceScope(this);
@@ -233,11 +228,7 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
return names;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getReferences(org.eclipse.cdt.core.dom.ast.IBinding)
- */
+
public IASTName[] getReferences(IBinding b) {
if( b instanceof IMacroBinding )
{
@@ -248,12 +239,7 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
return CPPVisitor.getReferences(this, b);
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getLocationInfo(int,
- * int)
- */
+
public IASTNodeLocation[] getLocationInfo(int offset, int length) {
if (resolver == null)
return EMPTY_PREPROCESSOR_LOCATION_ARRAY;
@@ -308,9 +294,7 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
return PROCESS_CONTINUE;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.CPPBaseVisitorAction#processDeclaration(org.eclipse.cdt.core.dom.ast.IASTDeclaration)
- */
+
public int visit(IASTDeclaration declaration) {
// use declarations to determine if the search has gone past the offset (i.e. don't know the order the visitor visits the nodes)
// TODO take out fix below for bug 86993 check for: !(declaration instanceof ICPPASTLinkageSpecification)
@@ -320,9 +304,7 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
return processNode(declaration);
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor.CPPBaseVisitorAction#processDeclarator(org.eclipse.cdt.core.dom.ast.IASTDeclarator)
- */
+
public int visit(IASTDeclarator declarator) {
int ret = processNode(declarator);
@@ -353,68 +335,42 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
return ret;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.CBaseVisitorAction#processDesignator(org.eclipse.cdt.core.dom.ast.c.ICASTDesignator)
- */
+
public int processDesignator(ICASTDesignator designator) {
return processNode(designator);
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.CBaseVisitorAction#processDeclSpecifier(org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier)
- */
+
public int visit(IASTDeclSpecifier declSpec) {
return processNode(declSpec);
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.CBaseVisitorAction#processEnumerator(org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator)
- */
+
public int visit(IASTEnumerator enumerator) {
return processNode((IASTNode)enumerator);
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.CBaseVisitorAction#processExpression(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
+
public int visit(IASTExpression expression) {
return processNode(expression);
}
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.CBaseVisitorAction#processInitializer(org.eclipse.cdt.core.dom.ast.IASTInitializer)
- */
+
public int visit(IASTInitializer initializer) {
return processNode(initializer);
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.CBaseVisitorAction#processName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int visit(IASTName name) {
if ( name.toString() != null )
return processNode(name);
return PROCESS_CONTINUE;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.CBaseVisitorAction#processParameterDeclaration(org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration)
- */
public int visit(
IASTParameterDeclaration parameterDeclaration) {
return processNode(parameterDeclaration);
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.CBaseVisitorAction#processStatement(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
public int visit(IASTStatement statement) {
return processNode(statement);
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.internal.core.dom.parser.c.CVisitor.CBaseVisitorAction#processTypeId(org.eclipse.cdt.core.dom.ast.IASTTypeId)
- */
public int visit(IASTTypeId typeId) {
return processNode(typeId);
}
@@ -424,11 +380,7 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getNodeForLocation(org.eclipse.cdt.core.dom.ast.IASTNodeLocation)
- */
+
public IASTNode selectNodeForLocation(String path, int realOffset, int realLength) {
IASTNode node = null;
ASTPreprocessorSelectionResult result = null;
@@ -455,44 +407,25 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
return node;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getMacroDefinitions()
- */
+
public IASTPreprocessorMacroDefinition[] getMacroDefinitions() {
if( resolver == null ) return EMPTY_PREPROCESSOR_MACRODEF_ARRAY;
IASTPreprocessorMacroDefinition [] result = resolver.getMacroDefinitions();
return result;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getMacroDefinitions()
- */
public IASTPreprocessorMacroDefinition[] getBuiltinMacroDefinitions() {
if( resolver == null ) return EMPTY_PREPROCESSOR_MACRODEF_ARRAY;
IASTPreprocessorMacroDefinition [] result = resolver.getBuiltinMacroDefinitions();
return result;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getIncludeDirectives()
- */
public IASTPreprocessorIncludeStatement[] getIncludeDirectives() {
if( resolver == null ) return EMPTY_PREPROCESSOR_INCLUSION_ARRAY;
IASTPreprocessorIncludeStatement [] result = resolver.getIncludeDirectives();
return result;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getAllPreprocessorStatements()
- */
public IASTPreprocessorStatement[] getAllPreprocessorStatements() {
if (resolver == null)
return EMPTY_PREPROCESSOR_STATEMENT_ARRAY;
@@ -500,32 +433,17 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
return result;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.IRequiresLocationInformation#setLocationResolver(org.eclipse.cdt.internal.core.parser.scanner2.ILocationResolver)
- */
public void setLocationResolver(ILocationResolver resolver) {
this.resolver = resolver;
resolver.setRootNode( this );
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTranslationUnit#resolveBinding()
- */
public IBinding resolveBinding() {
if (binding == null)
binding = new CPPNamespace(this);
return binding;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getPreprocesorProblems()
- */
public IASTProblem[] getPreprocessorProblems() {
if (resolver == null)
return EMPTY_PROBLEM_ARRAY;
@@ -538,19 +456,12 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
return result;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getUnpreprocessedSignature(org.eclipse.cdt.core.dom.ast.IASTNodeLocation[])
- */
public String getUnpreprocessedSignature(IASTNodeLocation[] locations) {
if( resolver == null ) return EMPTY_STRING;
return new String( resolver.getUnpreprocessedSignature(locations) );
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.core.dom.ast.IASTTranslationUnit#getFilePath()
- */
+
public String getFilePath() {
if (resolver == null)
return EMPTY_STRING;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTryBlockStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTryBlockStatement.java
index 5c8ab11c614..ea4f549be3e 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTryBlockStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTryBlockStatement.java
@@ -22,21 +22,25 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
/**
* @author jcamelon
*/
-public class CPPASTTryBlockStatement extends CPPASTNode implements
- ICPPASTTryBlockStatement, IASTAmbiguityParent {
+public class CPPASTTryBlockStatement extends CPPASTNode implements ICPPASTTryBlockStatement, IASTAmbiguityParent {
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionTryBlockDeclarator#addCatchHandler(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
- public void addCatchHandler(ICPPASTCatchHandler statement) {
+
+ public CPPASTTryBlockStatement() {
+ }
+
+ public CPPASTTryBlockStatement(IASTStatement tryBody) {
+ setTryBody(tryBody);
+ }
+
+ public void addCatchHandler(ICPPASTCatchHandler statement) {
if (statement != null) {
- catchHandlers = (ICPPASTCatchHandler[]) ArrayUtil.append( ICPPASTCatchHandler.class, catchHandlers, ++catchHandlersPos, statement );
+ catchHandlers = (ICPPASTCatchHandler[]) ArrayUtil.append( ICPPASTCatchHandler.class, catchHandlers, ++catchHandlersPos, statement );
+ statement.setParent(this);
+ statement.setPropertyInParent(CATCH_HANDLER);
}
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionTryBlockDeclarator#getCatchHandlers()
- */
+
public ICPPASTCatchHandler[] getCatchHandlers() {
if( catchHandlers == null ) return ICPPASTCatchHandler.EMPTY_CATCHHANDLER_ARRAY;
catchHandlers = (ICPPASTCatchHandler[]) ArrayUtil.removeNullsAfter( ICPPASTCatchHandler.class, catchHandlers, catchHandlersPos );
@@ -47,16 +51,16 @@ public class CPPASTTryBlockStatement extends CPPASTNode implements
private ICPPASTCatchHandler [] catchHandlers = null;
private int catchHandlersPos=-1;
private IASTStatement tryBody;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTryBlockStatement#setTryBody(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
+
public void setTryBody(IASTStatement tryBlock) {
tryBody = tryBlock;
+ if (tryBlock != null) {
+ tryBlock.setParent(this);
+ tryBlock.setPropertyInParent(BODY);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTryBlockStatement#getTryBody()
- */
+
public IASTStatement getTryBody() {
return tryBody;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeId.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeId.java
index 90fc54fe384..73deb129b67 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeId.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeId.java
@@ -23,32 +23,38 @@ public class CPPASTTypeId extends CPPASTNode implements IASTTypeId {
private IASTDeclSpecifier declSpec;
private IASTDeclarator absDecl;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTTypeId#getDeclSpecifier()
- */
- public IASTDeclSpecifier getDeclSpecifier() {
+
+ public CPPASTTypeId() {
+ }
+
+ public CPPASTTypeId(IASTDeclSpecifier declSpec, IASTDeclarator absDecl) {
+ setDeclSpecifier(declSpec);
+ setAbstractDeclarator(absDecl);
+ }
+
+ public IASTDeclSpecifier getDeclSpecifier() {
return declSpec;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTTypeId#setDeclSpecifier(org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier)
- */
public void setDeclSpecifier(IASTDeclSpecifier declSpec) {
this.declSpec = declSpec;
+ if (declSpec != null) {
+ declSpec.setParent(this);
+ declSpec.setPropertyInParent(DECL_SPECIFIER);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTTypeId#getAbstractDeclarator()
- */
public IASTDeclarator getAbstractDeclarator() {
return absDecl;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTTypeId#setAbstractDeclarator(org.eclipse.cdt.core.dom.ast.IASTDeclarator)
- */
+
public void setAbstractDeclarator(IASTDeclarator abstractDeclarator) {
this.absDecl = abstractDeclarator;
+ if (abstractDeclarator != null) {
+ abstractDeclarator.setParent(this);
+ abstractDeclarator.setPropertyInParent(ABSTRACT_DECLARATOR);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeIdExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeIdExpression.java
index dca17ba12b7..5e5aa340dc9 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeIdExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeIdExpression.java
@@ -18,13 +18,20 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypeIdExpression;
/**
* @author jcamelon
*/
-public class CPPASTTypeIdExpression extends CPPASTNode implements
- ICPPASTTypeIdExpression {
+public class CPPASTTypeIdExpression extends CPPASTNode implements ICPPASTTypeIdExpression {
private int op;
private IASTTypeId typeId;
- public int getOperator() {
+ public CPPASTTypeIdExpression() {
+ }
+
+ public CPPASTTypeIdExpression(int op, IASTTypeId typeId) {
+ this.op = op;
+ setTypeId(typeId);
+ }
+
+ public int getOperator() {
return op;
}
@@ -34,6 +41,10 @@ public class CPPASTTypeIdExpression extends CPPASTNode implements
public void setTypeId(IASTTypeId typeId) {
this.typeId = typeId;
+ if (typeId != null) {
+ typeId.setParent(this);
+ typeId.setPropertyInParent(TYPE_ID);
+ }
}
public IASTTypeId getTypeId() {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypenameExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypenameExpression.java
index 24d775b5fa8..be31d5f444e 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypenameExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypenameExpression.java
@@ -28,7 +28,16 @@ public class CPPASTTypenameExpression extends CPPASTNode implements
private IASTName name;
private IASTExpression init;
- public void setIsTemplate(boolean templateTokenConsumed) {
+
+ public CPPASTTypenameExpression() {
+ }
+
+ public CPPASTTypenameExpression(IASTName name, IASTExpression init) {
+ setName(name);
+ setInitialValue(init);
+ }
+
+ public void setIsTemplate(boolean templateTokenConsumed) {
isTemplate = templateTokenConsumed;
}
@@ -38,6 +47,10 @@ public class CPPASTTypenameExpression extends CPPASTNode implements
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(TYPENAME);
+ }
}
public IASTName getName() {
@@ -46,6 +59,10 @@ public class CPPASTTypenameExpression extends CPPASTNode implements
public void setInitialValue(IASTExpression expressionList) {
init = expressionList;
+ if (expressionList != null) {
+ expressionList.setParent(this);
+ expressionList.setPropertyInParent(INITIAL_VALUE);
+ }
}
public IASTExpression getInitialValue() {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUnaryExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUnaryExpression.java
index b7ee6f0f920..9dcc3479eb6 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUnaryExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUnaryExpression.java
@@ -26,7 +26,16 @@ public class CPPASTUnaryExpression extends CPPASTNode implements
private int operator;
private IASTExpression operand;
- public int getOperator() {
+
+ public CPPASTUnaryExpression() {
+ }
+
+ public CPPASTUnaryExpression(int operator, IASTExpression operand) {
+ this.operator = operator;
+ setOperand(operand);
+ }
+
+ public int getOperator() {
return operator;
}
@@ -40,6 +49,10 @@ public class CPPASTUnaryExpression extends CPPASTNode implements
public void setOperand(IASTExpression expression) {
operand = expression;
+ if (expression != null) {
+ expression.setParent(this);
+ expression.setPropertyInParent(OPERAND);
+ }
}
public boolean accept( ASTVisitor action ){
@@ -64,8 +77,7 @@ public class CPPASTUnaryExpression extends CPPASTNode implements
}
public void replace(IASTNode child, IASTNode other) {
- if( child == operand )
- {
+ if( child == operand ) {
other.setPropertyInParent( child.getPropertyInParent() );
other.setParent( child.getParent() );
operand = (IASTExpression) other;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUsingDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUsingDeclaration.java
index 64c8887f252..0358063b763 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUsingDeclaration.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUsingDeclaration.java
@@ -30,32 +30,31 @@ public class CPPASTUsingDeclaration extends CPPASTNode implements
private boolean typeName;
private IASTName name;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDeclaration#setIsTypename(boolean)
- */
- public void setIsTypename(boolean value) {
+ public CPPASTUsingDeclaration() {
+ }
+
+ public CPPASTUsingDeclaration(IASTName name) {
+ setName(name);
+ }
+
+ public void setIsTypename(boolean value) {
this.typeName = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDeclaration#isTypename()
- */
public boolean isTypename() {
return typeName;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDeclaration#getName()
- */
public IASTName getName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDeclaration#setName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public void setName(IASTName name) {
this.name = name;
+ if (name != null) {
+ name.setParent(this);
+ name.setPropertyInParent(NAME);
+ }
}
public boolean accept( ASTVisitor action ){
@@ -79,9 +78,6 @@ public class CPPASTUsingDeclaration extends CPPASTNode implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
public int getRoleForName(IASTName n) {
if( n == name )
return r_reference;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUsingDirective.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUsingDirective.java
index b00ab0a6a94..66405b8ce85 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUsingDirective.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTUsingDirective.java
@@ -29,18 +29,24 @@ public class CPPASTUsingDirective extends CPPASTNode implements
private IASTName name;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDirective#getQualifiedName()
- */
- public IASTName getQualifiedName() {
+ public CPPASTUsingDirective() {
+ }
+
+ public CPPASTUsingDirective(IASTName name) {
+ setQualifiedName(name);
+ }
+
+ public IASTName getQualifiedName() {
return name;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDirective#setQualifiedName(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName)
- */
public void setQualifiedName(IASTName qualifiedName) {
this.name = qualifiedName;
+ if (qualifiedName != null) {
+ qualifiedName.setParent(this);
+ qualifiedName.setPropertyInParent(QUALIFIED_NAME);
+ }
+
}
public boolean accept( ASTVisitor action ){
@@ -64,9 +70,7 @@ public class CPPASTUsingDirective extends CPPASTNode implements
return true;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTNameOwner#getRoleForName(org.eclipse.cdt.core.dom.ast.IASTName)
- */
+
public int getRoleForName(IASTName n) {
if( n == name )
return r_reference;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTVisibilityLabel.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTVisibilityLabel.java
index 3ba61b239c3..aa320b975a3 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTVisibilityLabel.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTVisibilityLabel.java
@@ -16,21 +16,15 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTVisiblityLabel;
/**
* @author jcamelon
*/
-public class CPPASTVisibilityLabel extends CPPASTNode implements
- ICPPASTVisiblityLabel {
+public class CPPASTVisibilityLabel extends CPPASTNode implements ICPPASTVisiblityLabel {
private int visibility;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTVisiblityLabel#getVisibility()
- */
+
public int getVisibility() {
return visibility;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTVisiblityLabel#setVisibility(int)
- */
public void setVisibility(int visibility) {
this.visibility = visibility;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTWhileStatement.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTWhileStatement.java
index eccb3497e90..49def581d37 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTWhileStatement.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTWhileStatement.java
@@ -24,51 +24,59 @@ import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
*/
public class CPPASTWhileStatement extends CPPASTNode implements
ICPPASTWhileStatement, IASTAmbiguityParent {
+
private IASTExpression condition;
private IASTStatement body;
private IASTDeclaration condition2;
private IScope scope;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTWhileStatement#getCondition()
- */
- public IASTExpression getCondition() {
+ public CPPASTWhileStatement() {
+ }
+
+ public CPPASTWhileStatement(IASTDeclaration condition, IASTStatement body) {
+ setConditionDeclaration(condition);
+ setBody(body);
+ }
+
+ public CPPASTWhileStatement(IASTExpression condition, IASTStatement body) {
+ setCondition(condition);
+ setBody(body);
+ }
+
+ public IASTExpression getCondition() {
return condition;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTWhileStatement#setCondition(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setCondition(IASTExpression condition) {
this.condition = condition;
+ if (condition != null) {
+ condition.setParent(this);
+ condition.setPropertyInParent(CONDITIONEXPRESSION);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTWhileStatement#getBody()
- */
public IASTStatement getBody() {
return body;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.IASTWhileStatement#setBody(org.eclipse.cdt.core.dom.ast.IASTStatement)
- */
public void setBody(IASTStatement body) {
this.body = body;
+ if (body != null) {
+ body.setParent(this);
+ body.setPropertyInParent(BODY);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTWhileStatement#getInitDeclaration()
- */
public IASTDeclaration getConditionDeclaration() {
return condition2;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPASTWhileStatement#setInit(org.eclipse.cdt.core.dom.ast.IASTDeclaration)
- */
public void setConditionDeclaration(IASTDeclaration declaration) {
condition2 = declaration;
+ if (declaration != null) {
+ declaration.setParent(this);
+ declaration.setPropertyInParent(CONDITIONDECLARATION);
+ }
}
public boolean accept( ASTVisitor action ){
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java
index c9770cedf93..b30c4d9e209 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java
@@ -10,6 +10,7 @@
* Markus Schorn (Wind River Systems)
* Bryan Wilkinson (QNX) - https://bugs.eclipse.org/bugs/show_bug.cgi?id=151207
* Ed Swartz (Nokia)
+ * Mike Kucera (IBM) - bug #206952
*******************************************************************************/
package org.eclipse.cdt.internal.core.dom.parser.cpp;
@@ -43,14 +44,11 @@ import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.ast.IASTExpressionList;
import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement;
import org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator;
-import org.eclipse.cdt.core.dom.ast.IASTFieldReference;
-import org.eclipse.cdt.core.dom.ast.IASTForStatement;
import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression;
import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator;
import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition;
import org.eclipse.cdt.core.dom.ast.IASTGotoStatement;
import org.eclipse.cdt.core.dom.ast.IASTIdExpression;
-import org.eclipse.cdt.core.dom.ast.IASTIfStatement;
import org.eclipse.cdt.core.dom.ast.IASTInitializer;
import org.eclipse.cdt.core.dom.ast.IASTInitializerExpression;
import org.eclipse.cdt.core.dom.ast.IASTInitializerList;
@@ -66,7 +64,6 @@ import org.eclipse.cdt.core.dom.ast.IASTPointerOperator;
import org.eclipse.cdt.core.dom.ast.IASTProblem;
import org.eclipse.cdt.core.dom.ast.IASTProblemDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTProblemExpression;
-import org.eclipse.cdt.core.dom.ast.IASTProblemHolder;
import org.eclipse.cdt.core.dom.ast.IASTProblemStatement;
import org.eclipse.cdt.core.dom.ast.IASTProblemTypeId;
import org.eclipse.cdt.core.dom.ast.IASTReturnStatement;
@@ -74,10 +71,8 @@ import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclSpecifier;
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator;
import org.eclipse.cdt.core.dom.ast.IASTStatement;
-import org.eclipse.cdt.core.dom.ast.IASTSwitchStatement;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.ast.IASTTypeId;
-import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression;
import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression;
import org.eclipse.cdt.core.dom.ast.IASTWhileStatement;
import org.eclipse.cdt.core.dom.ast.IBinding;
@@ -90,7 +85,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCatchHandler;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorChainInitializer;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorInitializer;
-import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConversionName;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclSpecifier;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeleteExpression;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTElaboratedTypeSpecifier;
@@ -170,15 +164,13 @@ import org.eclipse.cdt.internal.core.parser.token.TokenFactory;
public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
private static final String CONST_CAST = "const_cast"; //$NON-NLS-1$
-
private static final String REINTERPRET_CAST = "reinterpret_cast"; //$NON-NLS-1$
-
private static final String STATIC_CAST = "static_cast"; //$NON-NLS-1$
-
private static final String DYNAMIC_CAST = "dynamic_cast"; //$NON-NLS-1$
private static final int DEFAULT_CATCH_HANDLER_LIST_SIZE = 4;
+
private ScopeStack templateIdScopes = new ScopeStack();
private int templateCount = 0;
@@ -350,8 +342,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
*/
protected ITokenDuple name() throws BacktrackException, EndOfFileException {
- TemplateParameterManager argumentList = TemplateParameterManager
- .getInstance();
+ TemplateParameterManager argumentList = TemplateParameterManager.getInstance();
try {
IToken first = LA(1);
@@ -430,8 +421,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
* @throws BacktrackException
*/
protected IToken consumeTemplateArguments(IToken last,
- TemplateParameterManager argumentList) throws EndOfFileException,
- BacktrackException {
+ TemplateParameterManager argumentList) throws EndOfFileException, BacktrackException {
if (LT(1) == IToken.tLT) {
IToken secondMark = mark();
consume();
@@ -442,8 +432,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
case IToken.tGT:
case IToken.tEOC:
last = consume();
- if( LT(1) == IToken.tINTEGER || LT(1) == IToken.tFLOATINGPT )
- {
+ if( LT(1) == IToken.tINTEGER || LT(1) == IToken.tFLOATINGPT ) {
backup( secondMark );
return last;
}
@@ -601,8 +590,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
break;
}
IToken la = LA(1);
- throwBacktrack(startingOffset, la.getEndOffset()
- - startingOffset);
+ throwBacktrack(startingOffset, la.getEndOffset() - startingOffset);
}
if (t == LA(1))
@@ -619,8 +607,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
p2m.setConst(isConst);
p2m.setVolatile(isVolatile);
p2m.setName(name);
- name.setParent(p2m);
- name.setPropertyInParent(ICPPASTPointerToMember.NAME);
if (isRestrict) {
IGPPASTPointerToMember newPo = (IGPPASTPointerToMember) p2m;
newPo.setRestrict(isRestrict);
@@ -630,9 +616,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
} else {
po = createPointer(isRestrict);
- ((ASTNode) po).setOffsetAndLength(starOffset, last
- .getEndOffset()
- - starOffset);
+ ((ASTNode) po).setOffsetAndLength(starOffset, last.getEndOffset() - starOffset);
((IASTPointer) po).setConst(isConst);
((IASTPointer) po).setVolatile(isVolatile);
if (isRestrict) {
@@ -768,8 +752,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
* @param expression
* @throws BacktrackException
*/
- protected IASTExpression relationalExpression() throws BacktrackException,
- EndOfFileException {
+ protected IASTExpression relationalExpression() throws BacktrackException, EndOfFileException {
IASTExpression firstExpression = shiftExpression();
for (;;) {
@@ -1028,25 +1011,14 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTTypeId result = createTypeId();
((ASTNode) result).setOffsetAndLength(startingOffset, figureEndOffset(
- declSpecifier, declarator)
- - startingOffset);
+ declSpecifier, declarator) - startingOffset);
result.setDeclSpecifier(declSpecifier);
- declSpecifier.setParent(result);
- declSpecifier.setPropertyInParent(IASTTypeId.DECL_SPECIFIER);
-
- if (declarator != null) {
- result.setAbstractDeclarator(declarator);
- declarator.setParent(result);
- declarator.setPropertyInParent(IASTTypeId.ABSTRACT_DECLARATOR);
- }
+ result.setAbstractDeclarator(declarator);
return result;
}
- /**
- * @return
- */
protected IASTTypeId createTypeId() {
return new CPPASTTypeId();
}
@@ -1081,8 +1053,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
deleteExpression.setIsGlobal(global);
deleteExpression.setIsVectored(vectored);
deleteExpression.setOperand(castExpression);
- castExpression.setParent(deleteExpression);
- castExpression.setPropertyInParent(ICPPASTDeleteExpression.OPERAND);
return deleteExpression;
}
@@ -1106,8 +1076,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
* expression ] directnewdeclarator [ constantexpression ]
* newinitializer: ( expressionlist? )
*/
- protected IASTExpression newExpression() throws BacktrackException,
- EndOfFileException {
+ protected IASTExpression newExpression() throws BacktrackException, EndOfFileException {
IToken la = LA(1);
int startingOffset = la.getOffset();
int lastOffset = 0;
@@ -1245,14 +1214,8 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
result.setIsGlobal(isGlobal);
result.setIsNewTypeId(isNewTypeId);
result.setTypeId(typeId);
- typeId.setParent(result);
- typeId
- .setPropertyInParent(ICPPASTNewExpression.TYPE_ID);
if (newPlacementExpressions != null) {
result.setNewPlacement(newPlacementExpressions);
- newPlacementExpressions.setParent(result);
- newPlacementExpressions
- .setPropertyInParent(ICPPASTNewExpression.NEW_PLACEMENT);
}
return result;
}
@@ -1285,14 +1248,9 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
if (typeId != null) {
result.setIsNewTypeId(isNewTypeId);
result.setTypeId(typeId);
- typeId.setParent(result);
- typeId.setPropertyInParent(ICPPASTNewExpression.TYPE_ID);
}
if (newPlacementExpressions != null) {
result.setNewPlacement(newPlacementExpressions);
- newPlacementExpressions.setParent(result);
- newPlacementExpressions
- .setPropertyInParent(ICPPASTNewExpression.NEW_PLACEMENT);
}
while (LT(1) == IToken.tLBRACKET) {
@@ -1306,9 +1264,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTExpression a = assignmentExpression();
lastOffset = consume(IToken.tRBRACKET).getEndOffset();
result.addNewTypeIdArrayExpression(a);
- a.setParent(result);
- a
- .setPropertyInParent(ICPPASTNewExpression.NEW_TYPEID_ARRAY_EXPRESSION);
if (templateIdScopes.size() > 0) {
templateIdScopes.pop();
@@ -1339,9 +1294,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
if (newInitializerExpressions != null) {
result.setNewInitializer(newInitializerExpressions);
- newInitializerExpressions.setParent(result);
- newInitializerExpressions
- .setPropertyInParent(ICPPASTNewExpression.NEW_INITIALIZER);
}
}
@@ -1444,12 +1396,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
((ASTNode) result).setOffsetAndLength(o, lastOffset - o);
result.setIsTemplate(templateTokenConsumed);
result.setName(name);
- name.setParent(result);
- name.setPropertyInParent(ICPPASTTypenameExpression.TYPENAME);
result.setInitialValue(expressionList);
- expressionList.setParent(result);
- expressionList
- .setPropertyInParent(ICPPASTTypenameExpression.INITIAL_VALUE);
firstExpression = result;
break;
// simple-type-specifier ( assignment-expression , .. )
@@ -1531,11 +1478,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
ICPPASTUnaryExpression.op_typeid,
(IASTExpression) n[1], so, lastOffset);
ambExpr.addExpression(e1);
- e1.setParent(ambExpr);
- e1.setPropertyInParent(IASTAmbiguousExpression.SUBEXPRESSION);
ambExpr.addExpression(e2);
- e2.setParent(ambExpr);
- e2.setPropertyInParent(IASTAmbiguousExpression.SUBEXPRESSION);
((ASTNode) ambExpr).setOffsetAndLength((ASTNode) e2);
firstExpression = ambExpr;
break;
@@ -1570,16 +1513,9 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTArraySubscriptExpression s = createArraySubscriptExpression();
((ASTNode) s).setOffsetAndLength(((ASTNode) firstExpression)
- .getOffset(), lastOffset
- - ((ASTNode) firstExpression).getOffset());
+ .getOffset(), lastOffset - ((ASTNode) firstExpression).getOffset());
s.setArrayExpression(firstExpression);
- firstExpression.setParent(s);
- firstExpression
- .setPropertyInParent(IASTArraySubscriptExpression.ARRAY);
s.setSubscriptExpression(secondExpression);
- secondExpression.setParent(s);
- secondExpression
- .setPropertyInParent(IASTArraySubscriptExpression.SUBSCRIPT);
firstExpression = s;
break;
case IToken.tLPAREN:
@@ -1608,17 +1544,10 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTFunctionCallExpression fce = createFunctionCallExpression();
((ASTNode) fce).setOffsetAndLength(((ASTNode) firstExpression)
- .getOffset(), lastOffset
- - ((ASTNode) firstExpression).getOffset());
+ .getOffset(), lastOffset - ((ASTNode) firstExpression).getOffset());
fce.setFunctionNameExpression(firstExpression);
- firstExpression.setParent(fce);
- firstExpression
- .setPropertyInParent(IASTFunctionCallExpression.FUNCTION_NAME);
if (secondExpression != null) {
fce.setParameterExpression(secondExpression);
- secondExpression.setParent(fce);
- secondExpression
- .setPropertyInParent(IASTFunctionCallExpression.PARAMETERS);
}
firstExpression = fce;
break;
@@ -1651,18 +1580,11 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
ICPPASTFieldReference fieldReference = createFieldReference();
((ASTNode) fieldReference).setOffsetAndLength(
((ASTNode) firstExpression).getOffset(),
- calculateEndOffset(name)
- - ((ASTNode) firstExpression).getOffset());
+ calculateEndOffset(name) - ((ASTNode) firstExpression).getOffset());
fieldReference.setIsTemplate(isTemplate);
fieldReference.setIsPointerDereference(false);
fieldReference.setFieldName(name);
- name.setParent(fieldReference);
- name.setPropertyInParent(IASTFieldReference.FIELD_NAME);
-
fieldReference.setFieldOwner(firstExpression);
- firstExpression.setParent(fieldReference);
- firstExpression
- .setPropertyInParent(IASTFieldReference.FIELD_OWNER);
firstExpression = fieldReference;
break;
case IToken.tARROW:
@@ -1683,18 +1605,11 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
fieldReference = createFieldReference();
((ASTNode) fieldReference).setOffsetAndLength(
((ASTNode) firstExpression).getOffset(),
- calculateEndOffset(name)
- - ((ASTNode) firstExpression).getOffset());
+ calculateEndOffset(name) - ((ASTNode) firstExpression).getOffset());
fieldReference.setIsTemplate(isTemplate);
fieldReference.setIsPointerDereference(true);
fieldReference.setFieldName(name);
- name.setParent(fieldReference);
- name.setPropertyInParent(IASTFieldReference.FIELD_NAME);
-
fieldReference.setFieldOwner(firstExpression);
- firstExpression.setParent(fieldReference);
- firstExpression
- .setPropertyInParent(IASTFieldReference.FIELD_OWNER);
firstExpression = fieldReference;
break;
default:
@@ -1707,30 +1622,18 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
return new CPPASTAmbiguousExpression();
}
- /**
- * @return
- */
protected IASTArraySubscriptExpression createArraySubscriptExpression() {
return new CPPASTArraySubscriptExpression();
}
- /**
- * @return
- */
protected ICPPASTTypenameExpression createTypenameExpression() {
return new CPPASTTypenameExpression();
}
- /**
- * @return
- */
protected IASTFunctionCallExpression createFunctionCallExpression() {
return new CPPASTFunctionCallExpression();
}
- /**
- * @return
- */
protected ICPPASTFieldReference createFieldReference() {
return new CPPASTFieldReference();
}
@@ -1745,14 +1648,10 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
operand = expression();
int l = consume(IToken.tRPAREN).getEndOffset();
ICPPASTSimpleTypeConstructorExpression result = createSimpleTypeConstructorExpression();
- ((ASTNode) result).setOffsetAndLength(startingOffset, l
- - startingOffset);
+ ((ASTNode) result).setOffsetAndLength(startingOffset, l - startingOffset);
result.setSimpleType(operator);
if (operand != null) {
result.setInitialValue(operand);
- operand.setParent(result);
- operand
- .setPropertyInParent(ICPPASTSimpleTypeConstructorExpression.INITIALIZER_VALUE);
}
return result;
}
@@ -1777,21 +1676,16 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
case IToken.tINTEGER:
t = consume();
literalExpression = createLiteralExpression();
- literalExpression
- .setKind(IASTLiteralExpression.lk_integer_constant);
+ literalExpression.setKind(IASTLiteralExpression.lk_integer_constant);
literalExpression.setValue(t.getImage());
- ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t
- .getEndOffset()
- - t.getOffset());
+ ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t.getEndOffset()- t.getOffset());
return literalExpression;
case IToken.tFLOATINGPT:
t = consume();
literalExpression = createLiteralExpression();
literalExpression.setKind(IASTLiteralExpression.lk_float_constant);
literalExpression.setValue(t.getImage());
- ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t
- .getEndOffset()
- - t.getOffset());
+ ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t.getEndOffset() - t.getOffset());
return literalExpression;
case IToken.tSTRING:
case IToken.tLSTRING:
@@ -1799,9 +1693,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
literalExpression = createLiteralExpression();
literalExpression.setKind(IASTLiteralExpression.lk_string_literal);
literalExpression.setValue(t.getImage());
- ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t
- .getEndOffset()
- - t.getOffset());
+ ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t.getEndOffset() - t.getOffset());
return literalExpression;
case IToken.tCHAR:
case IToken.tLCHAR:
@@ -1809,27 +1701,21 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
literalExpression = createLiteralExpression();
literalExpression.setKind(IASTLiteralExpression.lk_char_constant);
literalExpression.setValue(t.getImage());
- ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t
- .getEndOffset()
- - t.getOffset());
+ ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t.getEndOffset() - t.getOffset());
return literalExpression;
case IToken.t_false:
t = consume();
literalExpression = createLiteralExpression();
literalExpression.setKind(ICPPASTLiteralExpression.lk_false);
literalExpression.setValue(t.getImage());
- ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t
- .getEndOffset()
- - t.getOffset());
+ ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t.getEndOffset() - t.getOffset());
return literalExpression;
case IToken.t_true:
t = consume();
literalExpression = createLiteralExpression();
literalExpression.setKind(ICPPASTLiteralExpression.lk_true);
literalExpression.setValue(t.getImage());
- ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t
- .getEndOffset()
- - t.getOffset());
+ ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t.getEndOffset() - t.getOffset());
return literalExpression;
case IToken.t_this:
@@ -1837,9 +1723,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
literalExpression = createLiteralExpression();
literalExpression.setKind(ICPPASTLiteralExpression.lk_this);
literalExpression.setValue(t.getImage());
- ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t
- .getEndOffset()
- - t.getOffset());
+ ((ASTNode) literalExpression).setOffsetAndLength(t.getOffset(), t.getEndOffset() - t.getOffset());
return literalExpression;
case IToken.tLPAREN:
t = consume();
@@ -1857,9 +1741,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
if (templateIdScopes.size() > 0) {
templateIdScopes.pop();
}
- return buildUnaryExpression(
- IASTUnaryExpression.op_bracketedPrimary, lhs,
- t.getOffset(), finalOffset);
+ return buildUnaryExpression(IASTUnaryExpression.op_bracketedPrimary, lhs, t.getOffset(), finalOffset);
case IToken.tIDENTIFIER:
case IToken.tCOLONCOLON:
case IToken.t_operator:
@@ -1872,8 +1754,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
+ ((ASTNode) name).getLength()
- ((ASTNode) name).getOffset());
idExpression.setName(name);
- name.setParent(idExpression);
- name.setPropertyInParent(IASTIdExpression.ID_NAME);
return idExpression;
}
default:
@@ -1911,8 +1791,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IToken end = null;
if (start.getType() == IToken.tIDENTIFIER)
end = consumeTemplateParameters(null);
- while (LT(1) == IToken.tCOLONCOLON
- || LT(1) == IToken.tIDENTIFIER) {
+ while (LT(1) == IToken.tCOLONCOLON || LT(1) == IToken.tIDENTIFIER) {
end = consume();
if (end.getType() == IToken.tIDENTIFIER)
end = consumeTemplateParameters(end);
@@ -1944,11 +1823,8 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTExpression lhs = expression();
int l = consume(IToken.tRPAREN).getEndOffset();
IASTCastExpression result = createCastExpression();
- ((ASTNode) result).setOffsetAndLength(startingOffset, l
- - startingOffset);
+ ((ASTNode) result).setOffsetAndLength(startingOffset, l - startingOffset);
result.setTypeId(typeID);
- typeID.setParent(result);
- typeID.setPropertyInParent(IASTCastExpression.TYPE_ID);
result.setOperand(lhs);
if (op.toString().equals(DYNAMIC_CAST)) {
@@ -1963,8 +1839,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
result.setOperator(IASTCastExpression.op_cast);
}
- lhs.setParent(result);
- lhs.setPropertyInParent(IASTCastExpression.OPERAND);
return result;
}
@@ -1991,7 +1865,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
private static final int DEFAULT_CONSTRUCTOR_CHAIN_LIST_SIZE = 4;
/**
- * This is the standard cosntructor that we expect the Parser to be
+ * This is the standard constructor that we expect the Parser to be
* instantiated with.
*
* @param mode
@@ -2050,8 +1924,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
name = createName(name());
break;
default:
- throwBacktrack(firstToken.getOffset(), endOffset
- - firstToken.getOffset());
+ throwBacktrack(firstToken.getOffset(), endOffset - firstToken.getOffset());
}
switch (LT(1)) {
@@ -2064,11 +1937,8 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
ICPPASTUsingDirective astUD = createUsingDirective();
- ((ASTNode) astUD).setOffsetAndLength(firstToken.getOffset(),
- endOffset - firstToken.getOffset());
+ ((ASTNode) astUD).setOffsetAndLength(firstToken.getOffset(), endOffset - firstToken.getOffset());
astUD.setQualifiedName(name);
- name.setParent(astUD);
- name.setPropertyInParent(ICPPASTUsingDirective.QUALIFIED_NAME);
return astUD;
}
@@ -2091,25 +1961,18 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
ICPPASTUsingDeclaration result = createUsingDeclaration();
- ((ASTNode) result).setOffsetAndLength(firstToken.getOffset(), end
- - firstToken.getOffset());
+ ((ASTNode) result).setOffsetAndLength(firstToken.getOffset(), end - firstToken.getOffset());
result.setIsTypename(typeName);
result.setName(name);
- name.setPropertyInParent(ICPPASTUsingDeclaration.NAME);
- name.setParent(result);
return result;
}
- /**
- * @return
- */
+
protected ICPPASTUsingDeclaration createUsingDeclaration() {
return new CPPASTUsingDeclaration();
}
- /**
- * @return
- */
+
protected ICPPASTUsingDirective createUsingDirective() {
return new CPPASTUsingDirective();
}
@@ -2146,20 +2009,12 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
try {
IASTDeclaration d = declaration();
linkage.addDeclaration(d);
- d.setParent(linkage);
- d
- .setPropertyInParent(ICPPASTLinkageSpecification.OWNED_DECLARATION);
} catch (BacktrackException bt) {
IASTProblem p = failParse(bt);
IASTProblemDeclaration pd = createProblemDeclaration();
- p.setParent(pd);
pd.setProblem(p);
((CPPASTNode) pd).setOffsetAndLength(((CPPASTNode) p));
- p.setPropertyInParent(IASTProblemHolder.PROBLEM);
linkage.addDeclaration(pd);
- pd.setParent(linkage);
- pd
- .setPropertyInParent(ICPPASTLinkageSpecification.OWNED_DECLARATION);
errorHandling();
if (checkToken == LA(1).hashCode())
errorHandling();
@@ -2170,18 +2025,14 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
// consume the }
int endOffset = consume(IToken.tRBRACE).getEndOffset();
- ((CPPASTNode) linkage)
- .setLength(endOffset - firstToken.getOffset());
+ ((CPPASTNode) linkage).setLength(endOffset - firstToken.getOffset());
return linkage;
}
// single declaration
IASTDeclaration d = declaration();
linkage.addDeclaration(d);
- d.setParent(linkage);
- d.setPropertyInParent(ICPPASTLinkageSpecification.OWNED_DECLARATION);
- ((CPPASTNode) linkage).setLength(calculateEndOffset(d)
- - firstToken.getOffset());
+ ((CPPASTNode) linkage).setLength(calculateEndOffset(d) - firstToken.getOffset());
return linkage;
}
@@ -2193,7 +2044,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
/**
- * Represents the emalgamation of template declarations, template
+ * Represents the amalgamation of template declarations, template
* instantiations and specializations in the ANSI C++ grammar.
* template-declaration: export? template < template-parameter-list >
* declaration explicit-instantiation: template declaration
@@ -2241,16 +2092,13 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IGPPASTExplicitTemplateInstantiation temp = createGnuTemplateInstantiation();
switch (firstToken.getType()) {
case IToken.t_static:
- temp
- .setModifier(IGPPASTExplicitTemplateInstantiation.ti_static);
+ temp.setModifier(IGPPASTExplicitTemplateInstantiation.ti_static);
break;
case IToken.t_extern:
- temp
- .setModifier(IGPPASTExplicitTemplateInstantiation.ti_extern);
+ temp.setModifier(IGPPASTExplicitTemplateInstantiation.ti_extern);
break;
case IToken.t_inline:
- temp
- .setModifier(IGPPASTExplicitTemplateInstantiation.ti_inline);
+ temp.setModifier(IGPPASTExplicitTemplateInstantiation.ti_inline);
break;
}
templateInstantiation = temp;
@@ -2259,12 +2107,8 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
try {
IASTDeclaration d = declaration();
((ASTNode) templateInstantiation).setOffsetAndLength(firstToken
- .getOffset(), calculateEndOffset(d)
- - firstToken.getOffset());
+ .getOffset(), calculateEndOffset(d) - firstToken.getOffset());
templateInstantiation.setDeclaration(d);
- d.setParent(templateInstantiation);
- d
- .setPropertyInParent(ICPPASTExplicitTemplateInstantiation.OWNED_DECLARATION);
} finally {
--templateCount;
}
@@ -2279,12 +2123,8 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
try {
IASTDeclaration d = declaration();
((ASTNode) templateSpecialization).setOffsetAndLength(
- firstToken.getOffset(), calculateEndOffset(d)
- - firstToken.getOffset());
+ firstToken.getOffset(), calculateEndOffset(d) - firstToken.getOffset());
templateSpecialization.setDeclaration(d);
- d.setParent(templateSpecialization);
- d
- .setPropertyInParent(ICPPASTTemplateSpecialization.OWNED_DECLARATION);
} finally {
--templateCount;
}
@@ -2303,14 +2143,9 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
calculateEndOffset(d) - firstToken.getOffset());
templateDecl.setExported(exported);
templateDecl.setDeclaration(d);
- d.setParent(templateDecl);
- d.setPropertyInParent(ICPPASTTemplateDeclaration.OWNED_DECLARATION);
for (int i = 0; i < parms.size(); ++i) {
- ICPPASTTemplateParameter parm = (ICPPASTTemplateParameter) parms
- .get(i);
+ ICPPASTTemplateParameter parm = (ICPPASTTemplateParameter) parms.get(i);
templateDecl.addTemplateParamter(parm);
- parm.setParent(templateDecl);
- parm.setPropertyInParent(ICPPASTTemplateDeclaration.PARAMETER);
}
}
finally
@@ -2325,30 +2160,22 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
}
- /**
- * @return
- */
+
protected ICPPASTTemplateDeclaration createTemplateDeclaration() {
return new CPPASTTemplateDeclaration();
}
- /**
- * @return
- */
+
protected ICPPASTTemplateSpecialization createTemplateSpecialization() {
return new CPPASTTemplateSpecialization();
}
- /**
- * @return
- */
+
protected IGPPASTExplicitTemplateInstantiation createGnuTemplateInstantiation() {
return new GPPASTExplicitTemplateInstantiation();
}
- /**
- * @return
- */
+
protected ICPPASTExplicitTemplateInstantiation createTemplateInstantiation() {
return new CPPASTExplicitTemplateInstantiation();
}
@@ -2389,15 +2216,14 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTName identifierName = null;
IASTTypeId typeId = null;
- if (LT(1) == IToken.tIDENTIFIER) // optional identifier
- {
+ if (LT(1) == IToken.tIDENTIFIER) { // optional identifier
identifierName = createName(identifier());
lastOffset = calculateEndOffset(identifierName);
- if (LT(1) == IToken.tASSIGN) // optional = type-id
- {
+ if (LT(1) == IToken.tASSIGN) { // optional = type-id
consume();
typeId = typeId(false); // type-id
- if (typeId == null) throw backtrack;
+ if (typeId == null)
+ throw backtrack;
lastOffset = calculateEndOffset(typeId);
}
} else {
@@ -2409,14 +2235,8 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
lastOffset - startingToken.getOffset());
parm.setParameterType(type);
parm.setName(identifierName);
- identifierName.setParent(parm);
- identifierName
- .setPropertyInParent(ICPPASTSimpleTypeTemplateParameter.PARAMETER_NAME);
if (typeId != null) {
parm.setDefaultType(typeId);
- typeId.setParent(parm);
- typeId
- .setPropertyInParent(ICPPASTSimpleTypeTemplateParameter.DEFAULT_TYPE);
}
returnValue.add(parm);
@@ -2430,12 +2250,10 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTName identifierName = null;
IASTExpression optionalExpression = null;
- if (LT(1) == IToken.tIDENTIFIER) // optional identifier
- {
+ if (LT(1) == IToken.tIDENTIFIER) { // optional identifier
identifierName = createName(identifier());
last = calculateEndOffset(identifierName);
- if (LT(1) == IToken.tASSIGN) // optional = type-id
- {
+ if (LT(1) == IToken.tASSIGN) { // optional = type-id
consume();
optionalExpression = primaryExpression();
last = calculateEndOffset(optionalExpression);
@@ -2444,26 +2262,15 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
identifierName = createName();
ICPPASTTemplatedTypeTemplateParameter parm = createTemplatedTemplateParameter();
- ((ASTNode) parm).setOffsetAndLength(firstToken.getOffset(),
- last - firstToken.getOffset());
+ ((ASTNode) parm).setOffsetAndLength(firstToken.getOffset(), last - firstToken.getOffset());
parm.setName(identifierName);
- identifierName.setParent(parm);
- identifierName
- .setPropertyInParent(ICPPASTTemplatedTypeTemplateParameter.PARAMETER_NAME);
if (optionalExpression != null) {
parm.setDefaultValue(optionalExpression);
- optionalExpression.setParent(parm);
- optionalExpression
- .setPropertyInParent(ICPPASTTemplatedTypeTemplateParameter.DEFAULT_VALUE);
}
for (int i = 0; i < subResult.size(); ++i) {
- ICPPASTTemplateParameter p = (ICPPASTTemplateParameter) subResult
- .get(i);
+ ICPPASTTemplateParameter p = (ICPPASTTemplateParameter) subResult.get(i);
parm.addTemplateParamter(p);
- p.setParent(parm);
- p
- .setPropertyInParent(ICPPASTTemplatedTypeTemplateParameter.PARAMETER);
}
returnValue.add(parm);
@@ -2477,16 +2284,11 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
}
- /**
- * @return
- */
+
protected ICPPASTTemplatedTypeTemplateParameter createTemplatedTemplateParameter() {
return new CPPASTTemplatedTypeTemplateParameter();
}
- /**
- * @return
- */
protected ICPPASTSimpleTypeTemplateParameter createSimpleTemplateParameter() {
return new CPPASTSimpleTypeTemplateParameter();
}
@@ -2507,8 +2309,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
* @throws BacktrackException
* request a backtrack
*/
- protected IASTDeclaration declaration() throws EndOfFileException,
- BacktrackException {
+ protected IASTDeclaration declaration() throws EndOfFileException, BacktrackException {
switch (LT(1)) {
case IToken.t_asm:
return asmDeclaration();
@@ -2537,8 +2338,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTDeclaration d1 = null, d2 = null;
IToken after = null;
try {
- d1 = simpleDeclaration(SimpleDeclarationStrategy.TRY_FUNCTION,
- false);
+ d1 = simpleDeclaration(SimpleDeclarationStrategy.TRY_FUNCTION, false);
try {
after = LA(1);
} catch (EndOfFileException eof) {
@@ -2568,8 +2368,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
if (sd.getDeclarators()[0] instanceof IASTStandardFunctionDeclarator) {
- IASTStandardFunctionDeclarator fd = (IASTStandardFunctionDeclarator) sd
- .getDeclarators()[0];
+ IASTStandardFunctionDeclarator fd = (IASTStandardFunctionDeclarator) sd.getDeclarators()[0];
if (sd.getDeclSpecifier().getStorageClass() == IASTDeclSpecifier.sc_typedef)
return d1;
IASTParameterDeclaration[] parms = fd.getParameters();
@@ -2595,8 +2394,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
backup(simpleDeclarationMark);
try {
- d2 = simpleDeclaration(SimpleDeclarationStrategy.TRY_VARIABLE,
- false);
+ d2 = simpleDeclaration(SimpleDeclarationStrategy.TRY_VARIABLE, false);
if (after != null && after != LA(1)) {
backup(after);
return d1;
@@ -2618,11 +2416,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTAmbiguousDeclaration result = createAmbiguousDeclaration();
((CPPASTNode) result).setOffsetAndLength((ASTNode) d1);
result.addDeclaration(d1);
- d1.setParent(result);
- d1.setPropertyInParent(IASTAmbiguousDeclaration.SUBDECLARATION);
result.addDeclaration(d2);
- d2.setParent(result);
- d2.setPropertyInParent(IASTAmbiguousDeclaration.SUBDECLARATION);
return result;
}
@@ -2664,8 +2458,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
ICPPASTNamespaceDefinition namespaceDefinition = createNamespaceDefinition();
((ASTNode) namespaceDefinition).setOffset(first.getOffset());
namespaceDefinition.setName(name);
- name.setParent(namespaceDefinition);
- name.setPropertyInParent(ICPPASTNamespaceDefinition.NAMESPACE_NAME);
namespaceDeclarationLoop: while (true) {
switch (LT(1)) {
@@ -2676,21 +2468,13 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
int checkToken = LA(1).hashCode();
try {
IASTDeclaration d = declaration();
- d.setParent(namespaceDefinition);
- d
- .setPropertyInParent(ICPPASTNamespaceDefinition.OWNED_DECLARATION);
namespaceDefinition.addDeclaration(d);
} catch (BacktrackException bt) {
IASTProblem p = failParse(bt);
IASTProblemDeclaration pd = createProblemDeclaration();
- p.setParent(pd);
pd.setProblem(p);
((CPPASTNode) pd).setOffsetAndLength((CPPASTNode) p);
- p.setPropertyInParent(IASTProblemHolder.PROBLEM);
namespaceDefinition.addDeclaration(pd);
- pd.setParent(namespaceDefinition);
- pd
- .setPropertyInParent(ICPPASTNamespaceDefinition.OWNED_DECLARATION);
errorHandling();
if (checkToken == LA(1).hashCode())
errorHandling();
@@ -2702,15 +2486,13 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
// consume the }
int end = consume().getEndOffset();
- ((CPPASTNode) namespaceDefinition).setLength(end
- - first.getOffset());
+ ((CPPASTNode) namespaceDefinition).setLength(end - first.getOffset());
return namespaceDefinition;
} else if (LT(1) == IToken.tASSIGN) {
IToken assign = consume();
if (name.toString() == null) {
- throwBacktrack(first.getOffset(), assign.getEndOffset()
- - first.getOffset());
+ throwBacktrack(first.getOffset(), assign.getEndOffset() - first.getOffset());
return null;
}
@@ -2719,15 +2501,9 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
int end = consume(IToken.tSEMI).getEndOffset();
ICPPASTNamespaceAlias alias = createNamespaceAlias();
- ((ASTNode) alias).setOffsetAndLength(first.getOffset(), end
- - first.getOffset());
+ ((ASTNode) alias).setOffsetAndLength(first.getOffset(), end - first.getOffset());
alias.setAlias(name);
- name.setParent(alias);
- name.setPropertyInParent(ICPPASTNamespaceAlias.ALIAS_NAME);
alias.setMappingName(qualifiedName);
- qualifiedName.setParent(alias);
- qualifiedName
- .setPropertyInParent(ICPPASTNamespaceAlias.MAPPING_NAME);
return alias;
} else {
throwBacktrack(first.getOffset(), last - first.getOffset());
@@ -2735,21 +2511,15 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
}
- /**
- * @return
- */
+
protected ICPPASTNamespaceAlias createNamespaceAlias() {
return new CPPASTNamespaceAlias();
}
- /**
- * @param duple
- * @return
- */
+
protected ICPPASTQualifiedName createQualifiedName(ITokenDuple duple) {
CPPASTQualifiedName result = new CPPASTQualifiedName();
- result.setOffsetAndLength(duple.getStartOffset(), duple.getEndOffset()
- - duple.getStartOffset());
+ result.setOffsetAndLength(duple.getStartOffset(), duple.getEndOffset() - duple.getStartOffset());
result.setValue(duple.toString());
ITokenDuple[] segments = duple.getSegments();
int startingValue = 0;
@@ -2769,16 +2539,9 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
// templateID
subName = createTemplateID(segments[i]);
- if (i == segments.length - 1 && duple instanceof OperatorTokenDuple) { // make
- // sure
- // the
- // last
- // segment
- // is
- // an
- // OperatorName/ConversionName
- subName = createOperatorName((OperatorTokenDuple) duple,
- subName);
+ if (i == segments.length - 1 && duple instanceof OperatorTokenDuple) {
+ // make sure the last segment is an OperatorName/ConversionName
+ subName = createOperatorName((OperatorTokenDuple) duple, subName);
}
// bug 189299, 193152 indicate that there have been nested qualified names
@@ -2787,14 +2550,10 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTName[] subNames= ((ICPPASTQualifiedName) subName).getNames();
for (int j = 0; j < subNames.length; j++) {
subName = subNames[j];
- subName.setParent(result);
- subName.setPropertyInParent(ICPPASTQualifiedName.SEGMENT_NAME);
result.addName(subName);
}
}
else {
- subName.setParent(result);
- subName.setPropertyInParent(ICPPASTQualifiedName.SEGMENT_NAME);
((ASTNode) subName).setOffsetAndLength(segments[i].getStartOffset(),
segments[i].getEndOffset() - segments[i].getStartOffset());
result.addName(subName);
@@ -2810,38 +2569,27 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
protected ICPPASTTemplateId createTemplateID(ITokenDuple duple) {
ICPPASTTemplateId result = new CPPASTTemplateId();
((ASTNode) result).setOffsetAndLength(duple.getStartOffset(), duple
- .getEndOffset()
- - duple.getStartOffset());
+ .getEndOffset() - duple.getStartOffset());
char[] image = duple.extractNameFromTemplateId();
CPPASTName templateIdName = (CPPASTName) createName();
templateIdName.setOffsetAndLength(duple.getStartOffset(), image.length);
templateIdName.setName(image);
result.setTemplateName(templateIdName);
- templateIdName.setParent(result);
- templateIdName.setPropertyInParent(ICPPASTTemplateId.TEMPLATE_NAME);
if (duple.getTemplateIdArgLists() != null) {
List args = duple.getTemplateIdArgLists()[0];
if (args != null)
for (int i = 0; i < args.size(); ++i) {
IASTNode n = (IASTNode) args.get(i);
- if (n instanceof IASTTypeId || n instanceof IASTExpression) {
- n.setParent(result);
- n
- .setPropertyInParent(ICPPASTTemplateId.TEMPLATE_ID_ARGUMENT);
- if (n instanceof IASTTypeId)
- result.addTemplateArgument((IASTTypeId) n);
- else
- result.addTemplateArgument((IASTExpression) n);
- }
+ if (n instanceof IASTTypeId)
+ result.addTemplateArgument((IASTTypeId) n);
+ else if(n instanceof IASTExpression)
+ result.addTemplateArgument((IASTExpression) n);
}
}
return result;
}
- /**
- * @param duple
- * @return
- */
+
protected IASTName createName(ITokenDuple duple) {
if (duple == null)
return createName();
@@ -2871,21 +2619,17 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
((ASTNode) name).setOffsetAndLength(duple.getStartOffset(), duple
- .getEndOffset()
- - duple.getStartOffset());
+ .getEndOffset() - duple.getStartOffset());
return name;
}
- protected IASTName createOperatorName(OperatorTokenDuple duple,
- IASTName name) {
+ protected IASTName createOperatorName(OperatorTokenDuple duple, IASTName name) {
IASTName aName = null;
if (duple.isConversionOperator()) {
aName = new CPPASTConversionName(name.toCharArray());
IASTTypeId typeId = duple.getTypeId();
- typeId.setParent(aName);
- typeId.setPropertyInParent(ICPPASTConversionName.TYPE_ID);
((CPPASTConversionName) aName).setTypeId(typeId);
} else {
aName = new CPPASTOperatorName(name.toCharArray());
@@ -2899,9 +2643,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
return aName;
}
- /**
- * @return
- */
+
protected ICPPASTNamespaceDefinition createNamespaceDefinition() {
return new CPPASTNamespaceDefinition();
}
@@ -2940,27 +2682,20 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
} catch (FoundDeclaratorException e) {
tryAgain = true;
declSpec = e.declSpec;
- declarators = (IASTDeclarator[]) ArrayUtil
- .append(IASTDeclarator.class, declarators,
- e.declarator);
+ declarators = (IASTDeclarator[]) ArrayUtil.append(IASTDeclarator.class, declarators, e.declarator);
backup( e.currToken );
}
if (LT(1) != IToken.tSEMI && LT(1) != IToken.tEOC) {
if( !tryAgain )
- declarators = (IASTDeclarator[]) ArrayUtil
- .append(IASTDeclarator.class, declarators,
- initDeclarator(strategy));
+ declarators = (IASTDeclarator[]) ArrayUtil.append(IASTDeclarator.class, declarators, initDeclarator(strategy));
while (LT(1) == IToken.tCOMMA) {
consume();
- declarators = (IASTDeclarator[]) ArrayUtil.append(
- IASTDeclarator.class, declarators,
- initDeclarator(strategy));
+ declarators = (IASTDeclarator[]) ArrayUtil.append(IASTDeclarator.class, declarators, initDeclarator(strategy));
}
}
- declarators = (IASTDeclarator[]) ArrayUtil.removeNulls(
- IASTDeclarator.class, declarators);
+ declarators = (IASTDeclarator[]) ArrayUtil.removeNulls(IASTDeclarator.class, declarators);
boolean hasFunctionBody = false;
boolean hasFunctionTryBlock = false;
@@ -2978,15 +2713,13 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
case IToken.t_try:
consume();
if (LT(1) == IToken.tCOLON) {
- constructorChain = new ArrayList(
- DEFAULT_CONSTRUCTOR_CHAIN_LIST_SIZE);
+ constructorChain = new ArrayList(DEFAULT_CONSTRUCTOR_CHAIN_LIST_SIZE);
ctorInitializer(constructorChain);
}
hasFunctionTryBlock = true;
break;
case IToken.tCOLON:
- constructorChain = new ArrayList(
- DEFAULT_CONSTRUCTOR_CHAIN_LIST_SIZE);
+ constructorChain = new ArrayList(DEFAULT_CONSTRUCTOR_CHAIN_LIST_SIZE);
ctorInitializer(constructorChain);
hasFunctionBody = true;
break;
@@ -3021,68 +2754,42 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
if (!(declarator instanceof IASTStandardFunctionDeclarator))
throwBacktrack(firstOffset, LA(1).getEndOffset() - firstOffset);
- if (!constructorChain.isEmpty()
- && declarator instanceof ICPPASTFunctionDeclarator) {
+ if (!constructorChain.isEmpty() && declarator instanceof ICPPASTFunctionDeclarator) {
ICPPASTFunctionDeclarator fd = (ICPPASTFunctionDeclarator) declarator;
int size = constructorChain.size();
for (int i = 0; i < size; ++i) {
- ICPPASTConstructorChainInitializer initializer = (ICPPASTConstructorChainInitializer) constructorChain
- .get(i);
+ ICPPASTConstructorChainInitializer initializer = (ICPPASTConstructorChainInitializer) constructorChain.get(i);
fd.addConstructorToChain(initializer);
- initializer.setParent(fd);
- initializer
- .setPropertyInParent(ICPPASTFunctionDeclarator.CONSTRUCTOR_CHAIN_MEMBER);
}
// fix for 86698, now that the constructorChain is established,
// update the declarator's length
- if (fd instanceof ASTNode
- && constructorChain.get(size - 1) instanceof ASTNode) {
+ if (fd instanceof ASTNode && constructorChain.get(size - 1) instanceof ASTNode) {
ASTNode init = (ASTNode) constructorChain.get(size - 1);
- ((ASTNode) fd).setLength(init.getOffset()
- + init.getLength() - ((ASTNode) fd).getOffset());
+ ((ASTNode) fd).setLength(init.getOffset() + init.getLength() - ((ASTNode) fd).getOffset());
}
}
IASTFunctionDefinition funcDefinition = createFunctionDefinition();
((ASTNode) funcDefinition).setOffset(firstOffset);
funcDefinition.setDeclSpecifier(declSpec);
- declSpec.setParent(funcDefinition);
- declSpec.setPropertyInParent(IASTFunctionDefinition.DECL_SPECIFIER);
-
- funcDefinition
- .setDeclarator((IASTStandardFunctionDeclarator) declarator);
- declarator.setParent(funcDefinition);
- declarator.setPropertyInParent(IASTFunctionDefinition.DECLARATOR);
+ funcDefinition.setDeclarator((IASTStandardFunctionDeclarator) declarator);
IASTStatement s = handleFunctionBody();
if (s != null) {
funcDefinition.setBody(s);
- s.setParent(funcDefinition);
- s.setPropertyInParent(IASTFunctionDefinition.FUNCTION_BODY);
}
- ((CPPASTNode) funcDefinition).setLength(calculateEndOffset(s)
- - firstOffset);
+ ((CPPASTNode) funcDefinition).setLength(calculateEndOffset(s) - firstOffset);
- if (hasFunctionTryBlock
- && declarator instanceof ICPPASTFunctionTryBlockDeclarator) {
+ if (hasFunctionTryBlock && declarator instanceof ICPPASTFunctionTryBlockDeclarator) {
List handlers = new ArrayList(DEFAULT_CATCH_HANDLER_LIST_SIZE);
catchHandlerSequence(handlers);
for (int i = 0; i < handlers.size(); ++i) {
- ICPPASTCatchHandler handler = (ICPPASTCatchHandler) handlers
- .get(i);
- ((ICPPASTFunctionTryBlockDeclarator) declarator)
- .addCatchHandler(handler);
- handler.setParent(declarator);
- handler
- .setPropertyInParent(ICPPASTFunctionTryBlockDeclarator.CATCH_HANDLER);
- ((CPPASTNode) funcDefinition)
- .setLength(calculateEndOffset(handler)
- - firstOffset);
-
+ ICPPASTCatchHandler handler = (ICPPASTCatchHandler) handlers.get(i);
+ ((ICPPASTFunctionTryBlockDeclarator) declarator).addCatchHandler(handler);
+ ((CPPASTNode) funcDefinition).setLength(calculateEndOffset(handler) - firstOffset);
}
-
}
return funcDefinition;
}
@@ -3094,28 +2801,19 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
((ASTNode) simpleDeclaration).setOffsetAndLength(firstOffset, length);
simpleDeclaration.setDeclSpecifier(declSpec);
- declSpec.setParent(simpleDeclaration);
- declSpec.setPropertyInParent(IASTSimpleDeclaration.DECL_SPECIFIER);
for (int i = 0; i < declarators.length; ++i) {
- IASTDeclarator declarator = declarators[i];
- simpleDeclaration.addDeclarator(declarator);
- declarator.setParent(simpleDeclaration);
- declarator.setPropertyInParent(IASTSimpleDeclaration.DECLARATOR);
+ simpleDeclaration.addDeclarator(declarators[i]);
}
return simpleDeclaration;
}
- /**
- * @return
- */
+
protected IASTFunctionDefinition createFunctionDefinition() {
return new CPPASTFunctionDefinition();
}
- /**
- * @return
- */
+
protected IASTSimpleDeclaration createSimpleDeclaration() {
return new CPPASTSimpleDeclaration();
}
@@ -3165,18 +2863,11 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
ICPPASTConstructorChainInitializer ctorInitializer = createConstructorChainInitializer();
- ((ASTNode) ctorInitializer).setOffsetAndLength(duple
- .getStartOffset(), end - duple.getStartOffset());
+ ((ASTNode) ctorInitializer).setOffsetAndLength(duple.getStartOffset(), end - duple.getStartOffset());
ctorInitializer.setMemberInitializerId(name);
- name.setParent(ctorInitializer);
- name
- .setPropertyInParent(ICPPASTConstructorChainInitializer.MEMBER_ID);
if (expressionList != null) {
ctorInitializer.setInitializerValue(expressionList);
- expressionList.setParent(ctorInitializer);
- expressionList
- .setPropertyInParent(ICPPASTConstructorChainInitializer.INITIALIZER);
}
collection.add(ctorInitializer);
@@ -3227,27 +2918,18 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
if (current == LA(1)) {
- throwBacktrack(current.getOffset(), figureEndOffset(declSpec,
- declarator)
- - current.getOffset());
+ throwBacktrack(current.getOffset(), figureEndOffset(declSpec, declarator) - current.getOffset());
}
ICPPASTParameterDeclaration parm = createParameterDeclaration();
- ((ASTNode) parm).setOffsetAndLength(current.getOffset(),
- figureEndOffset(declSpec, declarator) - current.getOffset());
+ ((ASTNode) parm).setOffsetAndLength(current.getOffset(), figureEndOffset(declSpec, declarator) - current.getOffset());
parm.setDeclSpecifier(declSpec);
- declSpec.setParent(parm);
- declSpec.setPropertyInParent(IASTParameterDeclaration.DECL_SPECIFIER);
if (declarator != null) {
parm.setDeclarator(declarator);
- declarator.setParent(parm);
- declarator.setPropertyInParent(IASTParameterDeclaration.DECLARATOR);
}
return parm;
}
- /**
- * @return
- */
+
protected ICPPASTParameterDeclaration createParameterDeclaration() {
return new CPPASTParameterDeclaration();
}
@@ -3348,8 +3030,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
case IToken.t_restrict:
if (!supportRestrict) {
IToken la = LA(1);
- throwBacktrack(la.getOffset(), la.getEndOffset()
- - la.getOffset());
+ throwBacktrack(la.getOffset(), la.getEndOffset() - la.getOffset());
}
isRestrict = true;
last = consume();
@@ -3381,8 +3062,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
case IToken.t__Complex:
if (!supportComplex) {
IToken la = LA(1);
- throwBacktrack(la.getOffset(), la.getEndOffset()
- - la.getOffset());
+ throwBacktrack(la.getOffset(), la.getEndOffset() - la.getOffset());
}
last = consume();
isComplex=true;
@@ -3455,14 +3135,9 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
ICPPASTSimpleDeclSpecifier simpleDeclSpec = null;
if (isLongLong || typeofExpression != null) {
simpleDeclSpec = createGPPSimpleDeclSpecifier();
- ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec)
- .setLongLong(isLongLong);
+ ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec).setLongLong(isLongLong);
if (typeofExpression != null) {
- ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec)
- .setTypeofExpression(typeofExpression);
- typeofExpression.setParent(simpleDeclSpec);
- typeofExpression
- .setPropertyInParent(IGPPASTSimpleDeclSpecifier.TYPEOF_EXPRESSION);
+ ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec).setTypeofExpression(typeofExpression);
}
} else
simpleDeclSpec = createSimpleDeclSpecifier();
@@ -3471,8 +3146,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
((ASTNode) simpleDeclSpec).setOffsetAndLength((ASTNode) typeofExpression);
} else {
int l = last != null ? last.getEndOffset() - firstToken.getOffset() : 0;
- ((ASTNode) simpleDeclSpec)
- .setOffsetAndLength(firstToken.getOffset(), l);
+ ((ASTNode) simpleDeclSpec).setOffsetAndLength(firstToken.getOffset(), l);
}
simpleDeclSpec.setConst(isConst);
simpleDeclSpec.setVolatile(isVolatile);
@@ -3492,7 +3166,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
simpleDeclSpec.setSigned(isSigned);
fde.declSpec = simpleDeclSpec;
throw fde;
-
}
duple = name();
@@ -3564,8 +3237,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
elabSpec.setStorageClass(storageClass);
elabSpec.setVirtual(isVirtual);
elabSpec.setExplicit(isExplicit);
- ((CPPASTNode) elabSpec).setOffsetAndLength(startOffset,
- calculateEndOffset(elabSpec) - startOffset);
+ ((CPPASTNode) elabSpec).setOffsetAndLength(startOffset, calculateEndOffset(elabSpec) - startOffset);
return elabSpec;
}
if (enumSpec != null) {
@@ -3578,8 +3250,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
((ICPPASTDeclSpecifier) enumSpec).setExplicit(isExplicit);
enumSpec.setInline(isInline);
enumSpec.setStorageClass(storageClass);
- ((CPPASTNode) enumSpec).setOffsetAndLength(startOffset,
- calculateEndOffset(enumSpec) - startOffset);
+ ((CPPASTNode) enumSpec).setOffsetAndLength(startOffset, calculateEndOffset(enumSpec) - startOffset);
return (ICPPASTDeclSpecifier) enumSpec;
}
if (classSpec != null) {
@@ -3592,8 +3263,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
classSpec.setStorageClass(storageClass);
classSpec.setVirtual(isVirtual);
classSpec.setExplicit(isExplicit);
- ((CPPASTNode) classSpec).setOffsetAndLength(startOffset,
- calculateEndOffset(classSpec) - startOffset);
+ ((CPPASTNode) classSpec).setOffsetAndLength(startOffset, calculateEndOffset(classSpec) - startOffset);
return classSpec;
}
if (duple != null) {
@@ -3601,9 +3271,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
nameSpec.setIsTypename(isTypename);
IASTName name = createName(duple);
nameSpec.setName(name);
- name.setParent(nameSpec);
- name.setPropertyInParent(IASTNamedTypeSpecifier.NAME);
-
nameSpec.setConst(isConst);
nameSpec.setVolatile(isVolatile);
if (nameSpec instanceof IGPPASTDeclSpecifier)
@@ -3613,26 +3280,17 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
nameSpec.setStorageClass(storageClass);
nameSpec.setVirtual(isVirtual);
nameSpec.setExplicit(isExplicit);
- ((CPPASTNode) nameSpec).setOffsetAndLength(startOffset, last
- .getEndOffset()
- - startOffset);
+ ((CPPASTNode) nameSpec).setOffsetAndLength(startOffset, last.getEndOffset() - startOffset);
return nameSpec;
}
ICPPASTSimpleDeclSpecifier simpleDeclSpec = null;
if (isComplex || isImaginary || isLongLong || typeofExpression != null) {
simpleDeclSpec = createGPPSimpleDeclSpecifier();
- ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec)
- .setLongLong(isLongLong);
- ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec)
- .setComplex(isComplex);
- ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec)
- .setImaginary(isImaginary);
+ ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec).setLongLong(isLongLong);
+ ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec).setComplex(isComplex);
+ ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec).setImaginary(isImaginary);
if (typeofExpression != null) {
- ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec)
- .setTypeofExpression(typeofExpression);
- typeofExpression.setParent(simpleDeclSpec);
- typeofExpression
- .setPropertyInParent(IGPPASTSimpleDeclSpecifier.TYPEOF_EXPRESSION);
+ ((IGPPASTSimpleDeclSpecifier) simpleDeclSpec).setTypeofExpression(typeofExpression);
}
} else
simpleDeclSpec = createSimpleDeclSpecifier();
@@ -3641,8 +3299,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
((ASTNode) simpleDeclSpec).setOffsetAndLength((ASTNode) typeofExpression);
} else {
int l = last != null ? last.getEndOffset() - firstToken.getOffset() : 0;
- ((ASTNode) simpleDeclSpec)
- .setOffsetAndLength(firstToken.getOffset(), l);
+ ((ASTNode) simpleDeclSpec).setOffsetAndLength(firstToken.getOffset(), l);
}
simpleDeclSpec.setConst(isConst);
simpleDeclSpec.setVolatile(isVolatile);
@@ -3664,23 +3321,17 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
return simpleDeclSpec;
}
- /**
- * @return
- */
+
protected ICPPASTSimpleDeclSpecifier createGPPSimpleDeclSpecifier() {
return new GPPASTSimpleDeclSpecifier();
}
- /**
- * @return
- */
+
protected ICPPASTSimpleDeclSpecifier createSimpleDeclSpecifier() {
return new CPPASTSimpleDeclSpecifier();
}
- /**
- * @return
- */
+
protected IASTNamedTypeSpecifier createNamedTypeSpecifier() {
return new CPPASTNamedTypeSpecifier();
}
@@ -3721,24 +3372,18 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTName name = createName(name());
ICPPASTElaboratedTypeSpecifier elaboratedTypeSpec = createElaboratedTypeSpecifier();
- ((ASTNode) elaboratedTypeSpec).setOffsetAndLength(t.getOffset(),
- calculateEndOffset(name) - t.getOffset());
+ ((ASTNode) elaboratedTypeSpec).setOffsetAndLength(t.getOffset(), calculateEndOffset(name) - t.getOffset());
elaboratedTypeSpec.setKind(eck);
elaboratedTypeSpec.setName(name);
- name.setParent(elaboratedTypeSpec);
- name.setPropertyInParent(IASTElaboratedTypeSpecifier.TYPE_NAME);
return elaboratedTypeSpec;
}
- /**
- * @return
- */
+
protected ICPPASTElaboratedTypeSpecifier createElaboratedTypeSpecifier() {
return new CPPASTElaboratedTypeSpecifier();
}
- protected IASTDeclarator initDeclarator() throws EndOfFileException,
- BacktrackException {
+ protected IASTDeclarator initDeclarator() throws EndOfFileException, BacktrackException {
return initDeclarator(SimpleDeclarationStrategy.TRY_FUNCTION);
}
@@ -3762,10 +3407,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTInitializer initializer = optionalCPPInitializer(d);
if (initializer != null) {
d.setInitializer(initializer);
- initializer.setParent(d);
- initializer.setPropertyInParent(IASTDeclarator.INITIALIZER);
- ((ASTNode) d).setLength(calculateEndOffset(initializer)
- - ((ASTNode) d).getOffset());
+ ((ASTNode) d).setLength(calculateEndOffset(initializer) - ((ASTNode) d).getOffset());
}
return d;
}
@@ -3801,26 +3443,18 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
ICPPASTConstructorInitializer result = createConstructorInitializer();
((ASTNode) result).setOffsetAndLength(o, l - o);
result.setExpression(astExpression);
- astExpression.setParent(result);
- astExpression
- .setPropertyInParent(ICPPASTConstructorInitializer.EXPRESSION);
return result;
}
return null;
}
- /**
- * @return
- */
+
protected ICPPASTConstructorInitializer createConstructorInitializer() {
return new CPPASTConstructorInitializer();
}
- /**
- *
- */
- protected IASTInitializer initializerClause() throws EndOfFileException,
- BacktrackException {
+
+ protected IASTInitializer initializerClause() throws EndOfFileException, BacktrackException {
if (LT(1) == IToken.tLBRACE) {
int startingOffset = consume().getOffset();
@@ -3842,9 +3476,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTInitializer clause = initializerClause();
if (clause != null) {
result.addInitializer(clause);
- clause.setParent(result);
- clause
- .setPropertyInParent(IASTInitializerList.NESTED_INITIALIZER);
}
if (LT(1) == IToken.tRBRACE || LT(1) == IToken.tEOC)
break;
@@ -3862,22 +3493,15 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTInitializerExpression result = createInitializerExpression();
((ASTNode) result).setOffsetAndLength(((ASTNode) assignmentExpression));
result.setExpression(assignmentExpression);
- assignmentExpression.setParent(result);
- assignmentExpression
- .setPropertyInParent(IASTInitializerExpression.INITIALIZER_EXPRESSION);
return result;
}
- /**
- * @return
- */
+
protected IASTInitializerList createInitializerList() {
return new CPPASTInitializerList();
}
- /**
- * @return
- */
+
protected IASTInitializerExpression createInitializerExpression() {
return new CPPASTInitializerExpression();
}
@@ -3925,8 +3549,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
__attribute_decl_seq(supportAttributeSpecifiers, supportDeclspecSpecifiers);
if (!pointerOps.isEmpty())
- finalOffset = calculateEndOffset((IASTNode) pointerOps
- .get(pointerOps.size() - 1));
+ finalOffset = calculateEndOffset((IASTNode) pointerOps.get(pointerOps.size() - 1));
if (!forNewTypeId && LT(1) == IToken.tLPAREN) {
IToken mark = mark();
@@ -3944,8 +3567,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
declaratorName = consumeTemplatedOperatorName();
finalOffset = calculateEndOffset(declaratorName);
if (declaratorName instanceof ICPPASTQualifiedName
- && ((ICPPASTQualifiedName) declaratorName)
- .isConversionOrOperator())
+ && ((ICPPASTQualifiedName) declaratorName).isConversionOrOperator())
isFunction = true;
} catch (BacktrackException bt) {
declaratorName = createName();
@@ -4013,16 +3635,13 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
finalOffset = last.getEndOffset();
break;
default:
- int endOffset = (last != null) ? last
- .getEndOffset() : LA(1).getEndOffset();
+ int endOffset = (last != null) ? last.getEndOffset() : LA(1).getEndOffset();
if (seenParameter)
- throwBacktrack(startingOffset, endOffset
- - startingOffset);
+ throwBacktrack(startingOffset, endOffset - startingOffset);
IASTParameterDeclaration p = parameterDeclaration();
finalOffset = calculateEndOffset(p);
if (parameters == Collections.EMPTY_LIST)
- parameters = new ArrayList(
- DEFAULT_PARM_LIST_SIZE);
+ parameters = new ArrayList(DEFAULT_PARM_LIST_SIZE);
parameters.add(p);
seenParameter = true;
}
@@ -4051,8 +3670,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
// parameter declaration, see
// void getenv(name) const char * name; {}
// This will be determined further below
- while ((LT(1) == IToken.t_const || LT(1) == IToken.t_volatile)
- && numCVModifiers < 2) {
+ while ((LT(1) == IToken.t_const || LT(1) == IToken.t_volatile) && numCVModifiers < 2) {
IToken t = consume();
finalOffset = t.getEndOffset();
cvModifiers[numCVModifiers++] = t;
@@ -4061,8 +3679,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
// check for throws clause here
if (LT(1) == IToken.t_throw) {
- exceptionSpecIds = new ArrayList(
- DEFAULT_SIZE_EXCEPTIONS_LIST);
+ exceptionSpecIds = new ArrayList(DEFAULT_SIZE_EXCEPTIONS_LIST);
consume(); // throw
consume(IToken.tLPAREN); // (
boolean done = false;
@@ -4085,10 +3702,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
before.getOffset(), before.getLength());
IASTProblemTypeId typeIdProblem = createTypeIDProblem();
typeIdProblem.setProblem(p);
- ((CPPASTNode) typeIdProblem)
- .setOffsetAndLength(((CPPASTNode) p));
- p.setParent(typeIdProblem);
- p.setPropertyInParent(IASTProblemHolder.PROBLEM);
+ ((CPPASTNode) typeIdProblem).setOffsetAndLength(((CPPASTNode) p));
exceptionSpecIds.add(typeIdProblem);
if (before == LA(1))
done = true;
@@ -4134,8 +3748,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
arrayMods = new ArrayList(DEFAULT_POINTEROPS_LIST_SIZE);
consumeArrayModifiers(arrayMods);
if (!arrayMods.isEmpty())
- finalOffset = calculateEndOffset((IASTNode) arrayMods
- .get(arrayMods.size() - 1));
+ finalOffset = calculateEndOffset((IASTNode) arrayMods.get(arrayMods.size() - 1));
continue;
case IToken.tCOLON:
consume();
@@ -4166,11 +3779,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
fc = createFunctionDeclarator();
fc.setVarArgs(encounteredVarArgs);
for (int i = 0; i < parameters.size(); ++i) {
- IASTParameterDeclaration p = (IASTParameterDeclaration) parameters
- .get(i);
- p.setParent(fc);
- p
- .setPropertyInParent(IASTStandardFunctionDeclarator.FUNCTION_PARAMETER);
+ IASTParameterDeclaration p = (IASTParameterDeclaration) parameters.get(i);
fc.addParameterDeclaration(p);
}
fc.setConst(isConst);
@@ -4179,24 +3788,17 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
for (int i = 0; i < exceptionSpecIds.size(); ++i) {
IASTTypeId typeId = (IASTTypeId) exceptionSpecIds.get(i);
fc.addExceptionSpecificationTypeId(typeId);
- typeId.setParent(fc);
- typeId
- .setPropertyInParent(ICPPASTFunctionDeclarator.EXCEPTION_TYPEID);
}
d = fc;
} else if (arrayMods != Collections.EMPTY_LIST) {
d = createArrayDeclarator();
for (int i = 0; i < arrayMods.size(); ++i) {
IASTArrayModifier m = (IASTArrayModifier) arrayMods.get(i);
- m.setParent(d);
- m.setPropertyInParent(IASTArrayDeclarator.ARRAY_MODIFIER);
((IASTArrayDeclarator) d).addArrayModifier(m);
}
} else if (bitField != null) {
IASTFieldDeclarator fl = createFieldDeclarator();
fl.setBitFieldSize(bitField);
- bitField.setParent(fl);
- bitField.setPropertyInParent(IASTFieldDeclarator.FIELD_SIZE);
d = fl;
} else {
d = createDeclarator();
@@ -4204,22 +3806,15 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
for (int i = 0; i < pointerOps.size(); ++i) {
IASTPointerOperator po = (IASTPointerOperator) pointerOps.get(i);
d.addPointerOperator(po);
- po.setParent(d);
- po.setPropertyInParent(IASTDeclarator.POINTER_OPERATOR);
}
if (innerDecl != null) {
d.setNestedDeclarator(innerDecl);
- innerDecl.setParent(d);
- innerDecl.setPropertyInParent(IASTDeclarator.NESTED_DECLARATOR);
}
if (declaratorName != null) {
d.setName(declaratorName);
- declaratorName.setParent(d);
- declaratorName.setPropertyInParent(IASTDeclarator.DECLARATOR_NAME);
}
- ((ASTNode) d).setOffsetAndLength(startingOffset, finalOffset
- - startingOffset);
+ ((ASTNode) d).setOffsetAndLength(startingOffset, finalOffset - startingOffset);
return d;
}
@@ -4248,52 +3843,39 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
return false;
}
- /**
- * @return
- */
+
protected IASTProblemTypeId createTypeIDProblem() {
return new CPPASTProblemTypeId();
}
- /**
- * @return
- */
+
protected ICPPASTFunctionTryBlockDeclarator createTryBlockDeclarator() {
return new CPPASTFunctionTryBlockDeclarator();
}
- /**
- * @return
- */
+
protected ICPPASTFunctionDeclarator createFunctionDeclarator() {
return new CPPASTFunctionDeclarator();
}
- /**
- * @return
- */
+
protected IASTFieldDeclarator createFieldDeclarator() {
return new CPPASTFieldDeclarator();
}
- /**
- * @return
- */
+
protected IASTDeclarator createArrayDeclarator() {
return new CPPASTArrayDeclarator();
}
- /**
- * @return
- */
+
protected IASTDeclarator createDeclarator() {
return new CPPASTDeclarator();
}
protected IASTName consumeTemplatedOperatorName()
throws EndOfFileException, BacktrackException {
- TemplateParameterManager argumentList = TemplateParameterManager
- .getInstance();
+ TemplateParameterManager argumentList = TemplateParameterManager.getInstance();
try {
if (LT(1) == IToken.t_operator)
return operatorId(null, null);
@@ -4313,8 +3895,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
end = consumeTemplateArguments(end, argumentList);
}
- while (LT(1) == IToken.tCOLONCOLON
- || LT(1) == IToken.tIDENTIFIER) {
+ while (LT(1) == IToken.tCOLONCOLON || LT(1) == IToken.tIDENTIFIER) {
end = consume();
if (end.getType() == IToken.tIDENTIFIER) {
end = consumeTemplateArguments(end, argumentList);
@@ -4398,8 +3979,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
((ASTNode) astClassSpecifier).setOffset(classKey.getOffset());
astClassSpecifier.setKey(classKind);
astClassSpecifier.setName(name);
- name.setParent(astClassSpecifier);
- name.setPropertyInParent(IASTCompositeTypeSpecifier.TYPE_NAME);
// base clause
if (LT(1) == IToken.tCOLON) {
@@ -4418,19 +3997,17 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IToken key = consume();
int l = consume(IToken.tCOLON).getEndOffset();
ICPPASTVisiblityLabel label = createVisibilityLabel();
- ((ASTNode) label).setOffsetAndLength(key.getOffset(), l
- - key.getOffset());
+ ((ASTNode) label).setOffsetAndLength(key.getOffset(), l - key.getOffset());
label.setVisibility(token2Visibility(key.getType()));
astClassSpecifier.addMemberDeclaration(label);
label.setParent(astClassSpecifier);
- label
- .setPropertyInParent(ICPPASTCompositeTypeSpecifier.VISIBILITY_LABEL);
+ // this overrides the MEMBER_DECLARATION property
+ label.setPropertyInParent(ICPPASTCompositeTypeSpecifier.VISIBILITY_LABEL);
break;
}
case IToken.tRBRACE: {
int l = consume().getEndOffset();
- ((ASTNode) astClassSpecifier).setLength(l
- - classKey.getOffset());
+ ((ASTNode) astClassSpecifier).setLength(l - classKey.getOffset());
break memberDeclarationLoop;
}
case IToken.tEOC:
@@ -4440,20 +4017,12 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
try {
IASTDeclaration d = declaration();
astClassSpecifier.addMemberDeclaration(d);
- d.setParent(astClassSpecifier);
- d
- .setPropertyInParent(IASTCompositeTypeSpecifier.MEMBER_DECLARATION);
} catch (BacktrackException bt) {
IASTProblem p = failParse(bt);
IASTProblemDeclaration pd = createProblemDeclaration();
pd.setProblem(p);
((CPPASTNode) pd).setOffsetAndLength(((CPPASTNode) p));
- p.setParent(pd);
- p.setPropertyInParent(IASTProblemHolder.PROBLEM);
astClassSpecifier.addMemberDeclaration(pd);
- pd.setParent(astClassSpecifier);
- pd
- .setPropertyInParent(IASTCompositeTypeSpecifier.MEMBER_DECLARATION);
if (checkToken == LA(1).hashCode())
errorHandling();
}
@@ -4462,29 +4031,21 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
failParseWithErrorHandling();
}
}
-
}
return astClassSpecifier;
}
- /**
- * @return
- */
+
protected ICPPASTCompositeTypeSpecifier createClassSpecifier() {
return new CPPASTCompositeTypeSpecifier();
}
- /**
- * @return
- */
+
protected ICPPASTVisiblityLabel createVisibilityLabel() {
return new CPPASTVisibilityLabel();
}
- /**
- * @param type
- * @return
- */
+
protected int token2Visibility(int type) {
switch (type) {
case IToken.t_public:
@@ -4567,20 +4128,11 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
consume();
ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier baseSpec = createBaseSpecifier();
if (firstToken != null)
- ((ASTNode) baseSpec).setOffsetAndLength(firstToken
- .getOffset(), last.getEndOffset()
- - firstToken.getOffset());
+ ((ASTNode) baseSpec).setOffsetAndLength(firstToken.getOffset(), last.getEndOffset() - firstToken.getOffset());
baseSpec.setVirtual(isVirtual);
baseSpec.setVisibility(visibility);
baseSpec.setName(name);
- name.setParent(baseSpec);
- name
- .setPropertyInParent(ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier.NAME);
-
astClassSpec.addBaseSpecifier(baseSpec);
- baseSpec.setParent(astClassSpec);
- baseSpec
- .setPropertyInParent(ICPPASTCompositeTypeSpecifier.BASE_SPECIFIER);
isVirtual = false;
visibility = 0;
@@ -4594,20 +4146,11 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
name = createName();
baseSpec = createBaseSpecifier();
if (firstToken != null)
- ((ASTNode) baseSpec).setOffsetAndLength(firstToken
- .getOffset(), last.getEndOffset()
- - firstToken.getOffset());
+ ((ASTNode) baseSpec).setOffsetAndLength(firstToken.getOffset(), last.getEndOffset() - firstToken.getOffset());
baseSpec.setVirtual(isVirtual);
baseSpec.setVisibility(visibility);
baseSpec.setName(name);
- name.setParent(baseSpec);
- name
- .setPropertyInParent(ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier.NAME);
-
astClassSpec.addBaseSpecifier(baseSpec);
- baseSpec.setParent(astClassSpec);
- baseSpec
- .setPropertyInParent(ICPPASTCompositeTypeSpecifier.BASE_SPECIFIER);
// fall through
default:
break baseSpecifierLoop;
@@ -4655,16 +4198,12 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTProblemDeclaration pd = createProblemDeclaration();
pd.setProblem(p);
((CPPASTNode) pd).setOffsetAndLength(((CPPASTNode) p));
- p.setParent(pd);
- p.setPropertyInParent(IASTProblemHolder.PROBLEM);
decl = pd;
}
ICPPASTCatchHandler handler = createCatchHandler();
if (decl != null) {
handler.setDeclaration(decl);
- decl.setParent(handler);
- decl.setPropertyInParent(ICPPASTCatchHandler.DECLARATION);
}
if (LT(1) != IToken.tEOC) {
@@ -4674,9 +4213,6 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
handler.setIsCatchAll(isEllipsis);
if (compoundStatement != null) {
handler.setCatchBody(compoundStatement);
- compoundStatement.setParent(handler);
- compoundStatement
- .setPropertyInParent(ICPPASTCatchHandler.CATCH_BODY);
}
}
@@ -4706,20 +4242,15 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IToken curr = LA(1);
IToken last = skipOverCompoundStatement();
IASTCompoundStatement cs = createCompoundStatement();
- ((ASTNode) cs).setOffsetAndLength(curr.getOffset(), last
- .getEndOffset()
- - curr.getOffset());
+ ((ASTNode) cs).setOffsetAndLength(curr.getOffset(), last.getEndOffset() - curr.getOffset());
return cs;
- } else if (mode == ParserMode.COMPLETION_PARSE
- || mode == ParserMode.SELECTION_PARSE) {
+ } else if (mode == ParserMode.COMPLETION_PARSE || mode == ParserMode.SELECTION_PARSE) {
if (scanner.isOnTopContext())
return compoundStatement();
IToken curr = LA(1);
IToken last = skipOverCompoundStatement();
IASTCompoundStatement cs = createCompoundStatement();
- ((ASTNode) cs).setOffsetAndLength(curr.getOffset(), last
- .getEndOffset()
- - curr.getOffset());
+ ((ASTNode) cs).setOffsetAndLength(curr.getOffset(), last.getEndOffset() - curr.getOffset());
return cs;
}
return compoundStatement();
@@ -4757,19 +4288,13 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
int checkOffset = LA(1).hashCode();
IASTDeclaration declaration = declaration();
translationUnit.addDeclaration(declaration);
- declaration.setParent(translationUnit);
- declaration
- .setPropertyInParent(IASTTranslationUnit.OWNED_DECLARATION);
if (LA(1).hashCode() == checkOffset)
failParseWithErrorHandling();
} catch (EndOfFileException e) {
if (translationUnit.getDeclarations().length != 0) {
- CPPASTNode d = (CPPASTNode) translationUnit
- .getDeclarations()[translationUnit
- .getDeclarations().length - 1];
- ((CPPASTNode) translationUnit).setLength(d.getOffset()
- + d.getLength());
+ CPPASTNode d = (CPPASTNode) translationUnit.getDeclarations()[translationUnit.getDeclarations().length - 1];
+ ((CPPASTNode) translationUnit).setLength(d.getOffset() + d.getLength());
} else
((CPPASTNode) translationUnit).setLength(0);
break;
@@ -4778,14 +4303,9 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
// Mark as failure and try to reach a recovery point
IASTProblem p = failParse(b);
IASTProblemDeclaration pd = createProblemDeclaration();
- p.setParent(pd);
pd.setProblem(p);
((CPPASTNode) pd).setOffsetAndLength(((CPPASTNode) p));
- p.setPropertyInParent(IASTProblemHolder.PROBLEM);
translationUnit.addDeclaration(pd);
- pd.setParent(translationUnit);
- pd
- .setPropertyInParent(IASTTranslationUnit.OWNED_DECLARATION);
errorHandling();
} catch (EndOfFileException e) {
break;
@@ -4814,16 +4334,12 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
translationUnit.setComments((IASTComment[]) ArrayUtil.trim(IASTComment.class, comments));
}
- /**
- * @return
- */
+
protected IASTProblemDeclaration createProblemDeclaration() {
return new CPPASTProblemDeclaration();
}
- /**
- * @return
- */
+
protected CPPASTTranslationUnit createTranslationUnit() {
return new CPPASTTranslationUnit();
}
@@ -4850,89 +4366,45 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
((ASTNode) arrayMod).setOffsetAndLength(o, l - o);
if (exp != null) {
arrayMod.setConstantExpression(exp);
- exp.setParent(arrayMod);
- exp.setPropertyInParent(IASTArrayModifier.CONSTANT_EXPRESSION);
}
collection.add(arrayMod);
}
return;
}
- /**
- * @return
- */
+
protected IASTArrayModifier createArrayModifier() {
return new CPPASTArrayModifier();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#getTranslationUnit()
- */
protected IASTTranslationUnit getTranslationUnit() {
return translationUnit;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createCompoundStatement()
- */
protected IASTCompoundStatement createCompoundStatement() {
return new CPPASTCompoundStatement();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createBinaryExpression()
- */
protected IASTBinaryExpression createBinaryExpression() {
return new CPPASTBinaryExpression();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createConditionalExpression()
- */
protected IASTConditionalExpression createConditionalExpression() {
return new CPPASTConditionalExpression();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createUnaryExpression()
- */
protected IASTUnaryExpression createUnaryExpression() {
return new CPPASTUnaryExpression();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createCompoundStatementExpression()
- */
protected IGNUASTCompoundStatementExpression createCompoundStatementExpression() {
return new CPPASTCompoundStatementExpression();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createExpressionList()
- */
protected IASTExpressionList createExpressionList() {
return new CPPASTExpressionList();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createName(org.eclipse.cdt.core.parser.IToken)
- */
protected IASTName createName(IToken token) {
IASTName n = null;
@@ -4953,174 +4425,97 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
return n;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createName()
- */
protected IASTName createName() {
return new CPPASTName();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createEnumerator()
- */
protected IASTEnumerator createEnumerator() {
return new CPPASTEnumerator();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#buildTypeIdExpression(int,
- * org.eclipse.cdt.core.dom.ast.IASTTypeId, int)
- */
+
protected IASTExpression buildTypeIdExpression(int op, IASTTypeId typeId,
int startingOffset, int endingOffset) {
ICPPASTTypeIdExpression typeIdExpression = createTypeIdExpression();
- ((ASTNode) typeIdExpression).setOffsetAndLength(startingOffset,
- endingOffset - startingOffset);
+ ((ASTNode) typeIdExpression).setOffsetAndLength(startingOffset, endingOffset - startingOffset);
((ASTNode) typeIdExpression).setLength(endingOffset - startingOffset);
typeIdExpression.setOperator(op);
typeIdExpression.setTypeId(typeId);
- typeId.setParent(typeIdExpression);
- typeId.setPropertyInParent(IASTTypeIdExpression.TYPE_ID);
return typeIdExpression;
}
- /**
- * @return
- */
protected ICPPASTTypeIdExpression createTypeIdExpression() {
return new CPPASTTypeIdExpression();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.parser2.AbstractGNUSourceCodeParser#createEnumerationSpecifier()
- */
protected IASTEnumerationSpecifier createEnumerationSpecifier() {
return new CPPASTEnumerationSpecifier();
}
- /**
- * @return
- */
protected IASTLabelStatement createLabelStatement() {
return new CPPASTLabelStatement();
}
- /**
- * @return
- */
protected IASTGotoStatement createGoToStatement() {
return new CPPASTGotoStatement();
}
- /**
- * @return
- */
protected IASTReturnStatement createReturnStatement() {
return new CPPASTReturnStatement();
}
- /**
- * @return
- */
protected ICPPASTForStatement createForStatement() {
return new CPPASTForStatement();
}
- /**
- * @return
- */
protected IASTContinueStatement createContinueStatement() {
return new CPPASTContinueStatement();
}
- /**
- * @return
- */
protected IASTDoStatement createDoStatement() {
return new CPPASTDoStatement();
}
- /**
- * @return
- */
protected IASTBreakStatement createBreakStatement() {
return new CPPASTBreakStatement();
}
- /**
- * @return
- */
protected IASTWhileStatement createWhileStatement() {
return new CPPASTWhileStatement();
}
- /**
- * @return
- */
protected IASTNullStatement createNullStatement() {
return new CPPASTNullStatement();
}
- /**
- * @return
- */
protected ICPPASTSwitchStatement createSwitchStatement() {
return new CPPASTSwitchStatement();
}
- /**
- * @return
- */
protected ICPPASTIfStatement createIfStatement() {
return new CPPASTIfStatement();
}
- /**
- * @return
- */
protected IASTDefaultStatement createDefaultStatement() {
return new CPPASTDefaultStatement();
}
- /**
- * @return
- */
protected IASTCaseStatement createCaseStatement() {
return new CPPASTCaseStatement();
}
- /**
- * @return
- */
protected IASTExpressionStatement createExpressionStatement() {
return new CPPASTExpressionStatement();
}
- /**
- * @return
- */
protected IASTDeclarationStatement createDeclarationStatement() {
return new CPPASTDeclarationStatement();
}
- /**
- * @return
- */
protected IASTASMDeclaration createASMDirective() {
return new CPPASTASMDeclaration();
}
- /**
- * @return
- */
protected IASTCastExpression createCastExpression() {
return new CPPASTCastExpression();
}
@@ -5178,8 +4573,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
* @throws EndOfFileException
* @throws BacktrackException
*/
- protected IASTStatement parseTryStatement() throws EndOfFileException,
- BacktrackException {
+ protected IASTStatement parseTryStatement() throws EndOfFileException, BacktrackException {
int startO = consume().getOffset();
IASTStatement tryBlock = compoundStatement();
List catchHandlers = new ArrayList(DEFAULT_CATCH_HANDLER_LIST_SIZE);
@@ -5187,76 +4581,41 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
ICPPASTTryBlockStatement tryStatement = createTryBlockStatement();
((ASTNode) tryStatement).setOffset(startO);
tryStatement.setTryBody(tryBlock);
- tryBlock.setParent(tryStatement);
- tryBlock.setPropertyInParent(ICPPASTTryBlockStatement.BODY);
for (int i = 0; i < catchHandlers.size(); ++i) {
- ICPPASTCatchHandler handler = (ICPPASTCatchHandler) catchHandlers
- .get(i);
+ ICPPASTCatchHandler handler = (ICPPASTCatchHandler) catchHandlers.get(i);
tryStatement.addCatchHandler(handler);
- handler.setParent(tryStatement);
- handler.setPropertyInParent(ICPPASTTryBlockStatement.CATCH_HANDLER);
- ((ASTNode) tryStatement).setLength(calculateEndOffset(handler)
- - startO);
+ ((ASTNode) tryStatement).setLength(calculateEndOffset(handler) - startO);
}
return tryStatement;
}
- /**
- * @return
- */
+
protected ICPPASTTryBlockStatement createTryBlockStatement() {
return new CPPASTTryBlockStatement();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser#nullifyTranslationUnit()
- */
protected void nullifyTranslationUnit() {
translationUnit = null;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser#createProblemStatement()
- */
protected IASTProblemStatement createProblemStatement() {
return new CPPASTProblemStatement();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser#createProblemExpression()
- */
protected IASTProblemExpression createProblemExpression() {
return new CPPASTProblemExpression();
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser#createProblem(int,
- * int, int)
- */
protected IASTProblem createProblem(int signal, int offset, int length) {
- IASTProblem result = new CPPASTProblem(signal, EMPTY_STRING, false,
- true);
+ IASTProblem result = new CPPASTProblem(signal, EMPTY_STRING, false, true);
((ASTNode) result).setOffsetAndLength(offset, length);
((ASTNode) result).setLength(length);
return result;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser#parseWhileStatement()
- */
- protected IASTStatement parseWhileStatement() throws EndOfFileException,
- BacktrackException {
+
+ protected IASTStatement parseWhileStatement() throws EndOfFileException, BacktrackException {
int startOffset = consume().getOffset();
consume(IToken.tLPAREN);
IASTNode while_condition = cppStyleCondition(true);
@@ -5278,21 +4637,12 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
(while_body != null ? calculateEndOffset(while_body) : LA(1).getEndOffset()) - startOffset);
if (while_condition instanceof IASTExpression) {
while_statement.setCondition((IASTExpression) while_condition);
- while_condition.setParent(while_statement);
- while_condition
- .setPropertyInParent(IASTWhileStatement.CONDITIONEXPRESSION);
} else if (while_condition instanceof IASTDeclaration) {
- while_statement
- .setConditionDeclaration((IASTDeclaration) while_condition);
- while_condition.setParent(while_statement);
- while_condition
- .setPropertyInParent(ICPPASTWhileStatement.CONDITIONDECLARATION);
+ while_statement.setConditionDeclaration((IASTDeclaration) while_condition);
}
if (while_body != null) {
while_statement.setBody(while_body);
- while_body.setParent(while_statement);
- while_body.setPropertyInParent(IASTWhileStatement.BODY);
}
return while_statement;
@@ -5303,8 +4653,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
* @param expectSemi TODO
* @return
*/
- protected IASTNode cppStyleCondition(boolean expectSemi) throws BacktrackException,
- EndOfFileException {
+ protected IASTNode cppStyleCondition(boolean expectSemi) throws BacktrackException, EndOfFileException {
IToken mark = mark();
try {
IASTExpression e = expression();
@@ -5321,8 +4670,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
} catch (BacktrackException bt) {
backup(mark);
try {
- return simpleDeclaration(
- SimpleDeclarationStrategy.TRY_VARIABLE, true);
+ return simpleDeclaration(SimpleDeclarationStrategy.TRY_VARIABLE, true);
} catch (BacktrackException b) {
failParse();
throwBacktrack(b);
@@ -5354,8 +4702,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
* @throws EndOfFileException
* @throws BacktrackException
*/
- protected IASTStatement parseIfStatement() throws EndOfFileException,
- BacktrackException {
+ protected IASTStatement parseIfStatement() throws EndOfFileException, BacktrackException {
ICPPASTIfStatement result = null;
ICPPASTIfStatement if_statement = null;
int start = LA(1).getOffset();
@@ -5370,18 +4717,12 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
// Completing in the condition
ICPPASTIfStatement new_if = createIfStatement();
if (condition instanceof IASTExpression)
- new_if
- .setConditionExpression((IASTExpression) condition);
+ new_if.setConditionExpression((IASTExpression) condition);
else if (condition instanceof IASTDeclaration)
- new_if
- .setConditionDeclaration((IASTDeclaration) condition);
- condition.setParent(new_if);
- condition.setPropertyInParent(IASTIfStatement.CONDITION);
+ new_if.setConditionDeclaration((IASTDeclaration) condition);
if (if_statement != null) {
if_statement.setElseClause(new_if);
- new_if.setParent(if_statement);
- new_if.setPropertyInParent(IASTIfStatement.ELSE);
}
return result != null ? result : new_if;
}
@@ -5390,10 +4731,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTProblem p = failParse(b);
IASTProblemExpression ps = createProblemExpression();
ps.setProblem(p);
- ((ASTNode) ps).setOffsetAndLength(((ASTNode) p).getOffset(),
- ((ASTNode) p).getLength());
- p.setParent(ps);
- p.setPropertyInParent(IASTProblemHolder.PROBLEM);
+ ((ASTNode) ps).setOffsetAndLength(((ASTNode) p).getOffset(), ((ASTNode) p).getLength());
condition = ps;
if (LT(1) == IToken.tRPAREN)
consume();
@@ -5408,31 +4746,17 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
ICPPASTIfStatement new_if_statement = createIfStatement();
((ASTNode) new_if_statement).setOffset(so);
- if (condition != null && (condition instanceof IASTExpression || condition instanceof IASTDeclaration)) // shouldn't
- // be
- // possible
- // but
- // failure
- // in
- // condition()
- // makes
- // it
- // so
+ if (condition != null && (condition instanceof IASTExpression || condition instanceof IASTDeclaration))
+ // shouldn't be possible but failure in condition() makes it so
{
if( condition instanceof IASTExpression )
new_if_statement.setConditionExpression((IASTExpression) condition);
else if( condition instanceof IASTDeclaration )
new_if_statement.setConditionDeclaration((IASTDeclaration) condition);
- condition.setParent(new_if_statement);
- condition.setPropertyInParent(IASTIfStatement.CONDITION);
}
if (thenClause != null) {
new_if_statement.setThenClause(thenClause);
- thenClause.setParent(new_if_statement);
- thenClause.setPropertyInParent(IASTIfStatement.THEN);
- ((ASTNode) new_if_statement)
- .setLength(calculateEndOffset(thenClause)
- - ((ASTNode) new_if_statement).getOffset());
+ ((ASTNode) new_if_statement).setLength(calculateEndOffset(thenClause) - ((ASTNode) new_if_statement).getOffset());
}
if (LT(1) == IToken.t_else) {
consume();
@@ -5441,12 +4765,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
if (if_statement != null) {
if_statement.setElseClause(new_if_statement);
- new_if_statement.setParent(if_statement);
- new_if_statement
- .setPropertyInParent(IASTIfStatement.ELSE);
- ((ASTNode) if_statement)
- .setLength(calculateEndOffset(new_if_statement)
- - ((ASTNode) if_statement).getOffset());
+ ((ASTNode) if_statement).setLength(calculateEndOffset(new_if_statement) - ((ASTNode) if_statement).getOffset());
}
if (result == null && if_statement != null)
result = if_statement;
@@ -5458,15 +4777,9 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
IASTStatement elseStatement = statement();
new_if_statement.setElseClause(elseStatement);
- elseStatement.setParent(new_if_statement);
- elseStatement.setPropertyInParent(IASTIfStatement.ELSE);
if (if_statement != null) {
if_statement.setElseClause(new_if_statement);
- new_if_statement.setParent(if_statement);
- new_if_statement.setPropertyInParent(IASTIfStatement.ELSE);
- ((ASTNode) if_statement)
- .setLength(calculateEndOffset(new_if_statement)
- - ((ASTNode) if_statement).getOffset());
+ ((ASTNode) if_statement).setLength(calculateEndOffset(new_if_statement) - ((ASTNode) if_statement).getOffset());
} else {
if (result == null && if_statement != null)
result = if_statement;
@@ -5476,15 +4789,10 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
}
} else {
if (thenClause != null)
- ((ASTNode) new_if_statement)
- .setLength(calculateEndOffset(thenClause) - start);
+ ((ASTNode) new_if_statement).setLength(calculateEndOffset(thenClause) - start);
if (if_statement != null) {
if_statement.setElseClause(new_if_statement);
- new_if_statement.setParent(if_statement);
- new_if_statement.setPropertyInParent(IASTIfStatement.ELSE);
- ((ASTNode) new_if_statement)
- .setLength(calculateEndOffset(new_if_statement)
- - start);
+ ((ASTNode) new_if_statement).setLength(calculateEndOffset(new_if_statement) - start);
}
if (result == null && if_statement != null)
result = if_statement;
@@ -5566,23 +4874,15 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
ICPPASTSwitchStatement switch_statement = createSwitchStatement();
((ASTNode) switch_statement).setOffsetAndLength(startOffset,
(switch_body != null ? calculateEndOffset(switch_body) : LA(1).getEndOffset()) - startOffset);
- if( switch_condition instanceof IASTExpression )
- {
+ if( switch_condition instanceof IASTExpression ) {
switch_statement.setControllerExpression((IASTExpression) switch_condition);
- switch_condition.setParent(switch_statement);
- switch_condition.setPropertyInParent(IASTSwitchStatement.CONTROLLER_EXP);
}
- else if( switch_condition instanceof IASTDeclaration )
- {
+ else if( switch_condition instanceof IASTDeclaration ) {
switch_statement.setControllerDeclaration((IASTDeclaration) switch_condition);
- switch_condition.setParent(switch_statement);
- switch_condition.setPropertyInParent(ICPPASTSwitchStatement.CONTROLLER_DECLARATION);
}
if (switch_body != null) {
switch_statement.setBody(switch_body);
- switch_body.setParent(switch_statement);
- switch_body.setPropertyInParent(IASTSwitchStatement.BODY);
}
return switch_statement;
@@ -5636,42 +4936,29 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
IASTStatement for_body = null;
if (LT(1) != IToken.tEOC) {
for_body = statement();
- ((ASTNode) for_statement).setOffsetAndLength(startOffset,
- calculateEndOffset(for_body) - startOffset);
+ ((ASTNode) for_statement).setOffsetAndLength(startOffset, calculateEndOffset(for_body) - startOffset);
}
for_statement.setInitializerStatement(init);
- init.setParent(for_statement);
- init.setPropertyInParent(IASTForStatement.INITIALIZER);
if (for_condition != null) {
- for_condition.setParent(for_statement);
- if( for_condition instanceof IASTExpression )
- {
+ if( for_condition instanceof IASTExpression ) {
for_statement.setConditionExpression((IASTExpression) for_condition);
- for_condition.setPropertyInParent(IASTForStatement.CONDITION);
}
- else if( for_condition instanceof IASTDeclaration )
- {
- for_statement.setConditionDeclaration((IASTDeclaration) for_condition);
- for_condition.setPropertyInParent(ICPPASTForStatement.CONDITION_DECLARATION);
+ else if( for_condition instanceof IASTDeclaration ) {
+ for_statement.setConditionDeclaration((IASTDeclaration) for_condition);
}
}
if (iterationExpression != null) {
for_statement.setIterationExpression(iterationExpression);
- iterationExpression.setParent(for_statement);
- iterationExpression.setPropertyInParent(IASTForStatement.ITERATION);
}
if (for_body != null) {
for_statement.setBody(for_body);
- for_body.setParent(for_statement);
- for_body.setPropertyInParent(IASTForStatement.BODY);
}
return for_statement;
}
- protected IASTComment createComment(IToken commentToken)
- throws EndOfFileException {
+ protected IASTComment createComment(IToken commentToken) throws EndOfFileException {
ASTComment comment = new ASTComment(commentToken);
comment.setParent(translationUnit);
return comment;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTExplicitTemplateInstantiation.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTExplicitTemplateInstantiation.java
index e7f7e48d1c6..82fbdc42823 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTExplicitTemplateInstantiation.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTExplicitTemplateInstantiation.java
@@ -21,16 +21,10 @@ public class GPPASTExplicitTemplateInstantiation extends
private int mod;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTExplicitTemplateInstantiation#getModifier()
- */
public int getModifier() {
return mod;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTExplicitTemplateInstantiation#setModifier(int)
- */
public void setModifier(int value) {
this.mod = value;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTPointer.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTPointer.java
index f8ab673fe2e..ea71a87fef6 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTPointer.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTPointer.java
@@ -19,16 +19,10 @@ public class GPPASTPointer extends CPPASTPointer implements IGPPASTPointer {
private boolean isRestrict;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTPointer#isRestrict()
- */
public boolean isRestrict() {
return isRestrict;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTPointer#setRestrict(boolean)
- */
public void setRestrict(boolean value) {
isRestrict = value;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTSimpleDeclSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTSimpleDeclSpecifier.java
index 948ecb3db38..5fe62b337da 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTSimpleDeclSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GPPASTSimpleDeclSpecifier.java
@@ -26,44 +26,39 @@ public class GPPASTSimpleDeclSpecifier extends CPPASTSimpleDeclSpecifier
private boolean imaginary=false;
private IASTExpression typeOfExpression;
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTSimpleDeclSpecifier#isLongLong()
- */
- public boolean isLongLong() {
+
+
+ public GPPASTSimpleDeclSpecifier() {
+ }
+
+ public GPPASTSimpleDeclSpecifier(IASTExpression typeofExpression) {
+ setTypeofExpression(typeofExpression);
+ }
+
+ public boolean isLongLong() {
return longLong;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTSimpleDeclSpecifier#setLongLong(boolean)
- */
public void setLongLong(boolean value) {
longLong = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTDeclSpecifier#isRestrict()
- */
public boolean isRestrict() {
return restrict;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTDeclSpecifier#setRestrict(boolean)
- */
public void setRestrict(boolean value) {
restrict = value;
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTSimpleDeclSpecifier#setTypeofExpression(org.eclipse.cdt.core.dom.ast.IASTExpression)
- */
public void setTypeofExpression(IASTExpression typeofExpression) {
typeOfExpression = typeofExpression;
+ if (typeofExpression != null) {
+ typeofExpression.setParent(this);
+ typeofExpression.setPropertyInParent(TYPEOF_EXPRESSION);
+ }
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTSimpleDeclSpecifier#getTypeofExpression()
- */
public IASTExpression getTypeofExpression() {
return typeOfExpression;
}