From 1bb6d2eecc25507d8a8df569be103ce5e2579e67 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Tue, 10 Jan 2012 13:52:35 +0100 Subject: [PATCH] Bug 299911: Introduce ICPPASTInitializerList --- .../core/dom/ast/cpp/ICPPASTExpression.java | 4 +-- .../dom/ast/cpp/ICPPASTInitializerClause.java | 30 +++++++++++++++++++ .../dom/ast/cpp/ICPPASTInitializerList.java | 2 +- .../cpp/CPPASTArraySubscriptExpression.java | 5 ++++ .../parser/cpp/CPPASTBinaryExpression.java | 13 ++++---- .../cpp/CPPASTBinaryTypeIdExpression.java | 5 ++++ .../dom/parser/cpp/CPPASTCastExpression.java | 5 ++++ .../CPPASTCompoundStatementExpression.java | 5 ++++ .../cpp/CPPASTConditionalExpression.java | 5 ++++ .../parser/cpp/CPPASTDeleteExpression.java | 5 ++++ .../dom/parser/cpp/CPPASTExpressionList.java | 13 ++++---- .../dom/parser/cpp/CPPASTFieldReference.java | 7 ++++- .../cpp/CPPASTFunctionCallExpression.java | 5 ++++ .../dom/parser/cpp/CPPASTIdExpression.java | 5 ++++ .../dom/parser/cpp/CPPASTInitializerList.java | 7 ++++- .../parser/cpp/CPPASTLambdaExpression.java | 5 ++++ .../parser/cpp/CPPASTLiteralExpression.java | 5 ++++ .../dom/parser/cpp/CPPASTNewExpression.java | 7 ++++- .../cpp/CPPASTPackExpansionExpression.java | 5 ++++ .../parser/cpp/CPPASTProblemExpression.java | 7 ++++- ...CPPASTSimpleTypeConstructorExpression.java | 5 ++++ .../parser/cpp/CPPASTTypeIdExpression.java | 5 ++++ .../CPPASTTypeIdInitializerExpression.java | 5 ++++ .../dom/parser/cpp/CPPASTUnaryExpression.java | 5 ++++ .../parser/cpp/ICPPInitClauseEvaluation.java | 30 +++++++++++++++++++ 25 files changed, 176 insertions(+), 19 deletions(-) create mode 100644 core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTInitializerClause.java create mode 100644 core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInitClauseEvaluation.java diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTExpression.java index 084b7e1e860..7674c43cc24 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTExpression.java @@ -19,6 +19,6 @@ import org.eclipse.cdt.core.dom.ast.IASTExpression; * @noimplement This interface is not intended to be implemented by clients. * @since 5.4 */ -public interface ICPPASTExpression extends IASTExpression { - +public interface ICPPASTExpression extends IASTExpression, ICPPASTInitializerClause { + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTInitializerClause.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTInitializerClause.java new file mode 100644 index 00000000000..12c8ad7b733 --- /dev/null +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTInitializerClause.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2012 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Markus Schorn - initial API and implementation + *******************************************************************************/ + +package org.eclipse.cdt.core.dom.ast.cpp; + +import org.eclipse.cdt.core.dom.ast.IASTInitializerClause; +import org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPInitClauseEvaluation; + +/** + * C++ specific initializer clause + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + * @since 5.4 + */ +public interface ICPPASTInitializerClause extends IASTInitializerClause { + + /** + * Returns the evaluation object for this expression. + * @noreference This method is not intended to be referenced by clients. + */ + ICPPInitClauseEvaluation getEvaluation(); +} diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTInitializerList.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTInitializerList.java index 2dc1d7b2c4f..21edb4e56be 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTInitializerList.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTInitializerList.java @@ -19,7 +19,7 @@ import org.eclipse.cdt.core.dom.ast.IASTInitializerList; * @noextend This interface is not intended to be extended by clients. * @noimplement This interface is not intended to be implemented by clients. */ -public interface ICPPASTInitializerList extends IASTInitializerList, ICPPASTPackExpandable { +public interface ICPPASTInitializerList extends IASTInitializerList, ICPPASTInitializerClause, ICPPASTPackExpandable { @Override ICPPASTInitializerList copy(); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTArraySubscriptExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTArraySubscriptExpression.java index 06f7f315aab..913ca3902f3 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTArraySubscriptExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTArraySubscriptExpression.java @@ -44,6 +44,11 @@ public class CPPASTArraySubscriptExpression extends ASTNode private ICPPFunction overload= UNINITIALIZED_FUNCTION; private IASTImplicitName[] implicitNames; + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTArraySubscriptExpression() { } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTBinaryExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTBinaryExpression.java index a1b8bf66f81..7c8150bbb28 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTBinaryExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTBinaryExpression.java @@ -15,11 +15,7 @@ package org.eclipse.cdt.internal.core.dom.parser.cpp; import static org.eclipse.cdt.core.dom.ast.IASTExpression.ValueCategory.LVALUE; import static org.eclipse.cdt.core.dom.ast.IASTExpression.ValueCategory.PRVALUE; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.glvalueType; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.prvalueType; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.restoreTypedefs; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.typeFromFunctionCall; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.valueCategoryFromFunctionCall; +import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.*; import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUtil.TDEF; import org.eclipse.cdt.core.dom.ast.ASTVisitor; @@ -50,7 +46,12 @@ public class CPPASTBinaryExpression extends ASTNode implements ICPPASTBinaryExpr private IASTInitializerClause operand2; private IType type; private ICPPFunction overload= UNINITIALIZED_FUNCTION; - private IASTImplicitName[] implicitNames; + private IASTImplicitName[] implicitNames = null; + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTBinaryExpression() { } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTBinaryTypeIdExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTBinaryTypeIdExpression.java index 41bb4ca5f77..ae0cf9f0fc8 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTBinaryTypeIdExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTBinaryTypeIdExpression.java @@ -27,6 +27,11 @@ public class CPPASTBinaryTypeIdExpression extends ASTNode implements ICPPASTExpr private Operator fOperator; private IASTTypeId fOperand1; private IASTTypeId fOperand2; + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTBinaryTypeIdExpression() { } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTCastExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTCastExpression.java index 9d4f2b54089..bb5cce839c4 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTCastExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTCastExpression.java @@ -34,6 +34,11 @@ public class CPPASTCastExpression extends ASTNode implements ICPPASTCastExpressi private IASTTypeId typeId; private IType fType; private ValueCategory fValueCategory; + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTCastExpression() { } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTCompoundStatementExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTCompoundStatementExpression.java index 70314762b8c..68e33e4e31a 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTCompoundStatementExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTCompoundStatementExpression.java @@ -35,6 +35,11 @@ public class CPPASTCompoundStatementExpression extends ASTNode implements IGNUAS public CPPASTCompoundStatementExpression() { } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTCompoundStatementExpression(IASTCompoundStatement statement) { setCompoundStatement(statement); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTConditionalExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTConditionalExpression.java index 38d8f53437f..0904dc97953 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTConditionalExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTConditionalExpression.java @@ -54,6 +54,11 @@ public class CPPASTConditionalExpression extends ASTNode implements IASTConditio public CPPASTConditionalExpression() { } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTConditionalExpression(IASTExpression condition, IASTExpression postive, IASTExpression negative) { setLogicalConditionExpression(condition); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTDeleteExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTDeleteExpression.java index 269a6587aac..5b50b21455a 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTDeleteExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTDeleteExpression.java @@ -32,6 +32,11 @@ public class CPPASTDeleteExpression extends ASTNode implements ICPPASTDeleteExpr private boolean isVectored; private IASTImplicitName[] implicitNames = null; + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTDeleteExpression() { } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTExpressionList.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTExpressionList.java index 3dee40762b4..338dde0d46e 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTExpressionList.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTExpressionList.java @@ -14,12 +14,7 @@ package org.eclipse.cdt.internal.core.dom.parser.cpp; import static org.eclipse.cdt.core.dom.ast.IASTExpression.ValueCategory.LVALUE; import static org.eclipse.cdt.core.dom.ast.IASTExpression.ValueCategory.PRVALUE; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.typeFromFunctionCall; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.typeFromReturnType; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.typeOrFunctionSet; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.valueCat; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.valueCategoryFromFunctionCall; -import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.valueCategoryFromReturnType; +import static org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExpressionTypes.*; import org.eclipse.cdt.core.dom.ast.ASTNodeProperty; import org.eclipse.cdt.core.dom.ast.ASTVisitor; @@ -52,6 +47,12 @@ public class CPPASTExpressionList extends ASTNode implements ICPPASTExpressionLi private IASTImplicitName[] implicitNames; private ICPPFunction[] overloads; + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } + @Override public CPPASTExpressionList copy() { return copy(CopyStyle.withoutLocations); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTFieldReference.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTFieldReference.java index f730dec616b..0792dceece0 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTFieldReference.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTFieldReference.java @@ -73,7 +73,12 @@ public class CPPASTFieldReference extends ASTNode setFieldName(name); setFieldOwner(owner); } - + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } + @Override public CPPASTFieldReference copy() { return copy(CopyStyle.withoutLocations); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTFunctionCallExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTFunctionCallExpression.java index add0f8205b9..a7465312e31 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTFunctionCallExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTFunctionCallExpression.java @@ -71,6 +71,11 @@ public class CPPASTFunctionCallExpression extends ASTNode setFunctionNameExpression(functionName); setArguments(args); } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } @Override public CPPASTFunctionCallExpression copy() { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTIdExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTIdExpression.java index 164ef7e2eb2..a20fbc6519a 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTIdExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTIdExpression.java @@ -58,6 +58,11 @@ public class CPPASTIdExpression extends ASTNode implements IASTIdExpression, ICP public CPPASTIdExpression() { } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTIdExpression(IASTName name) { setName(name); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTInitializerList.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTInitializerList.java index c36952741e1..2240ed2d6fe 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTInitializerList.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTInitializerList.java @@ -35,7 +35,12 @@ public class CPPASTInitializerList extends ASTNode implements ICPPASTInitializer public CPPASTInitializerList copy() { return copy(CopyStyle.withoutLocations); } - + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } + @Override public CPPASTInitializerList copy(CopyStyle style) { CPPASTInitializerList copy = new CPPASTInitializerList(); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTLambdaExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTLambdaExpression.java index ff0d4456a7f..b0e7931abe9 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTLambdaExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTLambdaExpression.java @@ -39,6 +39,11 @@ public class CPPASTLambdaExpression extends ASTNode implements ICPPASTLambdaExpr public CPPASTLambdaExpression() { fCaptureDefault= CaptureDefault.UNSPECIFIED; } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } /* (non-Javadoc) * @see org.eclipse.cdt.core.dom.ast.IASTExpression#copy() diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTLiteralExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTLiteralExpression.java index 5b90d709c59..6f068de4f79 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTLiteralExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTLiteralExpression.java @@ -38,6 +38,11 @@ public class CPPASTLiteralExpression extends ASTNode implements ICPPASTLiteralEx public CPPASTLiteralExpression() { } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTLiteralExpression(int kind, char[] value) { this.kind = kind; 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 ef247f13265..64fc03339cc 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 @@ -58,7 +58,12 @@ public class CPPASTNewExpression extends ASTNode implements ICPPASTNewExpression setTypeId(typeId); setInitializer(initializer); } - + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } + @Override public CPPASTNewExpression copy() { return copy(CopyStyle.withoutLocations); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPackExpansionExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPackExpansionExpression.java index 825d7631fa7..6f5a159fa17 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPackExpansionExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPackExpansionExpression.java @@ -41,6 +41,11 @@ public class CPPASTPackExpansionExpression extends ASTNode implements ICPPASTPac pattern.setPropertyInParent(ICPPASTPackExpansionExpression.PATTERN); } } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } @Override public IASTExpression getPattern() { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemExpression.java index a6aa2fa3be0..1fdd18d82d2 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTProblemExpression.java @@ -33,7 +33,12 @@ public class CPPASTProblemExpression extends CPPASTProblemOwner implements IASTP public CPPASTProblemExpression copy() { return copy(CopyStyle.withoutLocations); } - + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } + @Override public CPPASTProblemExpression copy(CopyStyle style) { CPPASTProblemExpression copy = new CPPASTProblemExpression(); 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 3de4e3ef9c7..4d7d6860789 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 @@ -39,6 +39,11 @@ public class CPPASTSimpleTypeConstructorExpression extends ASTNode implements setDeclSpecifier(declSpec); setInitializer(init); } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } @Override public CPPASTSimpleTypeConstructorExpression copy() { 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 94e2f84d37f..c20ee7a1230 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 @@ -32,6 +32,11 @@ public class CPPASTTypeIdExpression extends ASTNode implements ICPPASTTypeIdExpr this.op = op; setTypeId(typeId); } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } @Override public CPPASTTypeIdExpression copy() { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeIdInitializerExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeIdInitializerExpression.java index ef262defe75..842b9c202da 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeIdInitializerExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTTypeIdInitializerExpression.java @@ -31,6 +31,11 @@ public class CPPASTTypeIdInitializerExpression extends ASTTypeIdInitializerExpre public CPPASTTypeIdInitializerExpression(IASTTypeId typeId, IASTInitializer initializer) { super(typeId, initializer); } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } @Override public IASTTypeIdInitializerExpression copy() { 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 f2433143b2c..fb3d94f11a6 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 @@ -60,6 +60,11 @@ public class CPPASTUnaryExpression extends ASTNode implements ICPPASTUnaryExpres public CPPASTUnaryExpression() { } + @Override + public ICPPInitClauseEvaluation getEvaluation() { + // mstodo Auto-generated method stub + return null; + } public CPPASTUnaryExpression(int operator, IASTExpression operand) { op = operator; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInitClauseEvaluation.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInitClauseEvaluation.java new file mode 100644 index 00000000000..255f617f812 --- /dev/null +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInitClauseEvaluation.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2012 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Markus Schorn - initial API and implementation + *******************************************************************************/ + +package org.eclipse.cdt.internal.core.dom.parser.cpp; + +import org.eclipse.cdt.core.dom.ast.IASTExpression.ValueCategory; +import org.eclipse.cdt.core.dom.ast.IType; +import org.eclipse.cdt.core.dom.ast.IValue; + +/** + * Assists in evaluating expressions. + */ +public interface ICPPInitClauseEvaluation { + + boolean isInitializerList(); + boolean isTypeDependent(); + boolean isValueDependent(); + + IType getTypeOrFunctionSet(); + IValue getValue(); + ValueCategory getCategory(); +}