[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] Applied [HEAD] Updates for ISourceElementRequestor - elaborated types & enumerations.
|
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/ChangeLog,v
retrieving revision 1.5
diff -u -r1.5 ChangeLog
--- ChangeLog 23 Jun 2003 18:05:26 -0000 1.5
+++ ChangeLog 24 Jun 2003 20:17:09 -0000
@@ -1,3 +1,6 @@
+2003-06-24 John Camelon
+ Updates for ISourceElementRequestor - elaborated types & enumerations.
+
2003-06-23 John Camelon
Factory/constructor signature updates.
Index: parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java,v
retrieving revision 1.2
diff -u -r1.2 ParserSymbolTableTest.java
--- parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java 24 Jun 2003 19:56:34 -0000 1.2
+++ parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java 24 Jun 2003 20:17:09 -0000
@@ -266,10 +266,10 @@
IDerivableContainerSymbol c = table.newDerivableContainerSymbol("C");
IDerivableContainerSymbol a = table.newDerivableContainerSymbol("A");
- a.addParent( c, true, AccessVisibility.v_public );
+ a.addParent( c, true, AccessVisibility.PUBLIC );
IDerivableContainerSymbol b = table.newDerivableContainerSymbol("B");
- b.addParent( c, true, AccessVisibility.v_public );
+ b.addParent( c, true, AccessVisibility.PUBLIC );
decl.addParent( a );
decl.addParent( b );
Index: parser/org/eclipse/cdt/core/parser/tests/PreprocessorTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/PreprocessorTest.java,v
retrieving revision 1.1
diff -u -r1.1 PreprocessorTest.java
--- parser/org/eclipse/cdt/core/parser/tests/PreprocessorTest.java 23 Jun 2003 18:05:26 -0000 1.1
+++ parser/org/eclipse/cdt/core/parser/tests/PreprocessorTest.java 24 Jun 2003 20:17:09 -0000
@@ -18,29 +18,11 @@
import junit.framework.TestCase;
import org.eclipse.cdt.core.parser.IPreprocessor;
-import org.eclipse.cdt.core.parser.IProblem;
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
import org.eclipse.cdt.core.parser.ParserFactory;
import org.eclipse.cdt.core.parser.ParserMode;
-import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
-import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
-import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
-import org.eclipse.cdt.core.parser.ast.IASTConstructor;
-import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
-import org.eclipse.cdt.core.parser.ast.IASTField;
-import org.eclipse.cdt.core.parser.ast.IASTFunction;
import org.eclipse.cdt.core.parser.ast.IASTInclusion;
-import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
-import org.eclipse.cdt.core.parser.ast.IASTMacro;
-import org.eclipse.cdt.core.parser.ast.IASTMethod;
-import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
-import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
-import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
-import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
-import org.eclipse.cdt.core.parser.ast.IASTTypedef;
-import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
-import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
-import org.eclipse.cdt.core.parser.ast.IASTVariable;
+import org.eclipse.cdt.internal.core.parser.NullSourceElementRequestor;
/**
* @author jcamelon
@@ -48,7 +30,7 @@
*/
public class PreprocessorTest extends TestCase {
- public static class Callback implements ISourceElementRequestor
+ public static class Callback extends NullSourceElementRequestor implements ISourceElementRequestor
{
private List enteredInc = new ArrayList(), exitedInc = new ArrayList();
@@ -58,102 +40,6 @@
}
/* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptProblem(org.eclipse.cdt.core.parser.IProblem)
- */
- public void acceptProblem(IProblem problem) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptMacro(org.eclipse.cdt.core.parser.ast.IASTMacro)
- */
- public void acceptMacro(IASTMacro macro) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptVariable(org.eclipse.cdt.core.parser.ast.IASTVariable)
- */
- public void acceptVariable(IASTVariable variable) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptFunctionDeclaration(org.eclipse.cdt.core.parser.ast.IASTFunction)
- */
- public void acceptFunctionDeclaration(IASTFunction function) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptUsingDirective(org.eclipse.cdt.core.parser.ast.IASTUsingDirective)
- */
- public void acceptUsingDirective(IASTUsingDirective usageDirective) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptUsingDeclaration(org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration)
- */
- public void acceptUsingDeclaration(IASTUsingDeclaration usageDeclaration) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptASMDefinition(org.eclipse.cdt.core.parser.ast.IASTASMDefinition)
- */
- public void acceptASMDefinition(IASTASMDefinition asmDefinition) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptTypedef(org.eclipse.cdt.core.parser.ast.IASTTypedef)
- */
- public void acceptTypedef(IASTTypedef typedef) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptEnumerationSpecifier(org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier)
- */
- public void acceptEnumerationSpecifier(IASTEnumerationSpecifier enumeration) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterFunctionBody(org.eclipse.cdt.core.parser.ast.IASTFunction)
- */
- public void enterFunctionBody(IASTFunction function) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitFunctionBody(org.eclipse.cdt.core.parser.ast.IASTFunction)
- */
- public void exitFunctionBody(IASTFunction function) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterCompilationUnit(org.eclipse.cdt.core.parser.ast.IASTCompilationUnit)
- */
- public void enterCompilationUnit(IASTCompilationUnit compilationUnit) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
* @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterInclusion(org.eclipse.cdt.core.parser.ast.IASTInclusion)
*/
public void enterInclusion(IASTInclusion inclusion) {
@@ -161,162 +47,10 @@
}
/* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterNamespaceDefinition(org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition)
- */
- public void enterNamespaceDefinition(IASTNamespaceDefinition namespaceDefinition) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterClassSpecifier(org.eclipse.cdt.core.parser.ast.IASTClassSpecifier)
- */
- public void enterClassSpecifier(IASTClassSpecifier classSpecification) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterLinkageSpecification(org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification)
- */
- public void enterLinkageSpecification(IASTLinkageSpecification linkageSpec) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterTemplateDeclaration(org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration)
- */
- public void enterTemplateDeclaration(IASTTemplateDeclaration declaration) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterTemplateSpecialization(org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization)
- */
- public void enterTemplateSpecialization(IASTTemplateSpecialization specialization) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterTemplateExplicitInstantiation(org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation)
- */
- public void enterTemplateExplicitInstantiation(IASTTemplateInstantiation instantiation) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptMethodDeclaration(org.eclipse.cdt.core.parser.ast.IASTMethod)
- */
- public void acceptMethodDeclaration(IASTMethod method) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterMethodBody(org.eclipse.cdt.core.parser.ast.IASTMethod)
- */
- public void enterMethodBody(IASTMethod method) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitMethodBody(org.eclipse.cdt.core.parser.ast.IASTMethod)
- */
- public void exitMethodBody(IASTMethod method) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptField(org.eclipse.cdt.core.parser.ast.IASTField)
- */
- public void acceptField(IASTField field) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptConstructor(org.eclipse.cdt.core.parser.ast.IASTConstructor)
- */
- public void acceptConstructor(IASTConstructor constructor) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptClassReference(org.eclipse.cdt.core.parser.ast.IASTClassSpecifier, int)
- */
- public void acceptClassReference(IASTClassSpecifier classSpecifier, int referenceOffset) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitTemplateDeclaration(org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration)
- */
- public void exitTemplateDeclaration(IASTTemplateDeclaration declaration) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitTemplateSpecialization(org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization)
- */
- public void exitTemplateSpecialization(IASTTemplateSpecialization specialization) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitTemplateExplicitInstantiation(org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation)
- */
- public void exitTemplateExplicitInstantiation(IASTTemplateInstantiation instantiation) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitLinkageSpecification(org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification)
- */
- public void exitLinkageSpecification(IASTLinkageSpecification linkageSpec) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitClassSpecifier(org.eclipse.cdt.core.parser.ast.IASTClassSpecifier)
- */
- public void exitClassSpecifier(IASTClassSpecifier classSpecification) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitNamespaceDefinition(org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition)
- */
- public void exitNamespaceDefinition(IASTNamespaceDefinition namespaceDefinition) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
* @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitInclusion(org.eclipse.cdt.core.parser.ast.IASTInclusion)
*/
public void exitInclusion(IASTInclusion inclusion) {
exitedInc.add( inclusion );
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitCompilationUnit(org.eclipse.cdt.core.parser.ast.IASTCompilationUnit)
- */
- public void exitCompilationUnit(IASTCompilationUnit compilationUnit) {
- // TODO Auto-generated method stub
-
}
}
Index: dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java,v
retrieving revision 1.36
diff -u -r1.36 DOMBuilder.java
--- dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java 18 Jun 2003 19:36:20 -0000 1.36
+++ dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java 24 Jun 2003 20:16:50 -0000
@@ -10,6 +10,7 @@
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
import org.eclipse.cdt.core.parser.ast.IASTConstructor;
+import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTField;
import org.eclipse.cdt.core.parser.ast.IASTFunction;
@@ -1284,4 +1285,13 @@
// TODO Auto-generated method stub
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptElaboratedTypeSpecifier(org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier)
+ */
+ public void acceptElaboratedTypeSpecifier(IASTElaboratedTypeSpecifier elaboratedTypeSpec)
+ {
+ // TODO Auto-generated method stub
+
+ }
}
Index: parser/ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/ChangeLog,v
retrieving revision 1.63
diff -u -r1.63 ChangeLog
--- parser/ChangeLog 23 Jun 2003 21:28:14 -0000 1.63
+++ parser/ChangeLog 24 Jun 2003 20:16:51 -0000
@@ -1,3 +1,6 @@
+2003-06-24 John Camelon
+ Updates for ISourceElementRequestor - elaborated types & enumerations.
+
2003-06-23 John Camelon
Updating SimpleDeclarations to move towards new Callback structure.
Index: parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java,v
retrieving revision 1.3
diff -u -r1.3 ISourceElementRequestor.java
--- parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java 13 Jun 2003 20:03:14 -0000 1.3
+++ parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java 24 Jun 2003 20:16:51 -0000
@@ -14,6 +14,7 @@
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
import org.eclipse.cdt.core.parser.ast.IASTConstructor;
+import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTField;
import org.eclipse.cdt.core.parser.ast.IASTFunction;
@@ -77,4 +78,6 @@
public void exitNamespaceDefinition( IASTNamespaceDefinition namespaceDefinition );
public void exitInclusion( IASTInclusion inclusion );
public void exitCompilationUnit( IASTCompilationUnit compilationUnit );
+
+ public void acceptElaboratedTypeSpecifier(IASTElaboratedTypeSpecifier elaboratedTypeSpec);
}
Index: parser/org/eclipse/cdt/core/parser/ParserFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java,v
retrieving revision 1.1
diff -u -r1.1 ParserFactory.java
--- parser/org/eclipse/cdt/core/parser/ParserFactory.java 23 Jun 2003 18:05:23 -0000 1.1
+++ parser/org/eclipse/cdt/core/parser/ParserFactory.java 24 Jun 2003 20:16:51 -0000
@@ -11,8 +11,8 @@
package org.eclipse.cdt.core.parser;
import java.io.Reader;
-import java.util.Map;
import java.util.List;
+import java.util.Map;
import org.eclipse.cdt.core.parser.ast.IASTFactory;
import org.eclipse.cdt.internal.core.parser.NullSourceElementRequestor;
Index: parser/org/eclipse/cdt/core/parser/ast/AccessVisibility.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/AccessVisibility.java,v
retrieving revision 1.2
diff -u -r1.2 AccessVisibility.java
--- parser/org/eclipse/cdt/core/parser/ast/AccessVisibility.java 13 Jun 2003 15:01:22 -0000 1.2
+++ parser/org/eclipse/cdt/core/parser/ast/AccessVisibility.java 24 Jun 2003 20:16:51 -0000
@@ -16,9 +16,9 @@
*/
public class AccessVisibility {
- public static final AccessVisibility v_public = new AccessVisibility( 1 );
- public static final AccessVisibility v_protected = new AccessVisibility( 2 );
- public static final AccessVisibility v_private = new AccessVisibility( 3 );
+ public static final AccessVisibility PUBLIC = new AccessVisibility( 1 );
+ public static final AccessVisibility PROTECTED = new AccessVisibility( 2 );
+ public static final AccessVisibility PRIVATE = new AccessVisibility( 3 );
private AccessVisibility( int constant)
{
Index: parser/org/eclipse/cdt/core/parser/ast/ClassKind.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/ClassKind.java,v
retrieving revision 1.2
diff -u -r1.2 ClassKind.java
--- parser/org/eclipse/cdt/core/parser/ast/ClassKind.java 13 Jun 2003 15:01:22 -0000 1.2
+++ parser/org/eclipse/cdt/core/parser/ast/ClassKind.java 24 Jun 2003 20:16:51 -0000
@@ -16,11 +16,12 @@
*/
public class ClassKind {
- public final static ClassKind k_class = new ClassKind( 1 );
- public final static ClassKind k_struct = new ClassKind( 2 );
- public final static ClassKind k_union = new ClassKind( 3 );
+ public final static ClassKind CLASS = new ClassKind( 1 );
+ public final static ClassKind STRUCT = new ClassKind( 2 );
+ public final static ClassKind UNION = new ClassKind( 3 );
+ public final static ClassKind ENUM = new ClassKind( 4 );
- private ClassKind( int value )
+ protected ClassKind( int value )
{
this.value = value;
}
Index: parser/org/eclipse/cdt/core/parser/ast/ClassNameType.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/ClassNameType.java,v
retrieving revision 1.2
diff -u -r1.2 ClassNameType.java
--- parser/org/eclipse/cdt/core/parser/ast/ClassNameType.java 13 Jun 2003 15:01:22 -0000 1.2
+++ parser/org/eclipse/cdt/core/parser/ast/ClassNameType.java 24 Jun 2003 20:16:51 -0000
@@ -16,8 +16,8 @@
*/
public class ClassNameType {
- public static final ClassNameType t_identifier = new ClassNameType( 1 );
- public static final ClassNameType t_template = new ClassNameType( 2 );
+ public static final ClassNameType IDENTIFIER = new ClassNameType( 1 );
+ public static final ClassNameType TEMPLATE = new ClassNameType( 2 );
private final int type;
private ClassNameType( int t )
Index: parser/org/eclipse/cdt/core/parser/ast/IASTElaboratedTypeSpecifier.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTElaboratedTypeSpecifier.java,v
retrieving revision 1.1
diff -u -r1.1 IASTElaboratedTypeSpecifier.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTElaboratedTypeSpecifier.java 13 Jun 2003 20:03:15 -0000 1.1
+++ parser/org/eclipse/cdt/core/parser/ast/IASTElaboratedTypeSpecifier.java 24 Jun 2003 20:16:51 -0000
@@ -10,10 +10,14 @@
***********************************************************************/
package org.eclipse.cdt.core.parser.ast;
+
/**
* @author jcamelon
*
*/
-public interface IASTElaboratedTypeSpecifier extends IASTTypeSpecifier {
+public interface IASTElaboratedTypeSpecifier extends IASTTypeSpecifier, IASTOffsetableElement {
+ public String getTypeName();
+ public ClassKind getClassKind();
+
}
Index: parser/org/eclipse/cdt/core/parser/ast/IASTEnumerationSpecifier.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTEnumerationSpecifier.java,v
retrieving revision 1.1
diff -u -r1.1 IASTEnumerationSpecifier.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTEnumerationSpecifier.java 13 Jun 2003 20:03:15 -0000 1.1
+++ parser/org/eclipse/cdt/core/parser/ast/IASTEnumerationSpecifier.java 24 Jun 2003 20:16:51 -0000
@@ -10,10 +10,14 @@
***********************************************************************/
package org.eclipse.cdt.core.parser.ast;
+import java.util.Iterator;
+
/**
* @author jcamelon
*
*/
-public interface IASTEnumerationSpecifier extends IASTTypeSpecifier {
+public interface IASTEnumerationSpecifier extends IASTTypeSpecifier, IASTOffsetableNamedElement {
+ public void addEnumerator( IASTEnumerator enumerator );
+ public Iterator getEnumerators();
}
Index: parser/org/eclipse/cdt/core/parser/ast/IASTEnumerator.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTEnumerator.java,v
retrieving revision 1.2
diff -u -r1.2 IASTEnumerator.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTEnumerator.java 13 Jun 2003 15:01:22 -0000 1.2
+++ parser/org/eclipse/cdt/core/parser/ast/IASTEnumerator.java 24 Jun 2003 20:16:51 -0000
@@ -14,6 +14,8 @@
* @author jcamelon
*
*/
-public interface IASTEnumerator {
+public interface IASTEnumerator extends IASTOffsetableNamedElement {
+ public IASTEnumerationSpecifier getOwnerEnumerationSpecifier();
+ // public IASTExpression getInitialValue();
}
Index: parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java,v
retrieving revision 1.3
diff -u -r1.3 IASTFactory.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java 13 Jun 2003 20:03:15 -0000 1.3
+++ parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java 24 Jun 2003 20:16:51 -0000
@@ -54,6 +54,7 @@
ClassNameType type,
AccessVisibility access,
IASTTemplateDeclaration ownerTemplateDeclaration, int startingOffset, int nameOffset );
+
/**
* @param astClassSpec
* @param isVirtual
@@ -61,5 +62,9 @@
* @param string
*/
public void addBaseSpecifier(IASTClassSpecifier astClassSpec, boolean isVirtual, AccessVisibility visibility, String string);
+
+ public IASTElaboratedTypeSpecifier createElaboratedTypeSpecifier(ClassKind elaboratedClassKind, String typeName, int startingOffset, int endOffset );
+ public IASTEnumerationSpecifier createEnumerationSpecifier(String name, int startingOffset, int nameOffset );
+ public void addEnumerator(IASTEnumerationSpecifier enumeration, String string, int startingOffset, int endingOffset);
}
Index: parser/org/eclipse/cdt/core/parser/ast/TemplateDeclarationType.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/TemplateDeclarationType.java,v
retrieving revision 1.2
diff -u -r1.2 TemplateDeclarationType.java
--- parser/org/eclipse/cdt/core/parser/ast/TemplateDeclarationType.java 13 Jun 2003 15:01:22 -0000 1.2
+++ parser/org/eclipse/cdt/core/parser/ast/TemplateDeclarationType.java 24 Jun 2003 20:16:51 -0000
@@ -16,11 +16,11 @@
*/
public class TemplateDeclarationType {
- public static final TemplateDeclarationType t_class = new TemplateDeclarationType(1);
- public static final TemplateDeclarationType t_function = new TemplateDeclarationType( 2 );
- public static final TemplateDeclarationType t_memberClass = new TemplateDeclarationType( 3 );
- public static final TemplateDeclarationType t_method = new TemplateDeclarationType( 4 );
- public static final TemplateDeclarationType t_field = new TemplateDeclarationType( 5 );
+ public static final TemplateDeclarationType CLASS = new TemplateDeclarationType(1);
+ public static final TemplateDeclarationType FUNCTION = new TemplateDeclarationType( 2 );
+ public static final TemplateDeclarationType MEMBERCLASS = new TemplateDeclarationType( 3 );
+ public static final TemplateDeclarationType METHOD = new TemplateDeclarationType( 4 );
+ public static final TemplateDeclarationType FIELD = new TemplateDeclarationType( 5 );
private final int type;
Index: parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java,v
retrieving revision 1.1
diff -u -r1.1 DeclarationWrapper.java
--- parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java 23 Jun 2003 21:28:14 -0000 1.1
+++ parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java 24 Jun 2003 20:16:51 -0000
@@ -15,6 +15,7 @@
import java.util.List;
import org.eclipse.cdt.core.parser.ast.IASTScope;
+import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
/**
* @author jcamelon
@@ -23,6 +24,7 @@
public class DeclarationWrapper
{
private final IASTScope scope;
+ private IASTTypeSpecifier typeSpecifier;
private List declarators = new ArrayList();
private boolean typeNamed = false;
private String name = null;
@@ -281,6 +283,22 @@
{
return Collections.unmodifiableList( declarators );
}
-
+
+ /**
+ * @return
+ */
+ public IASTTypeSpecifier getTypeSpecifier()
+ {
+ return typeSpecifier;
+ }
+
+ /**
+ * @param specifier
+ */
+ public void setTypeSpecifier(IASTTypeSpecifier specifier)
+ {
+ typeSpecifier = specifier;
+ }
+
}
Index: parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java,v
retrieving revision 1.3
diff -u -r1.3 NullSourceElementRequestor.java
--- parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java 18 Jun 2003 19:36:20 -0000 1.3
+++ parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java 24 Jun 2003 20:16:51 -0000
@@ -9,6 +9,7 @@
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
import org.eclipse.cdt.core.parser.ast.IASTConstructor;
+import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTField;
import org.eclipse.cdt.core.parser.ast.IASTFunction;
@@ -886,4 +887,13 @@
// TODO Auto-generated method stub
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptElaboratedTypeSpecifier(org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier)
+ */
+ public void acceptElaboratedTypeSpecifier(IASTElaboratedTypeSpecifier elaboratedTypeSpec)
+ {
+ // TODO Auto-generated method stub
+
+ }
}
Index: parser/org/eclipse/cdt/internal/core/parser/Parser.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java,v
retrieving revision 1.56
diff -u -r1.56 Parser.java
--- parser/org/eclipse/cdt/internal/core/parser/Parser.java 23 Jun 2003 21:28:14 -0000 1.56
+++ parser/org/eclipse/cdt/internal/core/parser/Parser.java 24 Jun 2003 20:16:53 -0000
@@ -23,6 +23,8 @@
import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
+import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTFactory;
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
@@ -1580,19 +1582,19 @@
{
try
{
- classSpecifier(decl, sdw.getScope());
+ classSpecifier(decl, sdw );
return;
}
catch (Backtrack bt)
{
- elaboratedTypeSpecifier(decl);
+ elaboratedTypeSpecifier(decl, sdw);
flags.setEncounteredTypename(true);
break;
}
}
else
{
- elaboratedTypeSpecifier(decl);
+ elaboratedTypeSpecifier(decl, sdw);
flags.setEncounteredTypename(true);
break;
}
@@ -1601,20 +1603,20 @@
{
try
{
- enumSpecifier(decl);
+ enumSpecifier(decl, sdw);
break;
}
catch (Backtrack bt)
{
// this is an elaborated class specifier
- elaboratedTypeSpecifier(decl);
+ elaboratedTypeSpecifier(decl, sdw);
flags.setEncounteredTypename(true);
break;
}
}
else
{
- elaboratedTypeSpecifier(decl);
+ elaboratedTypeSpecifier(decl, sdw);
flags.setEncounteredTypename(true);
break;
}
@@ -1629,18 +1631,47 @@
* @param decl Declaration which owns the elaborated type
* @throws Backtrack request a backtrack
*/
- private void elaboratedTypeSpecifier(Object decl) throws Backtrack
+ protected void elaboratedTypeSpecifier(Object decl, DeclarationWrapper sdw) throws Backtrack
{
// this is an elaborated class specifier
Object elab = null;
+ IToken t = consume();
+ ClassKind eck = null;
+
+ switch( t.getType() )
+ {
+ case Token.t_class:
+ eck = ClassKind.CLASS;
+ break;
+ case Token.t_struct:
+ eck = ClassKind.STRUCT;
+ break;
+ case Token.t_union:
+ eck = ClassKind.UNION;
+ break;
+ case Token.t_enum:
+ eck = ClassKind.ENUM;
+ break;
+ default:
+ break;
+ }
try
{
- elab = callback.elaboratedTypeSpecifierBegin(decl, consume());
+ elab = callback.elaboratedTypeSpecifierBegin(decl, t );
}
catch (Exception e)
{
}
- name();
+
+ TokenDuple d = name();
+
+ IASTElaboratedTypeSpecifier elaboratedTypeSpec = astFactory.createElaboratedTypeSpecifier( eck, d.toString(), t.getOffset(),
+ d.getLastToken().getEndOffset() );
+
+ sdw.setTypeSpecifier( elaboratedTypeSpec );
+
+ requestor.acceptElaboratedTypeSpecifier( elaboratedTypeSpec );
+
try
{
callback.elaboratedTypeSpecifierName(elab);
@@ -2563,10 +2594,11 @@
* @param owner IParserCallback object that represents the declaration that owns this type specifier.
* @throws Backtrack request a backtrack
*/
- protected void enumSpecifier(Object owner) throws Backtrack
+ protected void enumSpecifier(Object owner, DeclarationWrapper sdw) throws Backtrack
{
Object enumSpecifier = null;
IToken mark = mark();
+ IToken identifier = null;
try
{
enumSpecifier =
@@ -2577,7 +2609,7 @@
}
if (LT(1) == IToken.tIDENTIFIER)
{
- identifier();
+ identifier = identifier();
try
{
callback.enumSpecifierId(enumSpecifier);
@@ -2588,12 +2620,18 @@
}
if (LT(1) == IToken.tLBRACE)
{
+ IASTEnumerationSpecifier enumeration = astFactory.createEnumerationSpecifier(
+ ( ( identifier == null ) ? "" : identifier.getImage()),
+ mark.getOffset(),
+ ( ( identifier == null ) ? mark.getOffset() : identifier.getOffset()) );
consume(IToken.tLBRACE);
while (LT(1) != IToken.tRBRACE)
{
Object defn;
+ IToken enumeratorIdentifier = null;
if (LT(1) == IToken.tIDENTIFIER)
{
+
defn = null;
try
{
@@ -2602,7 +2640,7 @@
catch (Exception e)
{
}
- identifier();
+ enumeratorIdentifier = identifier();
try
{
callback.enumeratorId(defn);
@@ -2650,7 +2688,10 @@
{
}
if (LT(1) == IToken.tRBRACE)
+ {
+ astFactory.addEnumerator( enumeration, enumeratorIdentifier.toString(), enumeratorIdentifier.getOffset(), enumeratorIdentifier.getEndOffset() );
break;
+ }
if (LT(1) != IToken.tCOMMA)
{
try
@@ -2662,17 +2703,24 @@
}
throw backtrack;
}
+ astFactory.addEnumerator( enumeration, enumeratorIdentifier.toString(), enumeratorIdentifier.getOffset(), enumeratorIdentifier.getEndOffset() );
consume(IToken.tCOMMA);
}
+
+ IToken t = consume(IToken.tRBRACE);
try
{
+
callback.enumSpecifierEnd(
enumSpecifier,
- consume(IToken.tRBRACE));
+ t );
}
catch (Exception e)
{
}
+ enumeration.setEndingOffset( t.getEndOffset() );
+ requestor.acceptEnumerationSpecifier( enumeration );
+ sdw.setTypeSpecifier( enumeration );
}
else
{
@@ -2690,12 +2738,12 @@
* @param owner IParserCallback object that represents the declaration that owns this classSpecifier
* @throws Backtrack request a backtrack
*/
- protected void classSpecifier(Object owner, IASTScope scope)
+ protected void classSpecifier(Object owner, DeclarationWrapper sdw )
throws Backtrack
{
- ClassNameType nameType = ClassNameType.t_identifier;
+ ClassNameType nameType = ClassNameType.IDENTIFIER;
ClassKind classKind = null;
- AccessVisibility access = AccessVisibility.v_public;
+ AccessVisibility access = AccessVisibility.PUBLIC;
IToken classKey = null;
IToken mark = mark();
// class key
@@ -2703,16 +2751,16 @@
{
case IToken.t_class :
classKey = consume();
- classKind = ClassKind.k_class;
- access = AccessVisibility.v_private;
+ classKind = ClassKind.CLASS;
+ access = AccessVisibility.PRIVATE;
break;
case IToken.t_struct :
classKey = consume();
- classKind = ClassKind.k_struct;
+ classKind = ClassKind.STRUCT;
break;
case IToken.t_union :
classKey = consume();
- classKind = ClassKind.k_union;
+ classKind = ClassKind.UNION;
break;
default :
throw backtrack;
@@ -2739,7 +2787,7 @@
}
}
if (duple != null && !duple.isIdentifier())
- nameType = ClassNameType.t_template;
+ nameType = ClassNameType.TEMPLATE;
if (LT(1) != IToken.tCOLON && LT(1) != IToken.tLBRACE)
{
// this is not a classSpecification
@@ -2757,14 +2805,15 @@
IASTClassSpecifier astClassSpecifier =
astFactory
.createClassSpecifier(
- scope,
+ sdw.getScope(),
duple == null ? "" : duple.toString(),
classKind,
nameType,
access,
null, //TODO add TemplateDeclaration here
- classKey.getOffset(),
- duple == null ? 0 : duple.getFirstToken().getOffset());
+ classKey.getOffset(),
+ duple == null ? 0 : duple.getFirstToken().getOffset());
+ sdw.setTypeSpecifier(astClassSpecifier);
// base clause
if (LT(1) == IToken.tCOLON)
{
@@ -2852,7 +2901,7 @@
{
}
boolean isVirtual = false;
- AccessVisibility visibility = AccessVisibility.v_public;
+ AccessVisibility visibility = AccessVisibility.PUBLIC;
TokenDuple nameDuple = null;
baseSpecifierLoop : for (;;)
{
@@ -2890,10 +2939,10 @@
catch (Exception e)
{
}
- visibility = AccessVisibility.v_protected;
+ visibility = AccessVisibility.PROTECTED;
break;
case IToken.t_private :
- visibility = AccessVisibility.v_private;
+ visibility = AccessVisibility.PRIVATE;
try
{
callback.baseSpecifierVisibility(
@@ -2924,7 +2973,7 @@
visibility,
nameDuple.toString());
isVirtual = false;
- visibility = AccessVisibility.v_public;
+ visibility = AccessVisibility.PUBLIC;
nameDuple = null;
callback.baseSpecifierEnd(baseSpecifier);
baseSpecifier =
Index: parser/org/eclipse/cdt/internal/core/parser/ast/full/FullParseASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/full/FullParseASTFactory.java,v
retrieving revision 1.3
diff -u -r1.3 FullParseASTFactory.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/full/FullParseASTFactory.java 13 Jun 2003 20:03:15 -0000 1.3
+++ parser/org/eclipse/cdt/internal/core/parser/ast/full/FullParseASTFactory.java 24 Jun 2003 20:16:53 -0000
@@ -19,6 +19,8 @@
import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
+import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTFactory;
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
@@ -165,5 +167,32 @@
// TODO Auto-generated method stub
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTFactory#createElaboratedTypeSpecifier(org.eclipse.cdt.core.parser.ast.ClassKind, java.lang.String, int, int)
+ */
+ public IASTElaboratedTypeSpecifier createElaboratedTypeSpecifier(ClassKind elaboratedClassKind, String typeName, int startingOffset, int endOffset )
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTFactory#createEnumerationSpecifier(java.lang.String, int)
+ */
+ public IASTEnumerationSpecifier createEnumerationSpecifier(String name, int startingOffset, int nameOffset)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTFactory#addEnumerator(org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier, java.lang.String, int, int)
+ */
+ public void addEnumerator(IASTEnumerationSpecifier enumeration, String string, int startingOffset, int endingOffset)
+ {
+ // TODO Auto-generated method stub
+
+ }
}
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTElaboratedTypeSpecifier.java
===================================================================
RCS file: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTElaboratedTypeSpecifier.java
diff -N parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTElaboratedTypeSpecifier.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTElaboratedTypeSpecifier.java 24 Jun 2003 20:16:53 -0000
@@ -0,0 +1,83 @@
+/**********************************************************************
+ * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.internal.core.parser.ast.quick;
+
+import org.eclipse.cdt.core.parser.ast.ClassKind;
+import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
+import org.eclipse.cdt.internal.core.parser.ast.Offsets;
+
+/**
+ * @author jcamelon
+ *
+ */
+public class ASTElaboratedTypeSpecifier implements IASTElaboratedTypeSpecifier
+{
+
+ private Offsets offsets = new Offsets();
+ private final String typeName;
+ private final ClassKind classKind;
+ /**
+ * @param elaboratedClassKind
+ * @param typeName
+ * @param startingOffset
+ * @param endOffset
+ */
+ public ASTElaboratedTypeSpecifier(ClassKind elaboratedClassKind, String typeName, int startingOffset, int endOffset)
+ {
+ classKind = elaboratedClassKind;
+ this.typeName = typeName;
+ offsets.setStartingOffset( startingOffset );
+ offsets.setEndingOffset( endOffset );
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier#getTypeName()
+ */
+ public String getTypeName()
+ {
+ return typeName;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier#getClassKind()
+ */
+ public ClassKind getClassKind()
+ {
+ return classKind;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int)
+ */
+ public void setStartingOffset(int o)
+ {
+ offsets.setStartingOffset(o);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int)
+ */
+ public void setEndingOffset(int o)
+ {
+ offsets.setEndingOffset(o);
+
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset()
+ */
+ public int getElementStartingOffset()
+ {
+ return offsets.getElementStartingOffset();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset()
+ */
+ public int getElementEndingOffset()
+ {
+ return offsets.getElementEndingOffset();
+ }
+}
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerationSpecifier.java
===================================================================
RCS file: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerationSpecifier.java
diff -N parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerationSpecifier.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerationSpecifier.java 24 Jun 2003 20:16:53 -0000
@@ -0,0 +1,108 @@
+/**********************************************************************
+ * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.internal.core.parser.ast.quick;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
+import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
+import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
+
+/**
+ * @author jcamelon
+ *
+ */
+public class ASTEnumerationSpecifier
+ implements IASTEnumerationSpecifier, IASTOffsetableNamedElement
+{
+ private final String name;
+ private NamedOffsets offsets = new NamedOffsets();
+
+ /**
+ * @param name
+ * @param startingOffset
+ */
+ public ASTEnumerationSpecifier(String name, int startingOffset, int nameOffset)
+ {
+ this.name = name;
+ offsets.setNameOffset( nameOffset );
+ offsets.setStartingOffset( startingOffset);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getName()
+ */
+ public String getName()
+ {
+ return name;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset()
+ */
+ public int getElementNameOffset()
+ {
+ return offsets.getElementNameOffset();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int)
+ */
+ public void setNameOffset(int o)
+ {
+ offsets.setNameOffset(o);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int)
+ */
+ public void setStartingOffset(int o)
+ {
+ offsets.setStartingOffset(o);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int)
+ */
+ public void setEndingOffset(int o)
+ {
+ offsets.setEndingOffset(o);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset()
+ */
+ public int getElementStartingOffset()
+ {
+ return offsets.getElementStartingOffset();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset()
+ */
+ public int getElementEndingOffset()
+ {
+ return offsets.getElementEndingOffset();
+ }
+
+ private List enumerators = new ArrayList();
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier#getEnumerators()
+ */
+ public Iterator getEnumerators()
+ {
+ return Collections.unmodifiableList( enumerators ).iterator();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier#addEnumerator(org.eclipse.cdt.core.parser.ast.IASTEnumerator)
+ */
+ public void addEnumerator(IASTEnumerator enumerator)
+ {
+ enumerators.add(enumerator);
+ }
+}
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerator.java
===================================================================
RCS file: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerator.java
diff -N parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerator.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerator.java 24 Jun 2003 20:16:53 -0000
@@ -0,0 +1,99 @@
+/**********************************************************************
+ * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v0.5
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ *
+ * Contributors:
+ * IBM Rational Software - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.internal.core.parser.ast.quick;
+
+import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
+import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
+import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
+
+/**
+ * @author jcamelon
+ *
+ */
+public class ASTEnumerator
+ implements IASTEnumerator, IASTOffsetableNamedElement
+{
+ private final String name;
+ private final IASTEnumerationSpecifier enumeration;
+ private final NamedOffsets offsets = new NamedOffsets();
+ /**
+ * @param enumeration
+ * @param string
+ * @param startingOffset
+ * @param endingOffset
+ */
+ public ASTEnumerator(IASTEnumerationSpecifier enumeration, String string, int startingOffset, int endingOffset)
+ {
+ this.enumeration = enumeration;
+ name = string;
+ offsets.setStartingOffset( startingOffset );
+ offsets.setNameOffset( startingOffset );
+ offsets.setEndingOffset( endingOffset );
+ enumeration.addEnumerator(this);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getName()
+ */
+ public String getName()
+ {
+ return name;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset()
+ */
+ public int getElementNameOffset()
+ {
+ return offsets.getElementNameOffset();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int)
+ */
+ public void setNameOffset(int o)
+ {
+ offsets.setNameOffset(o);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int)
+ */
+ public void setStartingOffset(int o)
+ {
+ offsets.setStartingOffset(o);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int)
+ */
+ public void setEndingOffset(int o)
+ {
+ offsets.setEndingOffset(o);
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset()
+ */
+ public int getElementStartingOffset()
+ {
+ return offsets.getElementStartingOffset();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset()
+ */
+ public int getElementEndingOffset()
+ {
+ return offsets.getElementEndingOffset();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#getOwnerEnumerationSpecifier()
+ */
+ public IASTEnumerationSpecifier getOwnerEnumerationSpecifier()
+ {
+ return enumeration;
+ }
+}
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java,v
retrieving revision 1.3
diff -u -r1.3 QuickParseASTFactory.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java 13 Jun 2003 20:03:14 -0000 1.3
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java 24 Jun 2003 20:16:53 -0000
@@ -17,6 +17,9 @@
import org.eclipse.cdt.core.parser.ast.IASTBaseSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
+import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
import org.eclipse.cdt.core.parser.ast.IASTFactory;
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
@@ -99,5 +102,29 @@
IASTBaseSpecifier baseSpecifier = new ASTBaseSpecifier( astClassSpec, isVirtual, visibility );
((IASTQClassSpecifier)astClassSpec).addBaseClass(baseSpecifier);
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTFactory#createElaboratedTypeSpecifier(org.eclipse.cdt.core.parser.ast.ClassKind, java.lang.String, int, int)
+ */
+ public IASTElaboratedTypeSpecifier createElaboratedTypeSpecifier(ClassKind elaboratedClassKind, String typeName, int startingOffset, int endOffset)
+ {
+ return new ASTElaboratedTypeSpecifier( elaboratedClassKind, typeName, startingOffset, endOffset );
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTFactory#createEnumerationSpecifier(java.lang.String, int)
+ */
+ public IASTEnumerationSpecifier createEnumerationSpecifier(String name, int startingOffset, int nameOffset)
+ {
+ return new ASTEnumerationSpecifier( name, startingOffset, nameOffset );
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ast.IASTFactory#addEnumerator(org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier, java.lang.String, int, int)
+ */
+ public void addEnumerator(IASTEnumerationSpecifier enumeration, String string, int startingOffset, int endingOffset)
+ {
+ IASTEnumerator enumerator = new ASTEnumerator( enumeration, string, startingOffset, endingOffset );
+ }
}
Index: parser/org/eclipse/cdt/internal/core/parser/pst/ParserSymbolTable.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/pst/ParserSymbolTable.java,v
retrieving revision 1.2
diff -u -r1.2 ParserSymbolTable.java
--- parser/org/eclipse/cdt/internal/core/parser/pst/ParserSymbolTable.java 13 Jun 2003 15:01:22 -0000 1.2
+++ parser/org/eclipse/cdt/internal/core/parser/pst/ParserSymbolTable.java 24 Jun 2003 20:16:55 -0000
@@ -2337,7 +2337,7 @@
}
public void addParent( ISymbol parent ){
- addParent( parent, false, AccessVisibility.v_public );
+ addParent( parent, false, AccessVisibility.PUBLIC );
}
public void addParent( ISymbol parent, boolean virtual, AccessVisibility visibility ){
if( _parentScopes == null ){
Index: search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java,v
retrieving revision 1.1
diff -u -r1.1 MatchLocator.java
--- search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java 16 Jun 2003 17:35:46 -0000 1.1
+++ search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java 24 Jun 2003 20:16:55 -0000
@@ -321,4 +321,13 @@
}
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptElaboratedTypeSpecifier(org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier)
+ */
+ public void acceptElaboratedTypeSpecifier(IASTElaboratedTypeSpecifier elaboratedTypeSpec)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
}
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/ChangeLog,v
retrieving revision 1.70
diff -u -r1.70 ChangeLog
--- ChangeLog 23 Jun 2003 18:05:30 -0000 1.70
+++ ChangeLog 24 Jun 2003 20:17:30 -0000
@@ -1,3 +1,6 @@
+2003-06-24 John Camelon
+ Updates for ISourceElementRequestor - elaborated types & enumerations.
+
2003-06-23 John Camelon
Updated Factory infrastructure, constructors, etc.
Introduced Preprocessor class for transitive closure calc. client.
Index: parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java,v
retrieving revision 1.14
diff -u -r1.14 ParserSymbolTableTest.java
--- parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java 13 Jun 2003 15:01:12 -0000 1.14
+++ parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java 24 Jun 2003 20:17:34 -0000
@@ -267,10 +267,10 @@
IDerivableContainerSymbol c = table.newDerivableContainerSymbol("C");
IDerivableContainerSymbol a = table.newDerivableContainerSymbol("A");
- a.addParent( c, true, AccessVisibility.v_public );
+ a.addParent( c, true, AccessVisibility.PUBLIC );
IDerivableContainerSymbol b = table.newDerivableContainerSymbol("B");
- b.addParent( c, true, AccessVisibility.v_public );
+ b.addParent( c, true, AccessVisibility.PUBLIC );
decl.addParent( a );
decl.addParent( b );