Skip to main content

[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 );

Back to the top