diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTElaboratedTypeSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTElaboratedTypeSpecifier.java
index cae2f343f4e..27a294e2632 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTElaboratedTypeSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTElaboratedTypeSpecifier.java
@@ -10,21 +10,57 @@
package org.eclipse.cdt.core.dom.ast;
/**
+ * This represents an elaborated type specifier in the C & C++ language grammar.
+ *
* @author jcamelon
*/
public interface IASTElaboratedTypeSpecifier extends IASTDeclSpecifier {
- //these should agree with IASTCompositeType keys
+
+ /**
+ * Enumeration.
+ */
public static final int k_enum = 0;
+ /**
+ * Structure.
+ */
public static final int k_struct = 1;
+ /**
+ * Union.
+ */
public static final int k_union = 2;
+ /**
+ * Constant for extensibility in sub-interfaces.
+ */
public static final int k_last = k_union;
+ /**
+ * Get the kind.
+ *
+ * @return int (kind).
+ */
public int getKind();
+ /**
+ * Set the kind.
+ * @param value int (kind)
+ */
public void setKind( int value );
+ /**
+ * TYPE_NAME
describes the relationship between IASTElaboratedTypeSpecifier
and IASTName
.
+ */
public static final ASTNodeProperty TYPE_NAME = new ASTNodeProperty( "Type Name"); //$NON-NLS-1$
+ /**
+ * Get the name.
+ *
+ * @return IASTName
+ */
public IASTName getName();
+ /**
+ * Set the name.
+ *
+ * @param name IASTName
+ */
public void setName( IASTName name );
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTEnumerationSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTEnumerationSpecifier.java
index eaf320a9691..d02934932ec 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTEnumerationSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTEnumerationSpecifier.java
@@ -11,32 +11,90 @@ package org.eclipse.cdt.core.dom.ast;
/**
+ * This interface represents enumerations in C and C++.
+ *
* @author jcamelon
*/
public interface IASTEnumerationSpecifier extends IASTDeclSpecifier {
/**
+ * This interface represents an enumerator member of an enum specifier.
* @author jcamelon
*/
public interface IASTEnumerator extends IASTNode {
+ /**
+ * Empty array (constant).
+ */
public static final IASTEnumerator[] EMPTY_ENUMERATOR_ARRAY = new IASTEnumerator[0];
+ /**
+ * ENUMERATOR_NAME
describes the relationship between IASTEnumerator
and IASTName
.
+ */
public static final ASTNodeProperty ENUMERATOR_NAME = new ASTNodeProperty( "Enumerator Name"); //$NON-NLS-1$
+ /**
+ * Set the enumerator's name.
+ *
+ * @param name
+ */
public void setName( IASTName name );
+ /**
+ * Get the enumerator's name.
+ *
+ * @return IASTName
+ */
public IASTName getName();
+ /**
+ * ENUMERATOR_VALUE
describes the relationship between IASTEnumerator
and IASTExpression
.
+ */
public static final ASTNodeProperty ENUMERATOR_VALUE = new ASTNodeProperty( "Enumerator Value"); //$NON-NLS-1$
+ /**
+ * Set enumerator value.
+ *
+ * @param expression
+ */
public void setValue( IASTExpression expression );
+ /**
+ * Get enumerator value.
+ *
+ * @return IASTExpression
value
+ */
public IASTExpression getValue();
}
+
+ /**
+ * ENUMERATOR
describes the relationship between IASTEnumerationSpecifier
and the nested IASTEnumerator
s.
+ */
public static final ASTNodeProperty ENUMERATOR = new ASTNodeProperty( "Enumerator" ); //$NON-NLS-1$
+ /**
+ * Add an enumerator.
+ *
+ * @param enumerator IASTEnumerator
+ */
public void addEnumerator( IASTEnumerator enumerator );
+ /**
+ * Get enumerators.
+ * @return IASTEnumerator []
array
+ */
public IASTEnumerator[] getEnumerators();
+ /**
+ * ENUMERATION_NAME
describes the relationship between IASTEnumerationSpecifier
and its IASTName
.
+ */
public static final ASTNodeProperty ENUMERATION_NAME = new ASTNodeProperty( "Enum Name"); //$NON-NLS-1$
+ /**
+ * Set the enum's name.
+ *
+ * @param name
+ */
public void setName( IASTName name );
+ /**
+ * Get the enum's name.
+ *
+ * @return
+ */
public IASTName getName();
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpression.java
index 831a9d070e7..c5539b56afb 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpression.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpression.java
@@ -16,5 +16,8 @@ package org.eclipse.cdt.core.dom.ast;
* @author Doug Schaefer
*/
public interface IASTExpression extends IASTNode {
+ /**
+ * Empty expression array.
+ */
public static final IASTExpression [] EMPTY_EXPRESSION_ARRAY = new IASTExpression[0];
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpressionList.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpressionList.java
index b0b47224f79..056f2117662 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpressionList.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IASTExpressionList.java
@@ -11,13 +11,28 @@ package org.eclipse.cdt.core.dom.ast;
/**
+ * Expression List (Comma separated list of expressions).
+ *
* @author jcamelon
*/
public interface IASTExpressionList extends IASTExpression {
+ /**
+ * NESTED_EXPRESSION
describes the relationship between IASTExpressionList
and the nested IASTExpression
s.
+ */
public static final ASTNodeProperty NESTED_EXPRESSION = new ASTNodeProperty( "Nested Expression"); //$NON-NLS-1$
+ /**
+ * Get nested expressions.
+ *
+ * @return IASTExpression []
nested expressions
+ */
public IASTExpression [] getExpressions();
+ /**
+ * Add nested expression.
+ *
+ * @param expression IASTExpression
value to be added.
+ */
public void addExpression( IASTExpression expression );
}
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 d3499cb8279..e74b523d1c3 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
@@ -12,10 +12,15 @@ package org.eclipse.cdt.core.dom.ast;
/**
+ * Expression statement.
+ *
* @author Doug Schaefer
*/
public interface IASTExpressionStatement extends IASTStatement {
+ /**
+ * EXPRESSION
is the relationship between an IASTExpressionStatement
and an IASTExpression
.
+ */
public static final ASTNodeProperty EXPFRESSION = new ASTNodeProperty( "Expression"); //$NON-NLS-1$
/**
* Get the expression in this statement.
@@ -24,5 +29,10 @@ public interface IASTExpressionStatement extends IASTStatement {
*/
public IASTExpression getExpression();
+ /**
+ * Set the expression statement.
+ *
+ * @param expression
+ */
public void setExpression( IASTExpression expression );
}