Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Applied [HEAD] Bye bye DOM, Enumerator References, Scoping rules

CORE & UI
        Made scoping support more robust in CompleteParse mode. 
        * Refactored ISourceElementRequestor (enter|exit)CodeBlock() to 
take IASTCodeScope rather than IASTScope. 
        Removed the now obsolete DOM. 
        * Added enumerator references to ISourceElementRequestor.
 
TESTS
        Added CompleteParseASTTest::testThrowStatement(), testScoping(), 
testEnumeratorReferences().
        Removed LineNumberTest source as it is obsolete. 

* = Search/Indexer team should perhaps update their callbacks to make use 
of these changes. 

Ciao! 

JohnC

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.163
diff -u -r1.163 ChangeLog
--- ChangeLog	8 Sep 2003 18:11:00 -0000	1.163
+++ ChangeLog	8 Sep 2003 19:17:16 -0000
@@ -1,3 +1,7 @@
+2003-09-08 John Camelon
+	Refactored ISourceElementRequestor (enter|exit)CodeBlock() to take IASTCodeScope rather than IASTScope. 
+	Added enumerator references to ISourceElementRequestor.
+
 2003-09-08 Andrew Niefer
 	- Modified call to ParserFactory in CStructureCreator to specify which language to use
 
Index: src/org/eclipse/cdt/internal/ui/compare/SourceElementRequestorAdapter.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/compare/SourceElementRequestorAdapter.java,v
retrieving revision 1.2
diff -u -r1.2 SourceElementRequestorAdapter.java
--- src/org/eclipse/cdt/internal/ui/compare/SourceElementRequestorAdapter.java	4 Sep 2003 20:47:01 -0000	1.2
+++ src/org/eclipse/cdt/internal/ui/compare/SourceElementRequestorAdapter.java	8 Sep 2003 19:17:16 -0000
@@ -17,10 +17,12 @@
 import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTClassReference;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
 import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
 import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationReference;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumeratorReference;
 import org.eclipse.cdt.core.parser.ast.IASTField;
 import org.eclipse.cdt.core.parser.ast.IASTFieldReference;
 import org.eclipse.cdt.core.parser.ast.IASTFunction;
@@ -296,7 +298,7 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 	 */
-	public void enterCodeBlock(IASTScope scope) {
+	public void enterCodeBlock(IASTCodeScope scope) {
 		// TODO Auto-generated method stub
 		
 	}
@@ -304,9 +306,18 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 	 */
-	public void exitCodeBlock(IASTScope scope) {
+	public void exitCodeBlock(IASTCodeScope scope) {
 		// TODO Auto-generated method stub
 		
 	}
+
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptEnumeratorReference(org.eclipse.cdt.core.parser.ast.IASTEnumerationReference)
+     */
+    public void acceptEnumeratorReference(IASTEnumeratorReference reference)
+    {
+        // TODO Auto-generated method stub
+        
+    }
 
 }
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/ChangeLog,v
retrieving revision 1.83
diff -u -r1.83 ChangeLog
--- ChangeLog	8 Sep 2003 18:10:55 -0000	1.83
+++ ChangeLog	8 Sep 2003 19:15:50 -0000
@@ -1,3 +1,7 @@
+2003-09-08 John Camelon
+	Added CompleteParseASTTest::testThrowStatement(), testScoping(), testEnumeratorReferences().
+	Removed LineNumberTest source as it is obsolete.  
+
 2003-09-08 Andrew Niefer
 	Modified calls to ParserFactory to specify which language to use
 	Add CC nature to projects in BaseSearchTest & IndexManagerTests
Index: parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java,v
retrieving revision 1.25
diff -u -r1.25 CompleteParseASTTest.java
--- parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java	8 Sep 2003 12:31:30 -0000	1.25
+++ parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java	8 Sep 2003 19:15:50 -0000
@@ -21,7 +21,9 @@
 import org.eclipse.cdt.core.parser.ast.IASTBaseSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTClassReference;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
 import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumerationReference;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
 import org.eclipse.cdt.core.parser.ast.IASTField;
@@ -742,5 +744,54 @@
 		IASTFunction foo = (IASTFunction)i.next(); 
 		assertFalse( i.hasNext() );
 		assertEquals( callback.getReferences().size(), 3 );
+	}
+	
+	public void testThrowStatement() throws Exception
+	{
+		Iterator i = parse( "class A { }; void foo() throw ( A ) { throw A; throw; } ").getDeclarations();
+		IASTClassSpecifier classA = (IASTClassSpecifier)((IASTAbstractTypeSpecifierDeclaration)i.next()).getTypeSpecifier();
+		IASTFunction functionF = (IASTFunction)i.next(); 
+		assertFalse( i.hasNext() );
+		assertEquals( callback.getReferences().size(), 2 );
+		for( int j = 0; j < 2; ++j )
+			assertEquals( ((IASTReference)callback.getReferences().get(j) ).getReferencedElement(), classA );
+	}
+	
+	public void testScoping() throws Exception
+	{
+		Iterator i = parse( "void foo() { int x = 3; if( x == 1 ) { int x = 4; } else int x = 2; }").getDeclarations(); 
+		IASTFunction f = (IASTFunction)i.next(); 
+		Iterator subDeclarations = getDeclarations(f);
+		IASTVariable topX = (IASTVariable)subDeclarations.next();
+		assertEquals( topX.getInitializerClause().getAssigmentExpression().getLiteralString(), "3");
+		assertEquals( topX.getName(), "x");
+		assertFalse( subDeclarations.hasNext() );
+		assertFalse( i.hasNext() );
+		assertEquals( callback.getReferences().size(), 1 );
+		assertEquals( ((IASTReference)callback.getReferences().get(0)).getReferencedElement(), topX ); 
+		
+		Iterator level1 = getNestedScopes( f );
+		IASTCodeScope codeScope = (IASTCodeScope)level1.next();
+		Iterator subSubDeclarations = getDeclarations(codeScope);
+		IASTVariable secondX = (IASTVariable)subSubDeclarations.next();
+		assertEquals( secondX.getInitializerClause().getAssigmentExpression().getLiteralString(), "4");
+		codeScope = (IASTCodeScope)level1.next();
+		assertFalse( level1.hasNext() );
+		subSubDeclarations = getDeclarations(codeScope);
+		IASTVariable thirdX = (IASTVariable)subSubDeclarations.next();
+		assertEquals( thirdX.getInitializerClause().getAssigmentExpression().getLiteralString(), "2");
+		
+	}
+	
+	public void testEnumeratorReferences() throws Exception
+	{
+		Iterator i = parse( "enum E { e1, e2, e3 }; E anE = e1;").getDeclarations();
+		IASTEnumerationSpecifier enumE = (IASTEnumerationSpecifier)((IASTAbstractTypeSpecifierDeclaration)i.next()).getTypeSpecifier();
+		IASTVariable anE = (IASTVariable)i.next();
+		IASTEnumerator e1 = (IASTEnumerator)enumE.getEnumerators().next();
+		assertFalse( i.hasNext() );
+		assertEquals( callback.getReferences().size(), 2 );
+		assertEquals( ((IASTReference)callback.getReferences().get(0)).getReferencedElement(), enumE );
+		assertEquals( ((IASTReference)callback.getReferences().get(1)).getReferencedElement(),  e1 );
 	}
 }
Index: parser/org/eclipse/cdt/core/parser/tests/CompleteParseBaseTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseBaseTest.java,v
retrieving revision 1.3
diff -u -r1.3 CompleteParseBaseTest.java
--- parser/org/eclipse/cdt/core/parser/tests/CompleteParseBaseTest.java	8 Sep 2003 18:10:55 -0000	1.3
+++ parser/org/eclipse/cdt/core/parser/tests/CompleteParseBaseTest.java	8 Sep 2003 19:15:51 -0000
@@ -29,11 +29,13 @@
 import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTClassReference;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
 import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
 import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationReference;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumeratorReference;
 import org.eclipse.cdt.core.parser.ast.IASTField;
 import org.eclipse.cdt.core.parser.ast.IASTFieldReference;
 import org.eclipse.cdt.core.parser.ast.IASTFunction;
@@ -108,6 +110,58 @@
             return scope;
         }
     }
+    
+    public static class CodeScope extends Scope implements IASTCodeScope
+    {
+		private List nestedScopes = new ArrayList(); 
+        /**
+         * @param scope
+         */
+        public CodeScope(IASTCodeScope scope)
+        {
+            super(scope);
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.cdt.core.parser.ast.IASTCodeScope#getOwnerCodeScope()
+         */
+        public IASTCodeScope getOwnerCodeScope()
+        {
+            return ((IASTCodeScope)getScope()).getOwnerCodeScope();
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
+         */
+        public void acceptElement(ISourceElementRequestor requestor)
+        {
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
+         */
+        public void enterScope(ISourceElementRequestor requestor)
+        {
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
+         */
+        public void exitScope(ISourceElementRequestor requestor)
+        {           
+        }
+    	
+    	public void addNewScope( IASTCodeScope s )
+    	{
+    		nestedScopes.add( s );
+    	}
+    	
+		public Iterator getCodeBlocks()
+		{
+			return nestedScopes.iterator();
+		}
+    }
+    
     public static class FullParseCallback implements ISourceElementRequestor 
     {
     	private List references = new ArrayList(); 
@@ -183,7 +237,6 @@
         public void acceptAbstractTypeSpecDeclaration(IASTAbstractTypeSpecifierDeclaration abstractDeclaration)
         {
             getCurrentScope().addDeclaration( abstractDeclaration );
-            
         }
     
         /* (non-Javadoc)
@@ -191,7 +244,7 @@
          */
         public void enterFunctionBody(IASTFunction function)
         {
-            pushScope( function );
+            pushCodeScope( function );
         }
     
         /* (non-Javadoc)
@@ -290,7 +343,7 @@
          */
         public void enterMethodBody(IASTMethod method)
         {
-            pushScope(method);
+            pushCodeScope(method);
         }
     
         /* (non-Javadoc)
@@ -398,6 +451,11 @@
         	return (Scope)scopes.peek();
         }
         
+        protected CodeScope getCurrentCodeScope()
+        {
+        	return (CodeScope)scopes.peek();
+        }
+        
         protected Scope popScope()
         {
         	Scope s = (Scope)scopes.pop();
@@ -416,6 +474,12 @@
         {
         	return (Scope)h.get(s);
         }
+        
+		public CodeScope lookup( IASTCodeScope s )
+		{
+			return (CodeScope)h.get(s);
+		}
+        
     
         /* (non-Javadoc)
          * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptProblem(org.eclipse.cdt.core.parser.IProblem)
@@ -466,7 +530,6 @@
         public void acceptEnumerationReference(IASTEnumerationReference reference)
         {
     		references.add( reference );
-            
         }
     
         /* (non-Javadoc)
@@ -528,19 +591,43 @@
 		/* (non-Javadoc)
 		 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 		 */
-		public void enterCodeBlock(IASTScope scope) {
-			// TODO Auto-generated method stub
-			
+		public void enterCodeBlock(IASTCodeScope scope) {
+			pushCodeScope( scope );
 		}
 
-		/* (non-Javadoc)
+		/**
+         * @param scope
+         */
+        protected void pushCodeScope(IASTCodeScope scope)
+        {
+			scopes.push( new CodeScope( scope ) );
+        }
+
+        /* (non-Javadoc)
 		 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 		 */
-		public void exitCodeBlock(IASTScope scope) {
-			// TODO Auto-generated method stub
-			
+		public void exitCodeBlock(IASTCodeScope scope) {
+			popScope();
+			getCurrentCodeScope().addNewScope(scope);
 		}
+
+        /* (non-Javadoc)
+         * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptEnumeratorReference(org.eclipse.cdt.core.parser.ast.IASTEnumerationReference)
+         */
+        public void acceptEnumeratorReference(IASTEnumeratorReference reference)
+        {
+        	references.add( reference );
+        }
     
+    }
+    
+    protected Iterator getNestedScopes( IASTCodeScope scope )
+    {
+    	CodeScope s = callback.lookup( scope );
+		if( s != null )
+			return s.getCodeBlocks();
+		return null;
+ 
     }
     protected Iterator getDeclarations(IASTScope scope)
     {
Index: parser/org/eclipse/cdt/core/parser/tests/LineNumberTest.java
===================================================================
RCS file: parser/org/eclipse/cdt/core/parser/tests/LineNumberTest.java
diff -N parser/org/eclipse/cdt/core/parser/tests/LineNumberTest.java
--- parser/org/eclipse/cdt/core/parser/tests/LineNumberTest.java	8 Sep 2003 18:10:55 -0000	1.6
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,119 +0,0 @@
-/**********************************************************************
- * 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.core.parser.tests;
-
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.cdt.core.parser.IParser;
-import org.eclipse.cdt.core.parser.ParserLanguage;
-import org.eclipse.cdt.core.parser.ParserFactory;
-import org.eclipse.cdt.core.parser.ParserMode;
-import org.eclipse.cdt.internal.core.dom.ClassSpecifier;
-import org.eclipse.cdt.internal.core.dom.DOMBuilder;
-import org.eclipse.cdt.internal.core.dom.EnumerationSpecifier;
-import org.eclipse.cdt.internal.core.dom.IOffsetable;
-import org.eclipse.cdt.internal.core.dom.NamespaceDefinition;
-import org.eclipse.cdt.internal.core.dom.SimpleDeclaration;
-import org.eclipse.cdt.internal.core.dom.TemplateDeclaration;
-import org.eclipse.cdt.internal.core.parser.ScannerInfo;
-import org.eclipse.core.runtime.Path;
-
-/**
- * @author jcamelon
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class LineNumberTest extends TestCase {
-	
-	public LineNumberTest( String arg )
-	{
-		super( arg );
-	}
-	private InputStream fileIn;
-	 
-	protected void setUp() throws Exception {
-		String fileName =org.eclipse.core.runtime.Platform.getPlugin("org.eclipse.cdt.core.tests").find(new Path("/")).getFile() + "resources/parser/LineNumberTest.h";
-		fileIn = new FileInputStream(fileName);
-	}
-	
-	
-	public void testDOMLineNos() throws Exception
-	{
-		DOMBuilder domBuilder = new DOMBuilder();
-		IParser parser = ParserFactory.createParser( ParserFactory.createScanner( new InputStreamReader( fileIn ), null, new ScannerInfo(), ParserMode.QUICK_PARSE, ParserLanguage.CPP, domBuilder ), domBuilder, ParserMode.QUICK_PARSE, ParserLanguage.CPP); 
-		//parser.mapLineNumbers(true); 
-		if( ! parser.parse() ) fail( "Parse of file failed");
-		
-		List macros = domBuilder.getTranslationUnit().getMacros();
-		List inclusions = domBuilder.getTranslationUnit().getInclusions();
-		List declarations = domBuilder.getTranslationUnit().getDeclarations();
-		
-		assertEquals( 3, macros.size() );
-		assertEquals( 1, inclusions.size() );
-		assertEquals( declarations.size(), 4 );
-		validateLineNumbers( (IOffsetable)inclusions.get(0), 2, 2 );
-		validateLineNumbers( (IOffsetable)macros.get(0), 5, 5 );
-		validateLineNumbers( (IOffsetable)macros.get(1), 6, 6 );
-		validateLineNumbers( (IOffsetable)macros.get(2), 30, 31 );
-		
-		NamespaceDefinition namespaceDecl = (NamespaceDefinition)declarations.get(0);
-		validateLineNumbers( namespaceDecl, 8, 22 ); 
-		List namespaceMembers = namespaceDecl.getDeclarations();
-		assertEquals( namespaceMembers.size(), 1 );
-		ClassSpecifier Hello = (ClassSpecifier)((SimpleDeclaration)namespaceMembers.get(0)).getTypeSpecifier();
-		validateLineNumbers( Hello, 10, 21);
-		List classMembers = Hello.getDeclarations();
-		assertEquals( classMembers.size(), 3 );
-		for( int i = 0; i < 3; ++i )
-		{
-			SimpleDeclaration memberDeclaration = (SimpleDeclaration)Hello.getDeclarations().get(i);
-			switch( i )
-			{
-				case 0:
-					validateLineNumbers(memberDeclaration, 13, 13 );
-					break;
-				case 1:
-					validateLineNumbers(memberDeclaration, 15, 15 );
-					break;
-				case 2:
-					validateLineNumbers(memberDeclaration, 18, 20 );
-					break; 
-				default:
-					break;
-			}
-		}
-	
-		validateLineNumbers( (SimpleDeclaration)declarations.get(1), 25, 27);
-		validateLineNumbers( (TemplateDeclaration)declarations.get(2), 34, 35);
-		SimpleDeclaration d = (SimpleDeclaration)declarations.get(3);
-		validateLineNumbers( d, 38, 43);
-		validateLineNumbers( ((EnumerationSpecifier)d.getTypeSpecifier()), 38, 43);
-		
-	}
-	
-	protected void tearDown() throws Exception {
-		if( fileIn != null )	fileIn.close(); 
-	}	
-
-	protected void validateLineNumbers( IOffsetable offsetable, int top, int bottom )
-	{
-		assertNotNull( offsetable );
-		assertEquals( offsetable.getTopLine(), top );
-		assertEquals( offsetable.getBottomLine(), bottom );
-	}
-}
Index: parser/org/eclipse/cdt/core/parser/tests/TortureTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/TortureTest.java,v
retrieving revision 1.9
diff -u -r1.9 TortureTest.java
--- parser/org/eclipse/cdt/core/parser/tests/TortureTest.java	8 Sep 2003 18:10:55 -0000	1.9
+++ parser/org/eclipse/cdt/core/parser/tests/TortureTest.java	8 Sep 2003 19:15:51 -0000
@@ -24,10 +24,9 @@
 
 import org.eclipse.cdt.core.parser.ILineOffsetReconciler;
 import org.eclipse.cdt.core.parser.IParser;
-import org.eclipse.cdt.core.parser.ParserLanguage;
 import org.eclipse.cdt.core.parser.ParserFactory;
+import org.eclipse.cdt.core.parser.ParserLanguage;
 import org.eclipse.cdt.core.parser.ParserMode;
-import org.eclipse.cdt.internal.core.dom.DOMBuilder;
 import org.eclipse.cdt.internal.core.parser.ScannerInfo;
 import org.eclipse.core.runtime.Path;
 
@@ -278,7 +277,6 @@
 	
 		public void run(){
 			try {           
-				DOMBuilder domBuilder = new DOMBuilder();
 				ParserMode parserMode = quickParse ? ParserMode.QUICK_PARSE : ParserMode.COMPLETE_PARSE;
 				ParserLanguage language = cppNature ? ParserLanguage.CPP : ParserLanguage.C; 
 				parser = ParserFactory.createParser( 
Index: .classpath
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/.classpath,v
retrieving revision 1.10
diff -u -r1.10 .classpath
--- .classpath	13 Aug 2003 17:45:30 -0000	1.10
+++ .classpath	8 Sep 2003 19:14:52 -0000
@@ -6,7 +6,6 @@
     <classpathentry kind="src" path="src/"/>
     <classpathentry kind="src" path="utils/"/>
     <classpathentry kind="src" path="parser/"/>
-    <classpathentry kind="src" path="dom/"/>
     <classpathentry kind="src" path="search/"/>
     <classpathentry kind="src" path="dependency/"/>
     <classpathentry kind="src" path="/org.eclipse.core.resources"/>
Index: dom/org/eclipse/cdt/internal/core/dom/ASMDefinition.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ASMDefinition.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ASMDefinition.java
--- dom/org/eclipse/cdt/internal/core/dom/ASMDefinition.java	13 Apr 2003 22:01:29 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Created on Mar 26, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public class ASMDefinition extends Declaration {
-
-	final private String assemblyCode;
-	
-	public ASMDefinition( IScope scope, String code )
-	{
-		super( scope );
-		assemblyCode = code;
-	}
-	/**
-	 * @return String
-	 */
-	public String getAssemblyCode() {
-		return assemblyCode;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/AccessSpecifier.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/AccessSpecifier.java
diff -N dom/org/eclipse/cdt/internal/core/dom/AccessSpecifier.java
--- dom/org/eclipse/cdt/internal/core/dom/AccessSpecifier.java	9 Apr 2003 21:11:59 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,34 +0,0 @@
-/**********************************************************************
- * Created on Mar 26, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public class AccessSpecifier {
-
-	public static final int v_private = 0;
-	public static final int v_protected = 1;
-	public static final int v_public = 2;
-	public static final int v_unknown = 3; 
-	
-	private int access;
-	public void setAccess(int access) { this.access = access; }
-	public int getAccess() { return access; }
-	
-	public AccessSpecifier( int value )
-	{
-		setAccess( value );
-	}
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ArrayQualifier.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ArrayQualifier.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ArrayQualifier.java
--- dom/org/eclipse/cdt/internal/core/dom/ArrayQualifier.java	17 Jul 2003 20:15:13 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,34 +0,0 @@
-/**********************************************************************
- * Created on Mar 23, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public class ArrayQualifier  {
-	
-	public ArrayQualifier( Declarator owner )
-	{
-		ownerDeclarator = owner;
-	}
-	
-	private Declarator ownerDeclarator; 
-	/**
-	 * @return Declarator
-	 */
-	public Declarator getOwnerDeclarator() {
-		return ownerDeclarator;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/BaseSpecifier.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/BaseSpecifier.java
diff -N dom/org/eclipse/cdt/internal/core/dom/BaseSpecifier.java
--- dom/org/eclipse/cdt/internal/core/dom/BaseSpecifier.java	17 Jul 2003 20:15:13 -0000	1.8
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,45 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-
-
-/**
- * @author dschaefe
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class BaseSpecifier {
-	
-	public BaseSpecifier(ClassSpecifier classSpecifier) {
-		this.classSpecifier = classSpecifier;
-		classSpecifier.addBaseSpecifier(this);
-		
-		switch (classSpecifier.getClassKey()) {
-			case ClassKey.t_class:
-				access.setAccess(AccessSpecifier.v_private);
-				break;
-			case ClassKey.t_struct:
-			default:
-				access.setAccess(AccessSpecifier.v_public);
-				break;
-		}
-	}
-	
-	private ClassSpecifier classSpecifier;
-	public ClassSpecifier getClassSpecifier() { return classSpecifier; }
-
-	private boolean isVirtual = false;
-	public void setVirtual(boolean isVirtual) { this.isVirtual = isVirtual; }
-	public boolean isVirtual() { return isVirtual; }
-	
-
-	private AccessSpecifier access = new AccessSpecifier( AccessSpecifier.v_unknown );
-	public void setAccess(int access) { this.access.setAccess(access); }
-	public int getAccess() { return access.getAccess(); }
-	
-	private String name;
-	public void setName(String name) { this.name = name; }
-	public String getName() { return name; }
-}
Index: dom/org/eclipse/cdt/internal/core/dom/BitField.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/BitField.java
diff -N dom/org/eclipse/cdt/internal/core/dom/BitField.java
--- dom/org/eclipse/cdt/internal/core/dom/BitField.java	17 Jul 2003 20:15:13 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001 IBM 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 Corp. - Rational Software - initial implementation
- ******************************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public class BitField {
-
-
-	public BitField( Declarator owner )
-	{
-		ownerDeclarator= owner;
-	}
-	private final Declarator ownerDeclarator; 
-	
-	/**
-	 * @return
-	 */
-	public Declarator getOwnerDeclarator() {
-		return ownerDeclarator;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ClassKey.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ClassKey.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ClassKey.java
--- dom/org/eclipse/cdt/internal/core/dom/ClassKey.java	9 Apr 2003 21:11:59 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Created on Mar 26, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public class ClassKey {
-
-	public static final int t_class = 0;
-	public static final int t_struct = 1;
-	public static final int t_union = 2;
-	public static final int t_enum = 3;
-	
-	private int classKey = t_class;
-	
-	
-	/**
-	 * @return int
-	 */
-	public int getClassKey() {
-		return classKey;
-	}
-
-	/**
-	 * Sets the classKey.
-	 * @param classKey The classKey to set
-	 */
-	public void setClassKey(int classKey) {
-		this.classKey = classKey;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ClassSpecifier.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ClassSpecifier.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ClassSpecifier.java
--- dom/org/eclipse/cdt/internal/core/dom/ClassSpecifier.java	17 Jul 2003 20:15:13 -0000	1.13
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,146 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-public class ClassSpecifier extends TypeSpecifier implements IScope, IOffsetable, IAccessable {
-
-	private String classKeyImage = null;
-    private AccessSpecifier access = new AccessSpecifier( AccessSpecifier.v_private );
-	private ClassKey key = new ClassKey();
-	private int startingOffset = 0, totalLength = 0, nameOffset = 0;
-	private int topLine = 0, bottomLine = 0; 
-
-	public int getClassKey() { return key.getClassKey(); }
-
-	public ClassSpecifier(int classKey, TypeSpecifier.IOwner declaration) {
-		super(declaration);
-		this.key.setClassKey(classKey);
-		if( classKey == ClassKey.t_class )
-			classKeyImage = "class";
-		else if( classKey == ClassKey.t_struct )
-			classKeyImage = "struct";
-		else if( classKey == ClassKey.t_union )
-			classKeyImage = "union";
-	}
-	
-	private String name;
-	public void setName(String n) { name = n; }
-	public String getName() { return name; }
-	
-	private List baseSpecifiers = new LinkedList();
-	public void addBaseSpecifier(BaseSpecifier baseSpecifier) {
-		baseSpecifiers.add(baseSpecifier);
-	}
-	public List getBaseSpecifiers() { return Collections.unmodifiableList(baseSpecifiers); }
-	
-	private List declarations = new LinkedList();
-	
-	public void addDeclaration(Declaration declaration) {
-		declarations.add(declaration);
-	}
-
-	public List getDeclarations() {
-		return Collections.unmodifiableList( declarations );
-	}
-	/**
-	 * @return int
-	 */
-	public int getVisibility() {
-		return access.getAccess();
-	}
-
-	/**
-	 * Sets the currentVisiblity.
-	 * @param currentVisiblity The currentVisiblity to set
-	 */
-	public void setVisibility(int currentVisiblity) {
-		access.setAccess(currentVisiblity);
-	}
-
-	/**
-	 * @return
-	 */
-	public int getStartingOffset() {
-		return startingOffset;
-	}
-
-	public int getClassKeyEndOffset()
-	{
-		return startingOffset + classKeyImage.length();
-	}
-	/**
-	 * @return
-	 */
-	public int getTotalLength() {
-		return totalLength;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setStartingOffset(int i) {
-		startingOffset = i;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setTotalLength(int i) {
-		totalLength = i;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setTopLine(int)
-	 */
-	public void setTopLine(int lineNumber) {
-		topLine = lineNumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setBottomLine(int)
-	 */
-	public void setBottomLine(int lineNumber) {
-		bottomLine = lineNumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getTopLine()
-	 */
-	public int getTopLine() {
-		return topLine;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getBottomLine()
-	 */
-	public int getBottomLine() {
-		return bottomLine;
-	}
-
-    /**
-     * @return
-     */
-    public String getClassKeyImage()
-    {
-        return classKeyImage;
-    }
-
-    /**
-     * @return
-     */
-    public int getNameOffset()
-    {
-        return nameOffset;
-    }
-
-    /**
-     * @param i
-     */
-    public void setNameOffset(int i)
-    {
-        nameOffset = i;
-    }
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ConstructorChain.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ConstructorChain.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ConstructorChain.java
--- dom/org/eclipse/cdt/internal/core/dom/ConstructorChain.java	29 Mar 2003 05:35:47 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Created on Mar 28, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author jcamelon
- *
- */
-public class ConstructorChain {
-
-	private List chainElements = new ArrayList();  
-
-	/**
-	 * @return List
-	 */
-	public List getChainElements() {
-		return Collections.unmodifiableList( chainElements );
-	}
-
-	public void addChainElement( ConstructorChainElement chainElement )
-	{
-		chainElements.add( chainElement );
-	}
-	
-	public ConstructorChain( Declarator declarator )
-	{
-		this.ownerDeclarator = declarator;
-	}
-	
-	private final Declarator ownerDeclarator; 
-	/**
-	 * @return Declarator
-	 */
-	public Declarator getOwnerDeclarator() {
-		return ownerDeclarator;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ConstructorChainElement.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ConstructorChainElement.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ConstructorChainElement.java
--- dom/org/eclipse/cdt/internal/core/dom/ConstructorChainElement.java	17 Jul 2003 20:15:13 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Created on Mar 28, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-
-
-/**
- * @author jcamelon
- *
- */
-public class ConstructorChainElement  {
-
-	private String name;
-	private final ConstructorChain ownerChain; 
-	
-	ConstructorChainElement( ConstructorChain chain )
-	{
-		ownerChain = chain; 
-	}
-
-	/**
-	 * @return Name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Sets the name.
-	 * @param name The name to set
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-
-	/**
-	 * @return ConstructorChain
-	 */
-	public ConstructorChain getOwnerChain() {
-		return ownerChain;
-	}
-
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java
diff -N dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java
--- dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java	4 Sep 2003 20:46:57 -0000	1.48
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,977 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.cdt.core.parser.IProblem;
-import org.eclipse.cdt.core.parser.ISourceElementRequestor;
-import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility;
-import org.eclipse.cdt.core.parser.ast.ASTClassKind;
-import org.eclipse.cdt.core.parser.ast.ASTPointerOperator;
-import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
-import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
-import org.eclipse.cdt.core.parser.ast.IASTArrayModifier;
-import org.eclipse.cdt.core.parser.ast.IASTBaseSpecifier;
-import org.eclipse.cdt.core.parser.ast.IASTClassReference;
-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.IASTEnumerationReference;
-import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
-import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
-import org.eclipse.cdt.core.parser.ast.IASTExpression;
-import org.eclipse.cdt.core.parser.ast.IASTField;
-import org.eclipse.cdt.core.parser.ast.IASTFieldReference;
-import org.eclipse.cdt.core.parser.ast.IASTFunction;
-import org.eclipse.cdt.core.parser.ast.IASTFunctionReference;
-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.IASTMethodReference;
-import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
-import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
-import org.eclipse.cdt.core.parser.ast.IASTScope;
-import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
-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.IASTTypeSpecifier;
-import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration;
-import org.eclipse.cdt.core.parser.ast.IASTTypedefReference;
-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.core.parser.ast.IASTVariableReference;
-/**
- * This is the parser callback that creates objects in the DOM.
- */
-public class DOMBuilder implements ISourceElementRequestor
-{
-    public DOMBuilder()
-    {
-    }
-    protected TranslationUnit translationUnit = new TranslationUnit();
-    public TranslationUnit getTranslationUnit()
-    {
-        return translationUnit;
-    }
-    public SimpleDeclaration getTypeSpecOwner(
-        IScope scope,
-        int startingOffset)
-    {
-        List declarations = scope.getDeclarations();
-        for (int i = 0; i < declarations.size(); ++i)
-        {
-            if (declarations.get(i) instanceof SimpleDeclaration )
-            {
-                SimpleDeclaration s = (SimpleDeclaration)declarations.get(i);
-                if (s.getStartingOffset() == startingOffset)
-                    return s;
-            }
-        }
-        return null;
-    }
-    protected void createPDC(Declarator decl)
-    {
-        ParameterDeclarationClause clause =
-            new ParameterDeclarationClause(decl);
-    }
-    //    /**
-    //     * @see org.eclipse.cdt.internal.core.newparser.IParserCallback#oldKRParametersBegin()
-    //     */
-    //    public Object oldKRParametersBegin( Object parameterDeclarationClause ) {
-    //        ParameterDeclarationClause clause = ((ParameterDeclarationClause)parameterDeclarationClause);
-    //        OldKRParameterDeclarationClause KRclause = new OldKRParameterDeclarationClause( clause );
-    //        domScopes.push(KRclause);
-    //        return KRclause; 
-    //    }
-    //
-    //    /**
-    //     * @see org.eclipse.cdt.internal.core.newparser.IParserCallback#oldKRParametersEnd()
-    //     */
-    //    public void oldKRParametersEnd(Object oldKRParameterDeclarationClause) {
-    //        domScopes.pop();
-    //    }
-    //
-    //
-    //	/**
-    //	 * @see org.eclipse.cdt.internal.core.newparser.IParserCallback#declaratorBegin()
-    //	 */
-    //	public Object declaratorBegin(Object container) {
-    //		if( container instanceof DeclSpecifier.IContainer )
-    //		{
-    //			DeclSpecifier.IContainer decl = (DeclSpecifier.IContainer )container; 
-    //			Declarator declarator = new Declarator(decl);
-    //			return declarator;
-    //		}
-    //		else if( container instanceof IDeclaratorOwner )
-    //		{
-    //			IDeclaratorOwner owner = (IDeclaratorOwner)container;
-    //			Declarator declarator = new Declarator(owner); 
-    //			return declarator; 
-    //		}
-    //		return null; 
-    //	}
-    //
-    //	/**
-    //	 * @see org.eclipse.cdt.internal.core.newparser.IParserCallback#declaratorEnd()
-    //	 */
-    //	public void declaratorEnd(Object declarator) {
-    //		Declarator d = (Declarator)declarator;
-    //		if( d.getDeclaration() != null ) 
-    //			d.getDeclaration().addDeclarator(d);
-    //		else if( d.getOwnerDeclarator() != null )
-    //			d.getOwnerDeclarator().setDeclarator(d); 
-    //	}
-    //
-    //	/**
-    //	 * @see org.eclipse.cdt.internal.core.newparser.IParserCallback#declaratorId(org.eclipse.cdt.internal.core.newparser.Token)
-    //	 */
-    //	public void declaratorId(Object declarator) {
-    //		((Declarator)declarator).setName(currName);
-    //	}
-    //
-    //	/**
-    //	 * @see org.eclipse.cdt.internal.core.newparser.IParserCallback#declSpecifier(org.eclipse.cdt.internal.core.newparser.Token)
-    //	 */
-    //	public void simpleDeclSpecifier(Object Container, IToken specifier) {
-    //		DeclSpecifier.IContainer decl = (DeclSpecifier.IContainer)Container;
-    //		DeclSpecifier declSpec = decl.getDeclSpecifier(); 
-    //		declSpec.setType( specifier );
-    //	}
-    //
-    //	/**
-    //	 * @see org.eclipse.cdt.internal.core.newparser.IParserCallback#functionBodyBegin()
-    //	 */
-    //	public Object functionBodyBegin(Object declaration) {
-    //		SimpleDeclaration simpleDec = (SimpleDeclaration)declaration;
-    //		simpleDec.setFunctionDefinition(true);
-    //		return null;
-    //	}
-    //
-    //	/**
-    //	 * @see org.eclipse.cdt.internal.core.newparser.IParserCallback#simpleDeclarationBegin(org.eclipse.cdt.internal.core.newparser.Token)
-    //	 */
-    //	public Object simpleDeclarationBegin(Object container, IToken firstToken) {
-    //		SimpleDeclaration decl = new SimpleDeclaration( getCurrentDOMScope() );
-    //		if( getCurrentDOMScope() instanceof IAccessable )
-    //			decl.setAccessSpecifier(new AccessSpecifier( ((IAccessable)getCurrentDOMScope()).getVisibility() ));
-    //		((IOffsetable)decl).setStartingOffset( firstToken.getOffset() );
-    //	}
-    //
-    //	/**
-    //	 * @see org.eclipse.cdt.internal.core.newparser.IParserCallback#simpleDeclarationEnd(org.eclipse.cdt.internal.core.newparser.Token)
-    //	 */
-    //	public void simpleDeclarationEnd(Object declaration, IToken lastToken) {
-    //		SimpleDeclaration decl = (SimpleDeclaration)declaration;
-    //		IOffsetable offsetable = (IOffsetable)decl;
-    //		offsetable.setTotalLength( lastToken.getOffset() + lastToken.getLength() - offsetable.getStartingOffset());
-    //		getCurrentDOMScope().addDeclaration(decl);
-    //	}
-    //
-    //
-    //
-    protected void createBaseSpecifier(ClassSpecifier cs, IASTBaseSpecifier bs)
-    {
-        BaseSpecifier baseSpec = new BaseSpecifier(cs);
-        baseSpec.setVirtual(bs.isVirtual());
-        int access = AccessSpecifier.v_public;
-        if (bs.getAccess() == ASTAccessVisibility.PUBLIC)
-            access = AccessSpecifier.v_public;
-        else if (bs.getAccess() == ASTAccessVisibility.PROTECTED)
-            access = AccessSpecifier.v_protected;
-        else if (bs.getAccess() == ASTAccessVisibility.PRIVATE)
-            access = AccessSpecifier.v_private;
-        baseSpec.setAccess(access);
-        baseSpec.setName(bs.getParentClassName());
-    }
-    //	
-    //	public Object parameterDeclarationBegin( Object container )
-    //	{
-    //		IScope clause = (IScope)container; 
-    //		ParameterDeclaration pd = new ParameterDeclaration(clause);
-    //		return pd;
-    //	}
-    //	
-    //	public void  parameterDeclarationEnd( Object declaration ){
-    //		ParameterDeclaration d = (ParameterDeclaration)declaration;
-    //		d.getOwnerScope().addDeclaration(d);
-    //	}
-    //
-    	
-
-    //
-    //	/**
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#simpleDeclSpecifierName(java.lang.Object)
-    //	 */
-    //	public void simpleDeclSpecifierName(Object declaration) {
-    //		DeclSpecifier.IContainer decl = (DeclSpecifier.IContainer)declaration;
-    //		DeclSpecifier declSpec = decl.getDeclSpecifier(); 
-    //		declSpec.setName( currName ); 
-    //	}
-    //
-    //
-    protected void addPointerOperator(
-        Declarator d,
-        ASTPointerOperator pointerOp,
-        String name)
-    {
-        PointerOperator ptrOp = new PointerOperator(d);
-        if (pointerOp == ASTPointerOperator.REFERENCE)
-        {
-            ptrOp.setType(PointerOperator.t_reference);
-        }
-        else if (pointerOp == ASTPointerOperator.POINTER)
-        {
-            ptrOp.setType(PointerOperator.t_pointer);
-        }
-        else if (pointerOp == ASTPointerOperator.CONST_POINTER)
-        {
-            ptrOp.setType(PointerOperator.t_pointer);
-            ptrOp.setConst(true);
-        }
-        else if (pointerOp == ASTPointerOperator.VOLATILE_POINTER)
-        {
-            ptrOp.setType(PointerOperator.t_pointer);
-            ptrOp.setVolatile(true);
-        }
-        if (d != null)
-            d.addPointerOperator(ptrOp);
-    }
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#declaratorCVModifier(java.lang.Object, org.eclipse.cdt.internal.core.parser.Token)
-    //	 */
-    //	public void declaratorCVModifier(Object declarator, IToken modifier) {
-    //		Declarator decl = (Declarator)declarator;
-    //		switch( modifier.getType() )
-    //		{
-    //			case IToken.t_const:
-    //				decl.setConst(true);
-    //				break; 
-    //			case IToken.t_volatile:
-    //				decl.setVolatile( true );
-    //				break;
-    //			default:
-    //				break;
-    //		}
-    //
-    //	}
-    protected void addArrayDeclarator(
-        Declarator decl,
-        IASTArrayModifier arrayModifier)
-    {
-        ArrayQualifier qual = new ArrayQualifier(decl);
-        decl.addArrayQualifier(qual);
-    }
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#exceptionSpecificationTypename(java.lang.Object)
-    //	 */
-    //	public void declaratorThrowExceptionName(Object declarator ) 
-    //	{
-    //		Declarator decl = (Declarator)declarator; 
-    //		decl.getExceptionSpecifier().addTypeName( currName );
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#declaratorThrowsException(java.lang.Object)
-    //	 */
-    //	public void declaratorThrowsException(Object declarator) {
-    //		Declarator decl = (Declarator)declarator; 
-    //		decl.getExceptionSpecifier().setThrowsException(true);
-    //	}
-    //
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#constructorChainBegin(java.lang.Object)
-    //	 */
-    //	public Object constructorChainBegin(Object declarator) {
-    //		Declarator d = (Declarator)declarator; 
-    //		ConstructorChain chain = new ConstructorChain(d); 
-    //		return chain;
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#constructorChainEnd(java.lang.Object)
-    //	 */
-    //	public void constructorChainEnd(Object ctor) {
-    //		ConstructorChain chain = (ConstructorChain)ctor; 
-    //		chain.getOwnerDeclarator().setCtorChain(chain);
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#constructorChainElementBegin(java.lang.Object)
-    //	 */
-    //	public Object constructorChainElementBegin(Object ctor) {
-    //		return new ConstructorChainElement( (ConstructorChain)ctor );
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#constructorChainElementEnd(java.lang.Object)
-    //	 */
-    //	public void constructorChainElementEnd(Object element) {
-    //		ConstructorChainElement ele = (ConstructorChainElement)element;
-    //		ele.getOwnerChain().addChainElement( ele );
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#constructorChainId(java.lang.Object)
-    //	 */
-    //	public void constructorChainElementId(Object element) {
-    //		ConstructorChainElement ele = (ConstructorChainElement)element;
-    //		ele.setName(currName);
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#explicitInstantiationBegin(java.lang.Object)
-    //	 */
-    //	public Object explicitInstantiationBegin(Object container) {
-    //		ExplicitTemplateDeclaration etd = new ExplicitTemplateDeclaration( getCurrentDOMScope(), ExplicitTemplateDeclaration.k_instantiation );
-    //		domScopes.push( etd ); 
-    //		return etd;
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#explicitInstantiationEnd(java.lang.Object)
-    //	 */
-    //	public void explicitInstantiationEnd(Object instantiation) {
-    //		ExplicitTemplateDeclaration declaration = (ExplicitTemplateDeclaration)domScopes.pop();
-    //		declaration.getOwnerScope().addDeclaration(declaration);
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#explicitSpecializationBegin(java.lang.Object)
-    //	 */
-    //	public Object explicitSpecializationBegin(Object container) {
-    //		ExplicitTemplateDeclaration etd = new ExplicitTemplateDeclaration( getCurrentDOMScope(), ExplicitTemplateDeclaration.k_specialization);
-    //		domScopes.push( etd ); 
-    //		return etd;
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#explicitSpecializationEnd(java.lang.Object)
-    //	 */
-    //	public void explicitSpecializationEnd(Object instantiation) {
-    //		ExplicitTemplateDeclaration etd = (ExplicitTemplateDeclaration)domScopes.pop();
-    //		etd.getOwnerScope().addDeclaration(etd);
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#declaratorPureVirtual(java.lang.Object)
-    //	 */
-    //	public void declaratorPureVirtual(Object declarator) {
-    //		Declarator d = (Declarator)declarator;
-    //		d.setPureVirtual(true);
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#templateDeclarationBegin(java.lang.Object, boolean)
-    //	 */
-    //	public Object templateDeclarationBegin(Object container, IToken exported) {
-    //		TemplateDeclaration d = new TemplateDeclaration( (IScope)getCurrentDOMScope(), exported );
-    //		if( getCurrentDOMScope() instanceof IAccessable )
-    //			d.setVisibility( ((IAccessable)container).getVisibility() );
-    //		d.setStartingOffset( exported.getOffset() );
-    //		domScopes.push( d ); 
-    //		return d;
-    //	}
-    //
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#templateDeclarationEnd(java.lang.Object)
-    //	 */
-    //	public void templateDeclarationEnd(Object templateDecl, IToken lastToken) {
-    //		TemplateDeclaration decl = (TemplateDeclaration)domScopes.pop();
-    //		decl.setLastToken(lastToken);
-    //		decl.getOwnerScope().addDeclaration(decl);
-    //		decl.setTotalLength(lastToken.getOffset() + lastToken.getLength() - decl.getStartingOffset() );
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#templateTypeParameterBegin(java.lang.Object, org.eclipse.cdt.internal.core.parser.Token)
-    //	 */
-    //	public Object templateTypeParameterBegin(Object templDecl, IToken kind) {
-    //		TemplateParameterList list = (TemplateParameterList)templDecl;
-    //		int k; 
-    //		switch( kind.getType() )
-    //		{
-    //			case IToken.t_class:
-    //				k = TemplateParameter.k_class;
-    //				break;
-    //			case IToken.t_typename:
-    //				k= TemplateParameter.k_typename;
-    //				break;
-    //			case IToken.t_template:
-    //				k= TemplateParameter.k_template;
-    //				break;
-    //			default:
-    //				k = 0;  
-    //		}
-    //		TemplateParameter p = new TemplateParameter( list, k );
-    //		return p;
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#templateTypeParameterName(java.lang.Object)
-    //	 */
-    //	public void templateTypeParameterName(Object typeParm) {
-    //		((TemplateParameter)typeParm).setName( currName );
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#templateTypeInitialTypeId(java.lang.Object)
-    //	 */
-    //	public void templateTypeParameterInitialTypeId(Object typeParm) {
-    //		((TemplateParameter)typeParm).setTypeId( currName );
-    //	}
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#templateTypeParameterEnd(java.lang.Object)
-    //	 */
-    //	public void templateTypeParameterEnd(Object typeParm) {
-    //		TemplateParameter parameter = (TemplateParameter)typeParm;
-    //		parameter.getOwnerScope().addDeclaration( parameter );
-    //	}
-    //
-    //
-    //
-    //
-    //	/* (non-Javadoc)
-    //	 * @see org.eclipse.cdt.internal.core.parser.IParserCallback#templateParameterListBegin(java.lang.Object)
-    //	 */
-    //	public Object templateParameterListBegin(Object declaration) {
-    //		ITemplateParameterListOwner d = (ITemplateParameterListOwner)declaration;
-    //		TemplateParameterList list = new TemplateParameterList(); 
-    //		d.setTemplateParms(list);
-    //		return list;
-    //	}
-    protected void addBitfield(
-        Declarator declarator,
-        IASTExpression bitfieldExpression)
-    {
-        declarator.setBitField(new BitField(declarator));
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptProblem(org.eclipse.cdt.core.parser.IProblem)
-     */
-    public void acceptProblem(IProblem problem)
-    {
-        // ignore 
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptMacro(org.eclipse.cdt.core.parser.ast.IASTMacro)
-     */
-    public void acceptMacro(IASTMacro macro)
-    {
-        Macro m =
-            new Macro(
-                macro.getName(),
-                macro.getNameOffset(),
-                macro.getStartingOffset(),
-                macro.getEndingOffset()
-                    - macro.getStartingOffset());
-        translationUnit.addMacro(m);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptVariable(org.eclipse.cdt.core.parser.ast.IASTVariable)
-     */
-    public void acceptVariable(IASTVariable variable)
-    {
-        SimpleDeclaration declaration =
-            createStructuralSimpleDeclaration(variable);
-        Declarator d = new Declarator(declaration);
-        d.setName(variable.getName());
-        declaration.addDeclarator(d);
-    }
-    protected SimpleDeclaration createStructuralSimpleDeclaration(IASTVariable variable)
-    {
-        SimpleDeclaration declaration =
-            getTypeSpecOwner(
-                getCurrentDOMScope(),
-                variable.getStartingOffset());
-        if (declaration == null)
-        {
-            declaration =
-                startSimpleDeclaration(variable.getStartingOffset());
-            declaration.getDeclSpecifier().setConst(
-                variable.getAbstractDeclaration().isConst());
-            declaration.getDeclSpecifier().setExtern(variable.isExtern());
-            declaration.getDeclSpecifier().setAuto(variable.isAuto());
-            declaration.getDeclSpecifier().setRegister(variable.isRegister());
-            declaration.getDeclSpecifier().setStatic(variable.isStatic());
-            IASTTypeSpecifier typeSpec =
-                variable.getAbstractDeclaration().getTypeSpecifier();
-            if (typeSpec == null)
-            {
-                // what to do here? 
-            }
-            else if (typeSpec instanceof IASTSimpleTypeSpecifier)
-            {
-                IASTSimpleTypeSpecifier simpleTypeSpec =
-                    (IASTSimpleTypeSpecifier)typeSpec;
-                declaration.getDeclSpecifier().setLong(simpleTypeSpec.isLong());
-                declaration.getDeclSpecifier().setShort(
-                    simpleTypeSpec.isShort());
-                declaration.getDeclSpecifier().setUnsigned(
-                    simpleTypeSpec.isUnsigned());
-                if (simpleTypeSpec.getType()
-                    == IASTSimpleTypeSpecifier.Type.BOOL)
-                    declaration.getDeclSpecifier().setType(
-                        DeclSpecifier.t_bool);
-                else if (
-                    simpleTypeSpec.getType()
-                        == IASTSimpleTypeSpecifier.Type.CHAR)
-                    declaration.getDeclSpecifier().setType(
-                        DeclSpecifier.t_char);
-                else if (
-                    simpleTypeSpec.getType()
-                        == IASTSimpleTypeSpecifier.Type.DOUBLE)
-                    declaration.getDeclSpecifier().setType(
-                        DeclSpecifier.t_double);
-                else if (
-                    simpleTypeSpec.getType()
-                        == IASTSimpleTypeSpecifier.Type.FLOAT)
-                    declaration.getDeclSpecifier().setType(
-                        DeclSpecifier.t_float);
-                else if (
-                    simpleTypeSpec.getType()
-                        == IASTSimpleTypeSpecifier.Type.INT)
-                    declaration.getDeclSpecifier().setType(DeclSpecifier.t_int);
-                else if (
-                    simpleTypeSpec.getType()
-                        == IASTSimpleTypeSpecifier.Type.TEMPLATE)
-                    declaration.getDeclSpecifier().setType(
-                        DeclSpecifier.t_type);
-                else if (
-                    simpleTypeSpec.getType()
-                        == IASTSimpleTypeSpecifier.Type.CLASS_OR_TYPENAME)
-                    declaration.getDeclSpecifier().setType(
-                        DeclSpecifier.t_type);
-                else if (
-                    simpleTypeSpec.getType()
-                        == IASTSimpleTypeSpecifier.Type.VOID)
-                    declaration.getDeclSpecifier().setType(
-                        DeclSpecifier.t_void);
-                else if (
-                    simpleTypeSpec.getType()
-                        == IASTSimpleTypeSpecifier.Type.WCHAR_T)
-                    declaration.getDeclSpecifier().setType(
-                        DeclSpecifier.t_wchar_t);
-            }
-            else if (typeSpec instanceof IASTClassSpecifier)
-            {
-            }
-            else if (typeSpec instanceof IASTEnumerationSpecifier)
-            {
-            }
-            else if (typeSpec instanceof IASTElaboratedTypeSpecifier)
-            {
-            }
-            getCurrentDOMScope().addDeclaration(declaration);
-        }
-        return declaration;
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptFunctionDeclaration(org.eclipse.cdt.core.parser.ast.IASTFunction)
-     */
-    public void acceptFunctionDeclaration(IASTFunction function)
-    {
-        SimpleDeclaration simpleDeclaration =
-            getTypeSpecOwner(
-                getCurrentDOMScope(),
-                function.getStartingOffset());
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptUsageDirective(org.eclipse.cdt.core.parser.ast.IASTUsageDirective)
-     */
-    public void acceptUsingDirective(IASTUsingDirective usageDirective)
-    {
-        UsingDirective directive = new UsingDirective(getCurrentDOMScope());
-        directive.setNamespaceName(usageDirective.getNamespaceName());
-        directive.getOwnerScope().addDeclaration(directive);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptUsageDeclaration(org.eclipse.cdt.core.parser.ast.IASTUsageDeclaration)
-     */
-    public void acceptUsingDeclaration(IASTUsingDeclaration usageDeclaration)
-    {
-        UsingDeclaration declaration =
-            new UsingDeclaration(getCurrentDOMScope());
-        declaration.setTypename(usageDeclaration.isTypename());
-        declaration.setMappedName(usageDeclaration.usingTypeName());
-        declaration.getOwnerScope().addDeclaration(declaration);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptASMDefinition(org.eclipse.cdt.core.parser.ast.IASTASMDefinition)
-     */
-    public void acceptASMDefinition(IASTASMDefinition asmDefinition)
-    {
-        IScope scope = getCurrentDOMScope();
-        ASMDefinition definition =
-            new ASMDefinition(scope, asmDefinition.getBody());
-        scope.addDeclaration(definition);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptTypedef(org.eclipse.cdt.core.parser.ast.IASTTypedef)
-     */
-    public void acceptTypedefDeclaration(IASTTypedefDeclaration typedef)
-    {
-        // 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)
-    {
-        // ignore
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitFunctionBody(org.eclipse.cdt.core.parser.ast.IASTFunction)
-     */
-    public void exitFunctionBody(IASTFunction function)
-    {
-        //ignore
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterCompilationUnit(org.eclipse.cdt.core.parser.ast.IASTCompilationUnit)
-     */
-    public void enterCompilationUnit(IASTCompilationUnit compilationUnit)
-    {
-        domScopes.push(translationUnit);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterInclusion(org.eclipse.cdt.core.parser.ast.IASTInclusion)
-     */
-    public void enterInclusion(IASTInclusion inclusion)
-    {
-        Inclusion i =
-            new Inclusion(
-                inclusion.getName(),
-                inclusion.getNameOffset(),
-                inclusion.getStartingOffset(),
-                inclusion.getEndingOffset(),
-                inclusion.isLocal());
-        translationUnit.addInclusion(i);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterNamespaceDefinition(org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition)
-     */
-    public void enterNamespaceDefinition(IASTNamespaceDefinition namespaceDefinition)
-    {
-        NamespaceDefinition namespaceDef =
-            new NamespaceDefinition(getCurrentDOMScope());
-        namespaceDef.setName(namespaceDefinition.getName());
-        ((IOffsetable)namespaceDef).setStartingOffset(
-            namespaceDefinition.getStartingOffset());
-        if (!namespaceDefinition.getName().equals(""))
-            namespaceDef.setNameOffset(
-                namespaceDefinition.getNameOffset());
-        this.domScopes.push(namespaceDef);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterClassSpecifier(org.eclipse.cdt.core.parser.ast.IASTClassSpecification)
-     */
-    public void enterClassSpecifier(IASTClassSpecifier classSpecification)
-    {
-        SimpleDeclaration decl =
-            startSimpleDeclaration(
-                classSpecification.getStartingOffset());
-        int kind = ClassKey.t_struct;
-        int visibility = AccessSpecifier.v_public;
-        if (classSpecification.getClassKind() == ASTClassKind.CLASS)
-        {
-            kind = ClassKey.t_class;
-            visibility = AccessSpecifier.v_private;
-        }
-        else if (classSpecification.getClassKind() == ASTClassKind.STRUCT)
-        {
-            kind = ClassKey.t_struct;
-        }
-        else if (classSpecification.getClassKind() == ASTClassKind.UNION)
-        {
-            kind = ClassKey.t_union;
-        }
-        ClassSpecifier classSpecifier = new ClassSpecifier(kind, decl);
-        classSpecifier.setVisibility(visibility);
-        classSpecifier.setStartingOffset(
-            classSpecification.getStartingOffset());
-        decl.setTypeSpecifier(classSpecifier);
-        classSpecifier.setName(classSpecification.getName());
-        classSpecifier.setNameOffset(classSpecification.getNameOffset());
-        domScopes.push(classSpecifier);
-    }
-    protected SimpleDeclaration startSimpleDeclaration(int startingOffset)
-    {
-        SimpleDeclaration decl = new SimpleDeclaration(getCurrentDOMScope());
-        if (getCurrentDOMScope() instanceof IAccessable)
-            decl.setAccessSpecifier(
-                new AccessSpecifier(
-                    ((IAccessable)getCurrentDOMScope()).getVisibility()));
-        ((IOffsetable)decl).setStartingOffset(startingOffset);
-        return decl;
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterLinkageSpecification(org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification)
-     */
-    public void enterLinkageSpecification(IASTLinkageSpecification linkageSpec)
-    {
-        LinkageSpecification linkage =
-            new LinkageSpecification(
-                getCurrentDOMScope(),
-                linkageSpec.getLinkageString());
-        domScopes.push(linkage);
-    }
-    /* (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 enterTemplateInstantiation(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)
-    {
-        // ignore
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitMethodBody(org.eclipse.cdt.core.parser.ast.IASTMethod)
-     */
-    public void exitMethodBody(IASTMethod method)
-    {
-        // ignore
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptField(org.eclipse.cdt.core.parser.ast.IASTField)
-     */
-    public void acceptField(IASTField field)
-    {
-        SimpleDeclaration declaration =
-            createStructuralSimpleDeclaration(field);
-        Declarator d = new Declarator(declaration);
-        d.setName(field.getName());
-        declaration.addDeclarator(d);
-    }
-    /* (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)
-    {
-        LinkageSpecification linkage = (LinkageSpecification)domScopes.pop();
-        getCurrentDOMScope().addDeclaration(linkage);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitClassSpecifier(org.eclipse.cdt.core.parser.ast.IASTClassSpecification)
-     */
-    public void exitClassSpecifier(IASTClassSpecifier classSpecification)
-    {
-        ClassSpecifier c = (ClassSpecifier)getCurrentDOMScope();
-        c.setTotalLength(
-            classSpecification.getEndingOffset()
-                + 1
-                - classSpecification.getStartingOffset());
-        domScopes.pop();
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitNamespaceDefinition(org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition)
-     */
-    public void exitNamespaceDefinition(IASTNamespaceDefinition namespaceDefinition)
-    {
-        NamespaceDefinition definition = (NamespaceDefinition)domScopes.pop();
-        definition.setTotalLength(
-            namespaceDefinition.getEndingOffset()
-                - namespaceDefinition.getStartingOffset());
-        getCurrentDOMScope().addDeclaration(definition);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitInclusion(org.eclipse.cdt.core.parser.ast.IASTInclusion)
-     */
-    public void exitInclusion(IASTInclusion inclusion)
-    {
-        // ignore
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitCompilationUnit(org.eclipse.cdt.core.parser.ast.IASTCompilationUnit)
-     */
-    public void exitCompilationUnit(IASTCompilationUnit compilationUnit)
-    {
-        domScopes.pop();
-    }
-    private ScopeStack domScopes = new ScopeStack();
-    private IScope getCurrentDOMScope()
-    {
-        return domScopes.peek();
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptEnumerationSpecifier(org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier)
-     */
-    public void acceptEnumerationSpecifier(IASTEnumerationSpecifier enumeration)
-    {
-        SimpleDeclaration decl =
-            startSimpleDeclaration(enumeration.getStartingOffset());
-        EnumerationSpecifier es = new EnumerationSpecifier(decl);
-        es.setStartingOffset(enumeration.getStartingOffset());
-        es.setStartImage("enum");
-        decl.setTypeSpecifier(es);
-        es.setName(enumeration.getName());
-        es.setTotalLength(
-            enumeration.getEndingOffset()
-                + 1
-                - enumeration.getStartingOffset());
-        Iterator i = enumeration.getEnumerators();
-        while (i.hasNext())
-        {
-            IASTEnumerator enumerator = (IASTEnumerator)i.next();
-            EnumeratorDefinition definition = new EnumeratorDefinition();
-            es.addEnumeratorDefinition(definition);
-            definition.setName(enumerator.getName());
-            ((IOffsetable)definition).setStartingOffset(
-                enumerator.getNameOffset());
-            definition.setTotalLength(
-                enumerator.getEndingOffset()
-                    + 1
-                    - enumerator.getStartingOffset());
-        }
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptClassReference(org.eclipse.cdt.core.parser.ast.IASTClassSpecifier, int)
-     */
-    public void acceptClassReference(IASTClassReference reference)
-    {
-        // ignore
-    }
- 
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptAbstractTypeSpecDeclaration(org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration)
-     */
-    public void acceptAbstractTypeSpecDeclaration(IASTAbstractTypeSpecifierDeclaration abstractDeclaration)
-    {
-        // TODO Auto-generated method stub
-        
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptPointerToMethod(org.eclipse.cdt.core.parser.ast.IASTPointerToMethod)
-     */
-
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptTypedefReference(org.eclipse.cdt.core.parser.ast.IASTTypedefReference)
-     */
-    public void acceptTypedefReference(IASTTypedefReference reference)
-    {
-        // TODO Auto-generated method stub
-        
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptNamespaceReference(org.eclipse.cdt.core.parser.ast.IASTNamespaceReference)
-     */
-    public void acceptNamespaceReference(IASTNamespaceReference reference)
-    {
-        // TODO Auto-generated method stub
-        
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptEnumerationReference(org.eclipse.cdt.core.parser.ast.IASTEnumerationReference)
-     */
-    public void acceptEnumerationReference(IASTEnumerationReference reference)
-    {
-        // TODO Auto-generated method stub
-        
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptVariableReference(org.eclipse.cdt.core.parser.ast.IASTVariableReference)
-     */
-    public void acceptVariableReference(IASTVariableReference reference)
-    {
-        // TODO Auto-generated method stub
-        
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptFunctionReference(org.eclipse.cdt.core.parser.ast.IASTFunctionReference)
-     */
-    public void acceptFunctionReference(IASTFunctionReference reference)
-    {
-        // TODO Auto-generated method stub
-        
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptFieldReference(org.eclipse.cdt.core.parser.ast.IASTFieldReference)
-     */
-    public void acceptFieldReference(IASTFieldReference reference)
-    {
-        // TODO Auto-generated method stub
-        
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptMethodReference(org.eclipse.cdt.core.parser.ast.IASTMethodReference)
-     */
-    public void acceptMethodReference(IASTMethodReference reference)
-    {
-        // TODO Auto-generated method stub
-        
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptElaboratedForewardDeclaration(org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier)
-     */
-    public void acceptElaboratedForewardDeclaration(IASTElaboratedTypeSpecifier elaboratedType)
-    {
-        // TODO Auto-generated method stub
-        
-    }
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
-	 */
-	public void enterCodeBlock(IASTScope scope) {
-		// TODO Auto-generated method stub
-		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
-	 */
-	public void exitCodeBlock(IASTScope scope) {
-		// TODO Auto-generated method stub
-		
-	}
-}
\ No newline at end of file
Index: dom/org/eclipse/cdt/internal/core/dom/DeclSpecifier.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/DeclSpecifier.java
diff -N dom/org/eclipse/cdt/internal/core/dom/DeclSpecifier.java
--- dom/org/eclipse/cdt/internal/core/dom/DeclSpecifier.java	17 Jul 2003 20:15:13 -0000	1.8
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,280 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.List;
-
-
-/**
- * @author jcamelon
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class DeclSpecifier {
-
-	// DeclSpecifier layed out as bit array
-	// leftmost 5 bits are type
-	public static final int typeMask = 0x001f;
-	public static final int isAuto = 0x0020;
-	public static final int isRegister = 0x0040;
-	public static final int isStatic = 0x0080;
-	public static final int isExtern = 0x0100;
-	public static final int isMutable = 0x0200;
-	public static final int isInline = 0x0400;
-	public static final int isVirtual = 0x0800;
-	public static final int isExplicit = 0x1000;
-	public static final int isTypedef = 0x2000;
-	public static final int isFriend = 0x4000;
-	public static final int isConst = 0x8000;
-	public static final int isVolatile = 0x10000;
-	public static final int isUnsigned = 0x20000;
-	public static final int isShort = 0x40000;
-	public static final int isLong = 0x80000;
-
-	private int declSpecifierSeq = 0;
-	private boolean isTypename = false;
-	public int getDeclSpecifierSeq() {
-		return declSpecifierSeq;
-	}
-
-	// Convenience methods
-	private void setBit(boolean b, int mask) {
-		if (b)
-			declSpecifierSeq = declSpecifierSeq | mask;
-		else
-			declSpecifierSeq = declSpecifierSeq & ~mask;
-	}
-
-	private boolean checkBit(int mask) {
-		int masked = (declSpecifierSeq & mask);
-		return (masked != 0);
-	}
-
-	public void setAuto(boolean b) {
-		setBit(b, isAuto);
-	}
-	public boolean isAuto() {
-		return checkBit(isAuto);
-	}
-
-	public void setRegister(boolean b) {
-		setBit(b, isRegister);
-	}
-	public boolean isRegister() {
-		return checkBit(isRegister);
-	}
-
-	public void setStatic(boolean b) {
-		setBit(b, isStatic);
-	}
-	public boolean isStatic() {
-		return checkBit(isStatic);
-	}
-
-	public void setExtern(boolean b) {
-		setBit(b, isExtern);
-	}
-	public boolean isExtern() {
-		return checkBit(isExtern);
-	}
-
-	public void setMutable(boolean b) {
-		setBit(b, isMutable);
-	}
-	public boolean isMutable() {
-		return checkBit(isMutable);
-	}
-
-	public void setInline(boolean b) {
-		setBit(b, isInline);
-	}
-	public boolean isInline() {
-		return checkBit(isInline);
-	}
-
-	public void setVirtual(boolean b) {
-		setBit(b, isVirtual);
-	}
-	public boolean isVirtual() {
-		return checkBit(isVirtual);
-	}
-
-	public void setExplicit(boolean b) {
-		setBit(b, isExplicit);
-	}
-	public boolean isExplicit() {
-		return checkBit(isExplicit);
-	}
-
-	public void setTypedef(boolean b) {
-		setBit(b, isTypedef);
-	}
-	public boolean isTypedef() {
-		return checkBit(isTypedef);
-	}
-
-	public void setFriend(boolean b) {
-		setBit(b, isFriend);
-	}
-	public boolean isFriend() {
-		return checkBit(isFriend);
-	}
-
-	public void setConst(boolean b) {
-		setBit(b, isConst);
-	}
-	public boolean isConst() {
-		return checkBit(isConst);
-	}
-
-	public void setVolatile(boolean b) {
-		setBit(b, isVolatile);
-	}
-	public boolean isVolatile() {
-		return checkBit(isVolatile);
-	}
-
-	public void setUnsigned(boolean b) {
-		setBit(b, isUnsigned);
-	}
-	public boolean isUnsigned() {
-		return checkBit(isUnsigned);
-	}
-
-	public void setShort(boolean b) {
-		setBit(b, isShort);
-	}
-	public boolean isShort() {
-		return checkBit(isShort);
-	}
-
-	public void setLong(boolean b) {
-		setBit(b, isLong);
-	}
-	public boolean isLong() {
-		return checkBit(isLong);
-	}
-
-	// Simple Types
-	public static final int t_type = 0; // Type Specifier
-	public static final int t_char = 1;
-	public static final int t_wchar_t = 2;
-	public static final int t_bool = 3;
-	public static final int t_int = 4;
-	public static final int t_float = 5;
-	public static final int t_double = 6;
-	public static final int t_void = 7;
-
-
-
-	public void setType(int t) {
-		declSpecifierSeq = declSpecifierSeq & ~typeMask | t;
-	}
-
-	public int getType() {
-		return declSpecifierSeq & typeMask;
-	}
-
-	public interface IContainer {
-
-		public DeclSpecifier getDeclSpecifier();
-		public void addDeclarator(Object declarator);
-		public List getDeclarators();
-
-	};
-
-	String name = null;
-
-	/**
-	 * Returns the name.
-	 * @return Name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Sets the name.
-	 * @param name The name to set
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * Returns the type as a String
-	 * @return String
-	 */
-	public String getTypeName() {
-		StringBuffer type = new StringBuffer();
-		switch (getType()) {
-			case t_char :
-				if (isUnsigned())
-					type.append("unsigned ");
-				type.append("char");
-				break;
-			case t_wchar_t :
-				if (isUnsigned())
-					type.append("unsigned ");
-				type.append("wchar_t");
-				break;
-			case t_bool :
-				type.append("bool");
-				break;
-			case t_int :
-				if (isUnsigned())
-					type.append("unsigned ");
-				if (isShort())
-					type.append("short ");
-				if (isLong())
-					type.append("long ");
-				type.append("int");
-				break;
-			case t_float :
-				type.append("float");
-				break;
-			case t_double :
-				if (isLong())
-					type.append("long ");
-				type.append("double");
-				break;
-			case t_void :
-				type.append("void");
-				break;
-			case t_type :
-				if (isTypename() )
-					type.append("typename ");
-				if (getName() != null)
-					type.append(getName().toString());
-				else {
-					if (isUnsigned())
-						type.append("unsigned ");
-					if (isShort())
-						type.append("short ");
-					if (isLong())
-						type.append("long ");
-						
-				}
-				break;
-			default :
-				return "";
-		}
-		return type.toString();
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isTypename() {
-		return isTypename;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setTypename(boolean b) {
-		isTypename = b;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/Declaration.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/Declaration.java
diff -N dom/org/eclipse/cdt/internal/core/dom/Declaration.java
--- dom/org/eclipse/cdt/internal/core/dom/Declaration.java	24 Apr 2003 18:36:22 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,89 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- */
-public class Declaration implements IOffsetable {
-	
-	public Declaration( IScope scope )
-	{
-		ownerScope = scope;
-	}
-	
-	private final IScope ownerScope;
-
-	/**
-	 * @return
-	 */
-	public IScope getOwnerScope() {
-		return ownerScope;
-	}
-
-
-	private int startingOffset, endingOffset; 
-	private int startingLine, endingLine;
-	private int totalLength; 
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getStartingOffset()
-	 */
-	public int getStartingOffset()
-	{
-		return startingOffset;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getTotalLength()
-	 */
-	public int getTotalLength()
-	{
-		return totalLength;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setStartingOffset(int)
-	 */
-	public void setStartingOffset(int i)
-	{
-		startingOffset = i; 
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setTotalLength(int)
-	 */
-	public void setTotalLength(int i)
-	{
-		totalLength = i;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setTopLine(int)
-	 */
-	public void setTopLine(int lineNumber)
-	{
-		startingLine = lineNumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setBottomLine(int)
-	 */
-	public void setBottomLine(int lineNumber)
-	{
-		endingLine = lineNumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getTopLine()
-	 */
-	public int getTopLine()
-	{
-		return startingLine; 
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getBottomLine()
-	 */
-	public int getBottomLine()
-	{
-		return endingLine;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/Declarator.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/Declarator.java
diff -N dom/org/eclipse/cdt/internal/core/dom/Declarator.java
--- dom/org/eclipse/cdt/internal/core/dom/Declarator.java	17 Jul 2003 20:15:13 -0000	1.14
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,229 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-
-
-
-public class Declarator implements IDeclaratorOwner {
-	
-	public Declarator(DeclSpecifier.IContainer declaration) {
-		this.declaration = declaration;
-		this.ownerDeclarator = null; 
-	}
-	
-	public Declarator( IDeclaratorOwner owner )
-	{
-		this.ownerDeclarator = owner;
-		this.declaration = null;
-	}
-	
-	private final DeclSpecifier.IContainer declaration;
-	private final IDeclaratorOwner ownerDeclarator;
-	private int nameOffset;
-	
-	/**
-	 * Returns the declaration.
-	 * @return SimpleDeclaration
-	 */
-	public DeclSpecifier.IContainer getDeclaration() {
-		return declaration;
-	}
-
-	/**
-	 * Sets the declaration.
-	 * @param declaration The declaration to set
-	 */
-	public void setDeclaration(SimpleDeclaration declaration) {
-		
-	}
-
-	private String name;
-	
-	/**
-	 * Returns the name.
-	 * @return Name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Sets the name.
-	 * @param name The name to set
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-	
-	ParameterDeclarationClause parms = null; 
-
-	public void addParms( ParameterDeclarationClause parms )
-	{
-		this.parms = parms; 
-	}	
-	
-	/**
-	 * Returns the parms.
-	 * @return ParameterDeclarationClause
-	 */
-	public ParameterDeclarationClause getParms() {
-		return parms;
-	}
-	
-	List pointerOperators = new ArrayList();
-	List arrayQualifiers = new ArrayList(); 
-	
-	/**
-	 * @return List
-	 */
-	public List getPointerOperators() {
-		return Collections.unmodifiableList(pointerOperators);
-	}
-
-	public void addPointerOperator( PointerOperator po )
-	{
-		pointerOperators.add(po);
-	}
-	
-	ExceptionSpecifier exceptionSpecifier = new ExceptionSpecifier(); 
-	
-	public ExceptionSpecifier getExceptionSpecifier()
-	{
-		return exceptionSpecifier; 
-	}
-	
-	boolean isConst = false; 
-	boolean isVolatile = false;
-	boolean isPureVirtual = false; 
-	/**
-	 * @return boolean
-	 */
-	public boolean isConst() {
-		return isConst;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isVolatile() {
-		return isVolatile;
-	}
-
-	/**
-	 * Sets the isConst.
-	 * @param isConst The isConst to set
-	 */
-	public void setConst(boolean isConst) {
-		this.isConst = isConst;
-	}
-
-	/**
-	 * Sets the isVolatile.
-	 * @param isVolatile The isVolatile to set
-	 */
-	public void setVolatile(boolean isVolatile) {
-		this.isVolatile = isVolatile;
-	}
-
-	/**
-	 * @return List
-	 */
-	public List getArrayQualifiers() {
-		return Collections.unmodifiableList( arrayQualifiers );
-	}
-
-	public void addArrayQualifier( ArrayQualifier q )
-	{
-		arrayQualifiers.add(q);
-	}
-	
-	private ConstructorChain ctorChain = null;
-	
-	/**
-	 * @return ConstructorChain
-	 */
-	public ConstructorChain getCtorChain() {
-		return ctorChain;
-	}
-
-	/**
-	 * Sets the ctorChain.
-	 * @param ctorChain The ctorChain to set
-	 */
-	public void setCtorChain(ConstructorChain ctorChain) {
-		this.ctorChain = ctorChain;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isPureVirtual() {
-		return isPureVirtual;
-	}
-
-	/**
-	 * Sets the isPureVirtual.
-	 * @param isPureVirtual The isPureVirtual to set
-	 */
-	public void setPureVirtual(boolean isPureVirtual) {
-		this.isPureVirtual = isPureVirtual;
-	}
-
-	private Declarator innerDeclarator = null; 
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IDeclaratorOwner#getDeclarator()
-	 */
-	public Declarator getDeclarator() {
-		return innerDeclarator;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IDeclaratorOwner#setDeclarator(org.eclipse.cdt.internal.core.dom.Declarator)
-	 */
-	public void setDeclarator(Declarator input) {
-		innerDeclarator = input; 		
-	}
-
-	/**
-	 * @return
-	 */
-	public IDeclaratorOwner getOwnerDeclarator() {
-		return ownerDeclarator;
-	}
-	
-	private BitField bitField = null; 
-
-	/**
-	 * @return
-	 */
-	public BitField getBitField() {
-		return bitField;
-	}
-
-	/**
-	 * @param field
-	 */
-	public void setBitField(BitField field) {
-		bitField = field;
-	}
-
-    /**
-     * @return
-     */
-    public int getNameOffset()
-    {
-        return nameOffset;
-    }
-
-    /**
-     * @param i
-     */
-    public void setNameOffset(int i)
-    {
-        nameOffset = i;
-    }
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ElaboratedTypeSpecifier.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ElaboratedTypeSpecifier.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ElaboratedTypeSpecifier.java
--- dom/org/eclipse/cdt/internal/core/dom/ElaboratedTypeSpecifier.java	17 Jul 2003 20:15:13 -0000	1.7
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,49 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-
-
-/**
- * @author jcamelon
- *
- * To change this generated comment edit the template variable 
-"typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class ElaboratedTypeSpecifier extends TypeSpecifier {
-
-	ClassKey classKey = new ClassKey(); 
-	public int getClassKey() { return classKey.getClassKey(); }
-	
-	public void setClassKey( int classKey ) 
-	{ 
-		this.classKey.setClassKey( classKey ); 
-	}
-	
-	public ElaboratedTypeSpecifier(int classKey, TypeSpecifier.IOwner owner) {
-		super(owner);
-		this.classKey.setClassKey( classKey );
-	}
-
-	private String name;
-	public void setName(String n) { name = n; }
-	public String getName() { return name; }
-	
-	private ClassSpecifier classSpec = null;
-
-	/**
-	 * @return
-	 */
-	public ClassSpecifier getClassSpec() {
-		return classSpec;
-	}
-
-	/**
-	 * @param specifier
-	 */
-	public void setClassSpec(ClassSpecifier specifier) {
-		classSpec = specifier;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/EnumerationSpecifier.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/EnumerationSpecifier.java
diff -N dom/org/eclipse/cdt/internal/core/dom/EnumerationSpecifier.java
--- dom/org/eclipse/cdt/internal/core/dom/EnumerationSpecifier.java	17 Jul 2003 20:15:13 -0000	1.11
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,155 +0,0 @@
-/**********************************************************************
- * Created on Mar 25, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author jcamelon
- *
- */
-public class EnumerationSpecifier extends TypeSpecifier implements IOffsetable {
-	
-	public EnumerationSpecifier(IOwner declaration) {
-		super(declaration);
-	}
-	
-	private String name = null;
-	private List enumeratorDefinitions = new ArrayList();
-	private int startingOffset = 0, totalLength = 0;
-	private int nameOffset = 0; 
-	private String startImage = null;
-	
-	public void addEnumeratorDefinition( EnumeratorDefinition def )
-	{
-		enumeratorDefinitions.add( def );
-	}
-	
-	
-	/**
-	 * @return List
-	 */
-	public List getEnumeratorDefinitions() {
-		return Collections.unmodifiableList( enumeratorDefinitions );
-	}
-
-	/**
-	 * @return Name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Sets the name.
-	 * @param name The name to set
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getStartingOffset() {
-		return startingOffset;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getTotalLength() {
-		return totalLength;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setStartingOffset(int i) {
-		startingOffset = i;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setTotalLength(int i) {
-		totalLength = i;
-	}
-
-	/**
-	 * Returns the startToken.
-	 * @return Token
-	 */
-	public String getStartImage() {
-		return startImage;
-	}
-
-	/**
-	 * Sets the startToken.
-	 * @param startToken The startToken to set
-	 */
-	public void setStartImage(String startImage) {
-		this.startImage= startImage;
-	}
-
-	private int topLine = 0, bottomLine = 0; 
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setTopLine(int)
-	 */
-	public void setTopLine(int lineNumber) {
-		topLine = lineNumber;
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setBottomLine(int)
-	 */
-	public void setBottomLine(int lineNumber) {
-		bottomLine = lineNumber;
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getTopLine()
-	 */
-	public int getTopLine() {
-		return topLine;
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getBottomLine()
-	 */
-	public int getBottomLine() {
-		return bottomLine;
-	}
-
-    /**
-     * @return
-     */
-    public int getNameOffset()
-    {
-        return nameOffset;
-    }
-
-    /**
-     * @param i
-     */
-    public void setNameOffset(int i)
-    {
-        nameOffset = i;
-    }
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/EnumeratorDefinition.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/EnumeratorDefinition.java
diff -N dom/org/eclipse/cdt/internal/core/dom/EnumeratorDefinition.java
--- dom/org/eclipse/cdt/internal/core/dom/EnumeratorDefinition.java	17 Jul 2003 20:15:13 -0000	1.7
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,99 +0,0 @@
-/**********************************************************************
- * Created on Mar 25, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-
-
-/**
- * @author jcamelon
- *
- */
-public class EnumeratorDefinition implements IOffsetable {
-
-	private String  name = null; 
-	private int startingOffset = 0, totalLength = 0;
-	
-	/**
-	 * @return Name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Sets the name.
-	 * @param name The name to set
-	 */
-	public void setName(String  name) {
-		this.name = name;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getStartingOffset() {
-		return startingOffset;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getTotalLength() {
-		return totalLength;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setStartingOffset(int i) {
-		startingOffset = i;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setTotalLength(int i) {
-		totalLength = i;
-	}
-
-	int bottomLine = 0, topLine = 0; 
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setTopLine(int)
-	 */
-	public void setTopLine(int lineNumber) {
-		topLine = lineNumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setBottomLine(int)
-	 */
-	public void setBottomLine(int lineNumber) {
-		bottomLine = lineNumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getTopLine()
-	 */
-	public int getTopLine() {
-		return topLine;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getBottomLine()
-	 */
-	public int getBottomLine() {
-		return bottomLine;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ExceptionSpecifier.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ExceptionSpecifier.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ExceptionSpecifier.java
--- dom/org/eclipse/cdt/internal/core/dom/ExceptionSpecifier.java	17 Jul 2003 20:15:13 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,56 +0,0 @@
-/**********************************************************************
- * Created on Mar 26, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-
-/**
- * @author jcamelon
- *
- */
-public class ExceptionSpecifier {
-
-	private List typeNames = new LinkedList();
-	private boolean throwsException = false;
-	
-	/**
-	 * @return List
-	 */
-	public List getTypeNames() {
-		return Collections.unmodifiableList( typeNames );
-	}
-
-	public void addTypeName( String name )
-	{
-		typeNames.add( name );
-	}
-
-	/**
-	 * Sets the throwsException.
-	 * @param throwsException The throwsException to set
-	 */
-	public void setThrowsException(boolean throwsException) {
-		this.throwsException = throwsException;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean throwsException() {
-		return throwsException;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ExplicitTemplateDeclaration.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ExplicitTemplateDeclaration.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ExplicitTemplateDeclaration.java
--- dom/org/eclipse/cdt/internal/core/dom/ExplicitTemplateDeclaration.java	13 Apr 2003 22:01:29 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,60 +0,0 @@
-/**********************************************************************
- * Created on Mar 29, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author jcamelon
- *
- */
-public class ExplicitTemplateDeclaration extends Declaration implements IScope {
-
-	private final int kind;
-	
-	public final static int k_specialization = 1;
-	public final static int k_instantiation = 2; 
-
-	public ExplicitTemplateDeclaration( IScope scope, int kind ) 
-	{
-		super( scope );
-		this.kind = kind;
-	}
-
-
-	private List declarations = new ArrayList();
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#addDeclaration(org.eclipse.cdt.internal.core.dom.Declaration)
-	 */
-	public void addDeclaration(Declaration declaration) {
-		declarations.add( declaration );
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#getDeclarations()
-	 */
-	public List getDeclarations() {
-		return Collections.unmodifiableList( declarations );
-	}
-
-
-	/**
-	 * @return int
-	 */
-	public int getKind() {
-		return kind;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/IAccessable.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/IAccessable.java
diff -N dom/org/eclipse/cdt/internal/core/dom/IAccessable.java
--- dom/org/eclipse/cdt/internal/core/dom/IAccessable.java	11 Apr 2003 14:42:24 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-/*
- * Created on Apr 10, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public interface IAccessable {
-	/**
-	 * @return int
-	 */
-	public abstract int getVisibility();
-	/**
-	 * Sets the currentVisiblity.
-	 * @param currentVisiblity The currentVisiblity to set
-	 */
-	public abstract void setVisibility(int currentVisiblity);
-}
\ No newline at end of file
Index: dom/org/eclipse/cdt/internal/core/dom/IDeclaratorOwner.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/IDeclaratorOwner.java
diff -N dom/org/eclipse/cdt/internal/core/dom/IDeclaratorOwner.java
--- dom/org/eclipse/cdt/internal/core/dom/IDeclaratorOwner.java	14 Apr 2003 14:14:50 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Created on Apr 13, 2003
- *
- * Copyright (c) 2002,2003 IBM/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 Ltd. - Rational Software - Initial API and implementation
-************************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public interface IDeclaratorOwner {
-
-	public Declarator getDeclarator(); 
-	public void setDeclarator( Declarator input );
-}
Index: dom/org/eclipse/cdt/internal/core/dom/IOffsetable.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/IOffsetable.java
diff -N dom/org/eclipse/cdt/internal/core/dom/IOffsetable.java
--- dom/org/eclipse/cdt/internal/core/dom/IOffsetable.java	16 Apr 2003 12:30:47 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Created on Apr 7, 2003
- *
- * Copyright (c) 2002,2003 IBM/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 Ltd. - Rational Software - Initial API and implementation
-************************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-
-/**
- * @author jcamelon
- *
- */
-public interface IOffsetable {
-
-	/**
-	 * @return
-	 */
-	public abstract int getStartingOffset();
-	/**
-	 * @return
-	 */
-	public abstract int getTotalLength();
-	/**
-	 * @param i
-	 */
-	public abstract void setStartingOffset(int i);
-	/**
-	 * @param i
-	 */
-	public abstract void setTotalLength(int i);
-	
-	public abstract void setTopLine( int lineNumber );
-	public abstract void setBottomLine( int lineNumber );
-	public abstract int  getTopLine();
-	public abstract int  getBottomLine(); 
-	
-}
\ No newline at end of file
Index: dom/org/eclipse/cdt/internal/core/dom/IScope.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/IScope.java
diff -N dom/org/eclipse/cdt/internal/core/dom/IScope.java
--- dom/org/eclipse/cdt/internal/core/dom/IScope.java	13 Apr 2003 22:01:29 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.List;
-
-
-/**
- * A scope contains a set of declarations that are defined 
- * in that scope.  
- **/
- 
-public interface IScope {
-	
-	public void addDeclaration(Declaration declaration);
-	public List getDeclarations();
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ITemplateParameterListOwner.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ITemplateParameterListOwner.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ITemplateParameterListOwner.java
--- dom/org/eclipse/cdt/internal/core/dom/ITemplateParameterListOwner.java	4 Apr 2003 14:05:18 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Created on Mar 29, 2003
- *
- * Copyright (c) 2002,2003 IBM/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 Ltd. - Rational Software - Initial API and implementation
-***********************************************************************/
-
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public interface ITemplateParameterListOwner
-{
-	public TemplateParameterList getTemplateParms();
-	public void setTemplateParms(TemplateParameterList list);
-}
-	
\ No newline at end of file
Index: dom/org/eclipse/cdt/internal/core/dom/Inclusion.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/Inclusion.java
diff -N dom/org/eclipse/cdt/internal/core/dom/Inclusion.java
--- dom/org/eclipse/cdt/internal/core/dom/Inclusion.java	5 Jun 2003 20:01:54 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Created on Apr 7, 2003
- *
- * Copyright (c) 2002,2003 IBM/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 Ltd. - Rational Software - Initial API and implementation
-************************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public class Inclusion extends PreprocessorStatement {
-
-	private final boolean local;
-
-	public Inclusion( String name, int nameOffset, int startingOffset, int totalLength, boolean local )
-	{
-		super( name, nameOffset, startingOffset, totalLength );
-		this.local = local;
-	}
-	/**
-	 * @return
-	 */
-	public boolean isLocal() {
-		return local;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/LinkageSpecification.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/LinkageSpecification.java
diff -N dom/org/eclipse/cdt/internal/core/dom/LinkageSpecification.java
--- dom/org/eclipse/cdt/internal/core/dom/LinkageSpecification.java	13 Apr 2003 22:01:29 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,56 +0,0 @@
-/**********************************************************************
- * Created on Mar 25, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @author jcamelon
- *
- */
-public class LinkageSpecification extends Declaration implements IScope {
-
-	private List declarations = new LinkedList();
-	private String languageLinkage; 
-	
-	LinkageSpecification( IScope owner, String linkage )
-	{
-		super( owner );
-		languageLinkage = linkage;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#addDeclaration(org.eclipse.cdt.internal.core.dom.Declaration)
-	 */
-	public void addDeclaration(Declaration declaration) {
-		declarations.add( declaration );
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#getDeclarations()
-	 */
-	public List getDeclarations() {
-		return Collections.unmodifiableList( declarations );
-	}
-
-
-	/**
-	 * @return String
-	 */
-	public String getLanguageLinkage() {
-		return languageLinkage;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/Macro.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/Macro.java
diff -N dom/org/eclipse/cdt/internal/core/dom/Macro.java
--- dom/org/eclipse/cdt/internal/core/dom/Macro.java	8 Apr 2003 03:41:05 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,26 +0,0 @@
-/**********************************************************************
- * Created on Apr 7, 2003
- *
- * Copyright (c) 2002,2003 IBM/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 Ltd. - Rational Software - Initial API and implementation
-************************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public class Macro extends PreprocessorStatement {
-
-	public Macro( String name, int nameOffset, int startingOffset, int totalLength )
-	{
-		super( name, nameOffset, startingOffset, totalLength );
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/NamespaceDefinition.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/NamespaceDefinition.java
diff -N dom/org/eclipse/cdt/internal/core/dom/NamespaceDefinition.java
--- dom/org/eclipse/cdt/internal/core/dom/NamespaceDefinition.java	13 Jun 2003 15:01:22 -0000	1.9
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,103 +0,0 @@
-/**********************************************************************
- * Created on Mar 25, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @author jcamelon
- *
- */
-public class NamespaceDefinition extends Declaration implements IScope {
-
-	private List declarations = new LinkedList();
-	private String name = "namespace";
-	int startingOffset = 0; 
-	int nameOffset = 0; 
-	int endOffset = 0; 
-
-	public NamespaceDefinition( IScope owner )
-	{
-		super( owner );
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#addDeclaration(org.eclipse.cdt.internal.core.dom.Declaration)
-	 */
-	public void addDeclaration(Declaration declaration) {
-		declarations.add( declaration ); 
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#getDeclarations()
-	 */
-	public List getDeclarations() {
-		return Collections.unmodifiableList( declarations ); 
-	}
-
-
-	/**
-	 * @return String
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Sets the name.
-	 * @param name The name to set
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-
-	public int getStartOffset()
-	{
-		return startingOffset;
-	}
-	
-	public int getNameOffset()
-	{
-		return nameOffset;
-	}
-	
-	public int getEndOffset()
-	{
-		return endOffset;
-	}
-	/**
-	 * @param i
-	 */
-	public void setEndOffset(int i) {
-		endOffset = i;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setNameOffset(int i) {
-		nameOffset = i;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setStartingOffset(int i) {
-		startingOffset = i;
-	}
-	
-}
Index: dom/org/eclipse/cdt/internal/core/dom/OldKRParameterDeclarationClause.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/OldKRParameterDeclarationClause.java
diff -N dom/org/eclipse/cdt/internal/core/dom/OldKRParameterDeclarationClause.java
--- dom/org/eclipse/cdt/internal/core/dom/OldKRParameterDeclarationClause.java	18 Jun 2003 19:36:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,40 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-
-/**
- * @author vmozgin
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class OldKRParameterDeclarationClause implements IScope {
-
-	/**
-	 * @see org.eclipse.cdt.core.dom.IScope#addDeclaration(org.eclipse.cdt.internal.core.dom.Declaration)
-	 */
-	public void addDeclaration( Declaration declaration) {
-		declarations.add( declaration ); 
-	}
-
-	/**
-	 * @see org.eclipse.cdt.core.dom.IScope#getDeclarations()
-	 */
-	public List getDeclarations() {
-		return Collections.unmodifiableList( declarations );
-	}
-
-	private List declarations = new LinkedList();
-	private ParameterDeclarationClause owner; 
-	
-	OldKRParameterDeclarationClause( ParameterDeclarationClause owner )
-	{
-		this.owner = owner; 
-		this.owner.addOldKRParms( this ); 
-	}
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ParameterDeclaration.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ParameterDeclaration.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ParameterDeclaration.java
--- dom/org/eclipse/cdt/internal/core/dom/ParameterDeclaration.java	14 Apr 2003 14:14:50 -0000	1.8
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,64 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-
-
-/**
- * @author jcamelon
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class ParameterDeclaration extends Declaration implements DeclSpecifier.IContainer, TypeSpecifier.IOwner {
-
-	private DeclSpecifier declSpec = null; 
-	private TypeSpecifier typeSpecifier;
-	
-	public ParameterDeclaration( IScope scope )
-	{
-		super( scope );
-	}
-	
-	/**
-	 * Returns the typeSpecifier.
-	 * @return TypeSpecifier
-	 */
-	public TypeSpecifier getTypeSpecifier() {
-		return typeSpecifier;
-	}
-
-	/**
-	 * Sets the typeSpecifier.
-	 * @param typeSpecifier The typeSpecifier to set
-	 */
-	public void setTypeSpecifier(TypeSpecifier typeSpecifier) {
-		getDeclSpecifier().setType(DeclSpecifier.t_type);
-		this.typeSpecifier = typeSpecifier;
-	}
-	
-	/**
-	 * @see org.eclipse.cdt.internal.core.dom.DeclarationSpecifier.CElementWrapper#getDeclSpecifier()
-	 */
-	public DeclSpecifier getDeclSpecifier() {
-		if( declSpec == null )
-			declSpec = new DeclSpecifier(); 
-			
-		return declSpec; 
-	}
-
-	private List declarators = new LinkedList();
-	
-	public void addDeclarator(Object declarator) {
-		declarators.add(declarator);
-	}
-
-	public List getDeclarators() {
-		return Collections.unmodifiableList( declarators );
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ParameterDeclarationClause.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ParameterDeclarationClause.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ParameterDeclarationClause.java
--- dom/org/eclipse/cdt/internal/core/dom/ParameterDeclarationClause.java	18 Jun 2003 19:36:20 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,55 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-
-/**
- * @author jcamelon
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class ParameterDeclarationClause implements IScope {
-
-	/**
-	 * @see org.eclipse.cdt.core.dom.IScope#addDeclaration(org.eclipse.cdt.internal.core.dom.Declaration)
-	 */
-	public void addDeclaration( Declaration declaration) {
-		declarations.add( declaration ); 
-	}
-
-	/**
-	 * @see org.eclipse.cdt.core.dom.IScope#getDeclarations()
-	 */
-	public List getDeclarations() {
-		return Collections.unmodifiableList( declarations );
-	}
-
-	private List declarations = new LinkedList();
-	private Declarator owner; 
-	
-	ParameterDeclarationClause( Declarator owner )
-	{
-		this.owner = owner; 
-		this.owner.addParms( this ); 
-	}
-    
-    OldKRParameterDeclarationClause oldKRparms = null; 
-
-    public void addOldKRParms( OldKRParameterDeclarationClause oldKRparms )
-    {
-        this.oldKRparms = oldKRparms; 
-    }   
-    
-    /**
-     * Returns the parms.
-     * @return OldKRParameterDeclarationClause
-     */
-    public OldKRParameterDeclarationClause getOldKRParms() {
-        return oldKRparms;
-    }
-}
Index: dom/org/eclipse/cdt/internal/core/dom/PointerOperator.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/PointerOperator.java
diff -N dom/org/eclipse/cdt/internal/core/dom/PointerOperator.java
--- dom/org/eclipse/cdt/internal/core/dom/PointerOperator.java	17 Jul 2003 20:15:13 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,106 +0,0 @@
-/**********************************************************************
- * Created on Mar 23, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public class PointerOperator {
-
-	public final static int t_undefined = 0;
-	public final static int t_pointer = 1; 
-	public final static int t_reference = 2;
-    public final static int t_pointer_to_member = 3;  
-	private int type = t_undefined; 
-	
-	/**
-	 * @return int
-	 */
-	public int getType() {
-		return type;
-	}
-
-	/**
-	 * Sets the type.
-	 * @param type The type to set
-	 */
-	public void setType(int type) {
-		this.type = type;
-	}
-
-	private boolean isConst = false; 
-	private boolean isVolatile = false; 
-	
-	/**
-	 * @return boolean
-	 */
-	public boolean isConst() {
-		return isConst;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isVolatile() {
-		return isVolatile;
-	}
-
-	/**
-	 * Sets the isConst.
-	 * @param isConst The isConst to set
-	 */
-	public void setConst(boolean isConst) {
-		this.isConst = isConst;
-	}
-
-	/**
-	 * Sets the isVolatile.
-	 * @param isVolatile The isVolatile to set
-	 */
-	public void setVolatile(boolean isVolatile) {
-		this.isVolatile = isVolatile;
-	}
-	
-	public PointerOperator( Declarator decl )
-	{
-		ownerDeclarator = decl;
-	}
-	
-	private Declarator ownerDeclarator = null; 
-	/**
-	 * @return Declarator
-	 */
-	public Declarator getOwnerDeclarator() {
-		return ownerDeclarator;
-	}
-    
-
-    // This is not a complete name, it is something like A::B::, i.e. ends with ::
-    private String nameSpecifier = null;
-    
-    /**
-     * @return Class name specifier for pointers to members
-     */
-    public String getNameSpecifier() {
-        return nameSpecifier;
-    }
-
-    /**
-     * Sets the class name specifier for pointers to members.
-     * @param name The name specifier to set
-     */
-    public void setNameSpecifier(String name) {
-        this.nameSpecifier = name;
-    }
-}
Index: dom/org/eclipse/cdt/internal/core/dom/PreprocessorStatement.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/PreprocessorStatement.java
diff -N dom/org/eclipse/cdt/internal/core/dom/PreprocessorStatement.java
--- dom/org/eclipse/cdt/internal/core/dom/PreprocessorStatement.java	16 Apr 2003 12:30:47 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,107 +0,0 @@
-/**********************************************************************
- * Created on Apr 7, 2003
- *
- * Copyright (c) 2002,2003 IBM/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 Ltd. - Rational Software - Initial API and implementation
-************************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-/**
- * @author jcamelon
- *
- */
-public class PreprocessorStatement implements IOffsetable {
-	
-	private int startingOffset, totalLength;
-	private final int nameOffset;
-	private final String name; 
-	
-	public PreprocessorStatement( String name, int nameOffset, int startingOffset, int totalLength )
-	{
-		this.name =name;
-		this.nameOffset = nameOffset;
-		this.startingOffset = startingOffset;
-		this.totalLength = totalLength;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsettable#getStartingOffset()
-	 */
-	public int getStartingOffset() {
-		return startingOffset;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsettable#getTotalLength()
-	 */
-	public int getTotalLength() {
-		return totalLength;
-	}
-
-
-	/**
-	 * @return
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getNameOffset() {
-		return nameOffset;
-	}
-	
-	public int getNameLength() {
-		return name.length();
-	}
-	/**
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsettable#setStartingOffset(int)
-	 */
-	public void setStartingOffset(int i) {
-		startingOffset = i;
-	}
-	/**
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsettable#setTotalLength(int)
-	 */
-	public void setTotalLength(int i) {
-		totalLength = i;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setTopLine(int)
-	 */
-	public void setTopLine(int lineNumber) {
-		topLine = lineNumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#setBottomLine(int)
-	 */
-	public void setBottomLine(int lineNumber) {
-		bottomLine = lineNumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getTopLine()
-	 */
-	public int getTopLine() { 
-		return topLine;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IOffsetable#getBottomLine()
-	 */
-	public int getBottomLine() {
-		return bottomLine;
-	}
-	private int topLine = 0, bottomLine = 0; 
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/ScopeStack.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/ScopeStack.java
diff -N dom/org/eclipse/cdt/internal/core/dom/ScopeStack.java
--- dom/org/eclipse/cdt/internal/core/dom/ScopeStack.java	13 Jun 2003 15:01:22 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,38 +0,0 @@
-/**********************************************************************
- * 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.dom;
-
-import java.util.Stack;
-
-/**
- * @author jcamelon
- *
- */
-public class ScopeStack {
-
-	public IScope peek()
-	{
-		return (IScope)scopes.peek(); 	
-	}
-	
-	public IScope pop()
-	{ 
-		return (IScope)scopes.pop(); 
-	}
-	
-	public void push( IScope scope )
-	{
-		scopes.push( scope );
-	}
-	
-	private Stack scopes = new Stack(); 
-	
-}
Index: dom/org/eclipse/cdt/internal/core/dom/SimpleDeclaration.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/SimpleDeclaration.java
diff -N dom/org/eclipse/cdt/internal/core/dom/SimpleDeclaration.java
--- dom/org/eclipse/cdt/internal/core/dom/SimpleDeclaration.java	17 Jul 2003 20:15:13 -0000	1.12
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,104 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-
-public class SimpleDeclaration extends Declaration implements DeclSpecifier.IContainer, TypeSpecifier.IOwner {
-
-	private AccessSpecifier accessSpecifier = null;
-	private DeclSpecifier declSpec = null;
-	private boolean isFunctionDefinition = false;
-	private int nameOffset; 
-	 
-	 
-	public SimpleDeclaration(IScope owner )
-	{
-		super( owner );
-	}
-	
-	public DeclSpecifier getDeclSpecifier()
-	{
-		if( declSpec == null )
-			declSpec = new DeclSpecifier(); 
-		return declSpec;
-	}
-		
-	/**
-	 * This is valid when the type is t_type.  It points to a
-	 * classSpecifier, etc.
-	 */
-	private TypeSpecifier typeSpecifier;
-	
-	/**
-	 * Returns the typeSpecifier.
-	 * @return TypeSpecifier
-	 */
-	public TypeSpecifier getTypeSpecifier() {
-		return typeSpecifier;
-	}
-
-	/**
-	 * Sets the typeSpecifier.
-	 * @param typeSpecifier The typeSpecifier to set
-	 */
-	public void setTypeSpecifier(TypeSpecifier typeSpecifier) {
-		getDeclSpecifier().setType(DeclSpecifier.t_type);
-		this.typeSpecifier = typeSpecifier;
-	}
-
-	private List declarators = new LinkedList();
-	
-	public void addDeclarator(Object declarator) {
-		declarators.add(declarator);
-	}
-
-	public List getDeclarators() {
-		return Collections.unmodifiableList( declarators );
-	}
-
-	/**
-	 * @return
-	 */
-	public AccessSpecifier getAccessSpecifier() {
-		return accessSpecifier;
-	}
-
-	/**
-	 * @param specifier
-	 */
-	public void setAccessSpecifier(AccessSpecifier specifier) {
-		accessSpecifier = specifier;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isFunctionDefinition() {
-		return isFunctionDefinition;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setFunctionDefinition(boolean b) {
-		isFunctionDefinition = b;
-	}
-    /**
-     * @return
-     */
-    public int getNameOffset()
-    {
-        return nameOffset;
-    }
-
-    /**
-     * @param i
-     */
-    public void setNameOffset(int i)
-    {
-        nameOffset = i;
-    }
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/TemplateDeclaration.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/TemplateDeclaration.java
diff -N dom/org/eclipse/cdt/internal/core/dom/TemplateDeclaration.java
--- dom/org/eclipse/cdt/internal/core/dom/TemplateDeclaration.java	17 Jul 2003 20:15:13 -0000	1.9
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,105 +0,0 @@
-/**********************************************************************
- * Created on Mar 30, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author jcamelon
- *
- */
-public class TemplateDeclaration extends Declaration implements IScope, IAccessable, ITemplateParameterListOwner {
-
-	private final boolean exported;
-	private AccessSpecifier visibility = null; 
-	 
-	private List declarations = new ArrayList(); 
-	private TemplateParameterList templateParms = null;                
-
-	public TemplateDeclaration( IScope ownerScope, boolean exported )
-	{
-		super( ownerScope );
-		this.exported = exported;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#addDeclaration(org.eclipse.cdt.internal.core.dom.Declaration)
-	 */
-	public void addDeclaration(Declaration declaration) {
-		declarations.add( declaration );
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#getDeclarations()
-	 */
-	public List getDeclarations() {
-		return Collections.unmodifiableList( declarations );
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isExported() {
-		return exported;
-	}
-
-	/**
-	 * @return
-	 */
-	public TemplateParameterList getTemplateParms() {
-		return templateParms;
-	}
-
-	/**
-	 * @param list
-	 */
-	public void setTemplateParms(TemplateParameterList list) {
-		templateParms = list;
-	}
-
-
-	/**
-	 * @param token
-	 */
-	public void setFirstOffset(int startingOffset) {
-		setStartingOffset( startingOffset );
-	}
-
-	/**
-	 * @param token
-	 */
-	public void setLastOffset(int lastOffset) {
-		setTotalLength( lastOffset - getStartingOffset() ); 
-	}
-
-	/**
-	 * @return
-	 */
-	public int getVisibility() {
-		if( visibility == null ) return AccessSpecifier.v_unknown;
-		return visibility.getAccess();
-	}
-
-	/**
-	 * @param specifier
-	 */
-	public void setVisibility(int visibility) {
-		if( this.visibility == null ) this.visibility = new AccessSpecifier(visibility);
-		else this.visibility.setAccess(visibility);
-	}
-
-
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/TemplateParameter.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/TemplateParameter.java
diff -N dom/org/eclipse/cdt/internal/core/dom/TemplateParameter.java
--- dom/org/eclipse/cdt/internal/core/dom/TemplateParameter.java	17 Jul 2003 20:15:13 -0000	1.6
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,93 +0,0 @@
-/**********************************************************************
- * Created on Mar 30, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-
-
-/**
- * @author jcamelon
- *
- */
-public class TemplateParameter extends Declaration implements ITemplateParameterListOwner {
-
-	private final int kind; 
-	
-	public final static int k_class = 2;
-	public final static int k_typename = 3;
-	public final static int k_template = 4;
-	
-	
-	public TemplateParameter( IScope scope, int kind )
-	{
-		super( scope );
-		this.kind = kind; 
-	}
-	
-	private String name = null; 
-	private String typeId = null;  
-
-
-	/**
-	 * @return int
-	 */
-	public int getKind() {
-		return kind;
-	}
-
-	/**
-	 * @return Name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * @return Name
-	 */
-	public String getTypeId() {
-		return typeId;
-	}
-
-	/**
-	 * Sets the name.
-	 * @param name The name to set
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * Sets the typeId.
-	 * @param typeId The typeId to set
-	 */
-	public void setTypeId(String typeId) {
-		this.typeId = typeId;
-	}
-
-	TemplateParameterList list;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.ITemplateParameterListOwner#getTemplateParms()
-	 */
-	public TemplateParameterList getTemplateParms() {
-		return list;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.ITemplateParameterListOwner#setTemplateParms(org.eclipse.cdt.internal.core.dom.TemplateParameterList)
-	 */
-	public void setTemplateParms(TemplateParameterList list) {
-		this.list = list;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/TemplateParameterList.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/TemplateParameterList.java
diff -N dom/org/eclipse/cdt/internal/core/dom/TemplateParameterList.java
--- dom/org/eclipse/cdt/internal/core/dom/TemplateParameterList.java	4 Apr 2003 14:05:18 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-/**********************************************************************
- * Created on Mar 29, 2003
- *
- * Copyright (c) 2002,2003 IBM/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 Ltd. - Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author jcamelon
- */
-public class TemplateParameterList implements IScope {
-
-	private List parameters = new ArrayList(); 
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#addDeclaration(org.eclipse.cdt.internal.core.dom.Declaration)
-	 */
-	public void addDeclaration(Declaration declaration) {
-		parameters.add( declaration );
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.internal.core.dom.IScope#getDeclarations()
-	 */
-	public List getDeclarations() {
-		return Collections.unmodifiableList( parameters );
-	}
-}
Index: dom/org/eclipse/cdt/internal/core/dom/TranslationUnit.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/TranslationUnit.java
diff -N dom/org/eclipse/cdt/internal/core/dom/TranslationUnit.java
--- dom/org/eclipse/cdt/internal/core/dom/TranslationUnit.java	21 Apr 2003 18:34:39 -0000	1.9
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,170 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.NoSuchElementException;
-
-
-/**
- */
-public class TranslationUnit implements IScope {
-
-	private boolean parseSuccessful = true; 
-	private List declarations = new ArrayList();
-	private List macros = new ArrayList(); 
-	private List inclusions = new ArrayList(); 
-	
-	public void addDeclaration(Declaration declaration) {
-		declarations.add(declaration);
-	}
-
-	public List getDeclarations() {
-		return Collections.unmodifiableList( declarations );
-	}
-	
-	/**
-	 * @return
-	 */
-	public List getInclusions() {
-		return Collections.unmodifiableList( inclusions );
-	}
-
-	/**
-	 * @return
-	 */
-	public List getMacros() {
-		return Collections.unmodifiableList( macros );
-	}
-
-	public void addMacro(Macro macro) {
-		macros.add(macro);
-	}
-
-	public void addInclusion(Inclusion inclusion) {
-		inclusions.add(inclusion);
-	}
-
-
-	public Iterator iterateOffsetableElements()
-	{
-		return new OffsetableIterator();
-	}
-
-	public class OffsetableIterator implements Iterator 
-	{		
-		private final Iterator declarationIter; 
-		private final Iterator inclusionIter; 
-		private final Iterator macroIter; 
-		
-		private IOffsetable currentMacro = null, currentInclusion= null, currentDeclaration= null; 
-		
-		public OffsetableIterator()
-		{
-			declarationIter = getDeclarations().iterator();
-			inclusionIter = getInclusions().iterator();
-			macroIter = getMacros().iterator();		
-			updateInclusionIterator(); 
-			updateDeclarationIterator();
-			updateMacroIterator(); 
-		}
-		
-		private Object updateDeclarationIterator()
-		{
-			Object offsetable = currentDeclaration; 			
-			currentDeclaration = ( declarationIter.hasNext() ) ? (IOffsetable)declarationIter.next() : null; 
-			return offsetable; 
-		}
-
-		private Object updateMacroIterator()
-		{
-			Object offsetable = currentMacro; 
-			currentMacro = ( macroIter.hasNext() ) ? (IOffsetable)macroIter.next() : null; 
-			return offsetable;
-		}
-		
-		private Object updateInclusionIterator()
-		{
-			Object offsetable = currentInclusion;
-			currentInclusion = ( inclusionIter.hasNext() ) ? (IOffsetable)inclusionIter.next() : null;
-			return offsetable;
-		}
-		/* (non-Javadoc)
-		 * @see java.util.Iterator#hasNext()
-		 */
-		public boolean hasNext() {
-			return (( currentMacro == null && currentInclusion == null && currentDeclaration == null ) ? 
-				false : true);
-		}
-
-		/* (non-Javadoc)
-		 * @see java.util.Iterator#next()
-		 */
-		public Object next() {
-			// case 1: all are null 
-			if( ! hasNext() ) 
-				throw new NoSuchElementException();
-				
-			// case 2: two of three are null 
-			if( currentMacro == null && currentInclusion == null )
-				return updateDeclarationIterator();
-			if( currentDeclaration == null && currentInclusion == null )
-				return updateMacroIterator();
-			if( currentMacro == null && currentDeclaration == null )
-				return updateInclusionIterator();
-			
-			// case 3: 1 is null
-			if( currentMacro == null )
-				if( currentDeclaration.getStartingOffset() < currentInclusion.getStartingOffset() )
-					return updateDeclarationIterator(); 
-				else
-					return updateInclusionIterator(); 
-
-			if( currentInclusion == null )
-				if( currentDeclaration.getStartingOffset() < currentMacro.getStartingOffset() )
-					return updateDeclarationIterator(); 
-				else
-					return updateMacroIterator(); 
-
-			if( currentDeclaration == null )
-				if( currentInclusion.getStartingOffset() < currentMacro.getStartingOffset() )
-					return updateInclusionIterator(); 
-				else
-					return updateMacroIterator(); 
-			
-			// case 4: none are null 
-			if( currentInclusion.getStartingOffset() < currentMacro.getStartingOffset() && 
-				currentInclusion.getStartingOffset() < currentDeclaration.getStartingOffset() ) 
-				return updateInclusionIterator(); 
-				
-			if( currentMacro.getStartingOffset() < currentInclusion.getStartingOffset() && 
-				currentMacro.getStartingOffset() < currentDeclaration.getStartingOffset() ) 
-				return updateMacroIterator();
-			// only remaining case
-			return updateDeclarationIterator();
-		}
-
-		/* (non-Javadoc)
-		 * @see java.util.Iterator#remove()
-		 */
-		public void remove() {
-			throw new UnsupportedOperationException( "OffsetableIterator is a const iterator"); 
-		}
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isParseSuccessful() {
-		return parseSuccessful;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setParseSuccessful(boolean b) {
-		parseSuccessful = b;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/TypeSpecifier.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/TypeSpecifier.java
diff -N dom/org/eclipse/cdt/internal/core/dom/TypeSpecifier.java
--- dom/org/eclipse/cdt/internal/core/dom/TypeSpecifier.java	8 Apr 2003 03:41:05 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,29 +0,0 @@
-package org.eclipse.cdt.internal.core.dom;
-
-public class TypeSpecifier {
-
-	interface IOwner
-	{
-		public TypeSpecifier getTypeSpecifier(); 
-		public void setTypeSpecifier( TypeSpecifier typespec );
-	}
-
-	public TypeSpecifier(IOwner owner) {
-		this.owner = owner;
-	}
-	
-	/**
-	 * Owner declaration.
-	 */
-	private IOwner owner;
-	
-	/**
-	 * Returns the declaration.
-	 * @return SimpleDeclaration
-	 */
-	public IOwner getOwner() {
-		return owner;
-	}
-
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/UsingDeclaration.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/UsingDeclaration.java
diff -N dom/org/eclipse/cdt/internal/core/dom/UsingDeclaration.java
--- dom/org/eclipse/cdt/internal/core/dom/UsingDeclaration.java	13 Jun 2003 15:01:22 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,60 +0,0 @@
-/**********************************************************************
- * Created on Mar 25, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-
-
-/**
- * @author jcamelon
- *
- */
-public class UsingDeclaration extends Declaration {
-
-	private String mappedName;
-	boolean isTypename = false;
-	
-	public UsingDeclaration( IScope owner )
-	{
-		super( owner ); 
-	}
-	/**
-	 * @return String
-	 */
-	public String getMappedName() {
-		return mappedName;
-	}
-
-	/**
-	 * Sets the mapping.
-	 * @param mapping The mapping to set
-	 */
-	public void setMappedName(String mapping) {
-		this.mappedName = mapping;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isTypename() {
-		return isTypename;
-	}
-
-	/**
-	 * Sets the isTypename.
-	 * @param isTypename The isTypename to set
-	 */
-	public void setTypename(boolean isTypename) {
-		this.isTypename = isTypename;
-	}
-
-}
Index: dom/org/eclipse/cdt/internal/core/dom/UsingDirective.java
===================================================================
RCS file: dom/org/eclipse/cdt/internal/core/dom/UsingDirective.java
diff -N dom/org/eclipse/cdt/internal/core/dom/UsingDirective.java
--- dom/org/eclipse/cdt/internal/core/dom/UsingDirective.java	13 Jun 2003 20:03:14 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,44 +0,0 @@
-/**********************************************************************
- * Created on Mar 25, 2003
- *
- * 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: 
- * Rational Software - Initial API and implementation
-***********************************************************************/
-package org.eclipse.cdt.internal.core.dom;
-
-
-
-/**
- * @author jcamelon
- *
- */
-public class UsingDirective extends Declaration {
-
-	private String namespaceName; 
-	
-	public UsingDirective( IScope owner )
-	{
-		super( owner );
-	}
-
-	/**
-	 * @return String
-	 */
-	public String getNamespaceName() {
-		return namespaceName;
-	}
-
-	/**
-	 * Sets the namespaceName.
-	 * @param namespaceName The namespaceName to set
-	 */
-	public void setNamespaceName(String namespaceName) {
-		this.namespaceName = namespaceName;
-	}
-}
Index: index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java,v
retrieving revision 1.13
diff -u -r1.13 SourceIndexerRequestor.java
--- index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java	4 Sep 2003 20:46:57 -0000	1.13
+++ index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java	8 Sep 2003 19:14:52 -0000
@@ -21,10 +21,12 @@
 import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTClassReference;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
 import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
 import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationReference;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumeratorReference;
 import org.eclipse.cdt.core.parser.ast.IASTField;
 import org.eclipse.cdt.core.parser.ast.IASTFieldReference;
 import org.eclipse.cdt.core.parser.ast.IASTFunction;
@@ -420,15 +422,23 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 	 */
-	public void enterCodeBlock(IASTScope scope) {
+	public void enterCodeBlock(IASTCodeScope scope) {
 		// TODO Auto-generated method stub
 		
 	}
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 	 */
-	public void exitCodeBlock(IASTScope scope) {
+	public void exitCodeBlock(IASTCodeScope scope) {
 		// TODO Auto-generated method stub
 		
 	}
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptEnumeratorReference(org.eclipse.cdt.core.parser.ast.IASTEnumerationReference)
+     */
+    public void acceptEnumeratorReference(IASTEnumeratorReference reference)
+    {
+        // TODO Auto-generated method stub
+        
+    }
 }
Index: parser/ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/ChangeLog,v
retrieving revision 1.115
diff -u -r1.115 ChangeLog
--- parser/ChangeLog	8 Sep 2003 18:10:49 -0000	1.115
+++ parser/ChangeLog	8 Sep 2003 19:14:53 -0000
@@ -1,3 +1,9 @@
+2003-09-08 John Camelon
+	Made scoping support more robust in CompleteParse mode. 
+	Refactored ISourceElementRequestor (enter|exit)CodeBlock() to take IASTCodeScope rather than IASTScope. 
+	Removed the now obsolete DOM.  
+`	Added enumerator references to ISourceElementRequestor.
+
 2003-09-08 Andrew Niefer
 	- Created ParserLanguage.java
 	- Updated Factories to take language as parameter when create scanner & parser
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.11
diff -u -r1.11 ISourceElementRequestor.java
--- parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java	4 Sep 2003 20:46:57 -0000	1.11
+++ parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java	8 Sep 2003 19:14:54 -0000
@@ -14,10 +14,12 @@
 import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTClassReference;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
 import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
 import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationReference;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumeratorReference;
 import org.eclipse.cdt.core.parser.ast.IASTField;
 import org.eclipse.cdt.core.parser.ast.IASTFieldReference;
 import org.eclipse.cdt.core.parser.ast.IASTFunction;
@@ -29,7 +31,6 @@
 import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
-import org.eclipse.cdt.core.parser.ast.IASTScope;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
@@ -61,8 +62,9 @@
 
 	public void enterFunctionBody( IASTFunction function );
 	public void exitFunctionBody( IASTFunction function );
-	public void enterCodeBlock( IASTScope scope );
-	public void exitCodeBlock( IASTScope scope );
+	
+	public void enterCodeBlock( IASTCodeScope scope );
+	public void exitCodeBlock( IASTCodeScope scope );
 
 	public void enterCompilationUnit( IASTCompilationUnit compilationUnit ); 
 	public void enterInclusion( IASTInclusion inclusion ); 
@@ -87,6 +89,7 @@
 	public void acceptFunctionReference( IASTFunctionReference reference );
 	public void acceptFieldReference( IASTFieldReference reference );
 	public void acceptMethodReference( IASTMethodReference reference );
+	public void acceptEnumeratorReference( IASTEnumeratorReference reference );
 	
 	public void exitTemplateDeclaration( IASTTemplateDeclaration declaration );
 	public void exitTemplateSpecialization( IASTTemplateSpecialization specialization );
Index: parser/org/eclipse/cdt/core/parser/ast/IASTCodeScope.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTCodeScope.java,v
retrieving revision 1.1
diff -u -r1.1 IASTCodeScope.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTCodeScope.java	4 Sep 2003 20:46:57 -0000	1.1
+++ parser/org/eclipse/cdt/core/parser/ast/IASTCodeScope.java	8 Sep 2003 19:14:54 -0000
@@ -16,4 +16,6 @@
  */
 public interface IASTCodeScope extends IASTScope, ISourceElementCallbackDelegate{
 
+	public IASTCodeScope getOwnerCodeScope(); 
+
 }
Index: parser/org/eclipse/cdt/core/parser/ast/IASTFunction.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTFunction.java,v
retrieving revision 1.6
diff -u -r1.6 IASTFunction.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTFunction.java	22 Jul 2003 18:32:40 -0000	1.6
+++ parser/org/eclipse/cdt/core/parser/ast/IASTFunction.java	8 Sep 2003 19:14:54 -0000
@@ -16,7 +16,7 @@
  * @author jcamelon
  *
  */
-public interface IASTFunction extends IASTScope, IASTOffsetableNamedElement, IASTTemplatedDeclaration, IASTDeclaration, IASTQualifiedNameElement {
+public interface IASTFunction extends IASTCodeScope, IASTOffsetableNamedElement, IASTTemplatedDeclaration, IASTDeclaration, IASTQualifiedNameElement {
 	
 	public boolean isInline(); 
 	public boolean isFriend();
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.11
diff -u -r1.11 NullSourceElementRequestor.java
--- parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java	4 Sep 2003 20:46:57 -0000	1.11
+++ parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java	8 Sep 2003 19:14:57 -0000
@@ -6,10 +6,12 @@
 import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTClassReference;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
 import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
 import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationReference;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumeratorReference;
 import org.eclipse.cdt.core.parser.ast.IASTField;
 import org.eclipse.cdt.core.parser.ast.IASTFieldReference;
 import org.eclipse.cdt.core.parser.ast.IASTFunction;
@@ -21,7 +23,6 @@
 import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
-import org.eclipse.cdt.core.parser.ast.IASTScope;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
@@ -411,7 +412,7 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 	 */
-	public void enterCodeBlock(IASTScope scope) {
+	public void enterCodeBlock(IASTCodeScope scope) {
 		// TODO Auto-generated method stub
 		
 	}
@@ -419,8 +420,17 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 	 */
-	public void exitCodeBlock(IASTScope scope) {
+	public void exitCodeBlock(IASTCodeScope scope) {
 		// TODO Auto-generated method stub
 		
-	} 
+	}
+
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptEnumeratorReference(org.eclipse.cdt.core.parser.ast.IASTEnumerationReference)
+     */
+    public void acceptEnumeratorReference(IASTEnumeratorReference reference)
+    {
+        // 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.103
diff -u -r1.103 Parser.java
--- parser/org/eclipse/cdt/internal/core/parser/Parser.java	8 Sep 2003 18:10:48 -0000	1.103
+++ parser/org/eclipse/cdt/internal/core/parser/Parser.java	8 Sep 2003 19:15:09 -0000
@@ -2632,14 +2632,14 @@
                 condition( scope );
                 consume(IToken.tRPAREN);
                 if( LT(1) != IToken.tLBRACE )
-					statement( astFactory.createNewCodeBlock( scope ) );
+                    singleStatementScope(scope);
                 else
-                	statement(scope);
+                	statement( scope );
                 if (LT(1) == IToken.t_else)
                 {
                     consume( IToken.t_else );
                     if( LT(1) != IToken.tLBRACE )
-                    	statement( astFactory.createNewCodeBlock( scope ) );
+						singleStatementScope(scope);
                     else
                     	statement( scope );
                 }
@@ -2657,14 +2657,14 @@
                 condition(scope);
                 consume(IToken.tRPAREN);
                 if( LT(1) != IToken.tLBRACE )
-                	statement(astFactory.createNewCodeBlock(scope));
+					singleStatementScope(scope);
                 else
                 	statement(scope);
                 return;
             case IToken.t_do :
                 consume(IToken.t_do);
 				if( LT(1) != IToken.tLBRACE )
-					statement(astFactory.createNewCodeBlock(scope));
+					singleStatementScope(scope);
 				else
 					statement(scope);
                 consume(IToken.t_while);
@@ -2751,6 +2751,19 @@
                 }
                 // declarationStatement
                 declaration(scope, null);
+        }
+    }
+    protected void singleStatementScope(IASTScope scope) throws Backtrack
+    {
+        IASTCodeScope newScope = astFactory.createNewCodeBlock( scope );
+        newScope.enterScope( requestor );
+        try
+        {
+			statement( newScope );
+        }
+        finally
+        {
+			newScope.exitScope( requestor );
         }
     }
 
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTCodeScope.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTCodeScope.java,v
retrieving revision 1.1
diff -u -r1.1 ASTCodeScope.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTCodeScope.java	4 Sep 2003 20:46:57 -0000	1.1
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTCodeScope.java	8 Sep 2003 19:15:10 -0000
@@ -18,11 +18,16 @@
  */
 public class ASTCodeScope extends ASTScope implements IASTCodeScope {
 
-	/**
+	private final IASTCodeScope ownerCodeScope;
+
+    /**
 	 * @param newScope
 	 */
 	public ASTCodeScope(IContainerSymbol newScope) {
 		super( newScope );
+		ownerCodeScope = ( newScope.getContainingSymbol().getASTExtension().getPrimaryDeclaration() instanceof IASTCodeScope ) ? 
+			(IASTCodeScope) newScope.getContainingSymbol().getASTExtension().getPrimaryDeclaration() : null; 
+	
 	}
 
 	/* (non-Javadoc)
@@ -44,5 +49,13 @@
 	public void exitScope(ISourceElementRequestor requestor) {
 		requestor.exitCodeBlock( this );
 	}
+
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTCodeScope#getOwnerCodeScope()
+     */
+    public IASTCodeScope getOwnerCodeScope()
+    {
+        return ownerCodeScope;
+    }
 
 }
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumeratorReference.java
===================================================================
RCS file: parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumeratorReference.java
diff -N parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumeratorReference.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumeratorReference.java	8 Sep 2003 19:15:10 -0000
@@ -0,0 +1,63 @@
+/**********************************************************************
+ * 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.complete;
+
+import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
+import org.eclipse.cdt.core.parser.ISourceElementRequestor;
+import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
+import org.eclipse.cdt.core.parser.ast.IASTEnumeratorReference;
+
+/**
+ * @author jcamelon
+ *
+ */
+public class ASTEnumeratorReference extends ASTReference implements IASTEnumeratorReference
+{
+
+    private final IASTEnumerator enumerator;
+    /**
+     * @param offset
+     * @param string
+     * @param enumerator
+     */
+    public ASTEnumeratorReference(int offset, String string, IASTEnumerator enumerator)
+    {
+		super( offset, string );        
+        this.enumerator = enumerator;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTReference#getReferencedElement()
+     */
+    public ISourceElementCallbackDelegate getReferencedElement()
+    {
+        return enumerator;
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor)
+     */
+    public void acceptElement(ISourceElementRequestor requestor)
+    {
+        requestor.acceptEnumeratorReference( this );
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
+     */
+    public void enterScope(ISourceElementRequestor requestor)
+    {
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
+     */
+    public void exitScope(ISourceElementRequestor requestor)
+    {
+    }
+}
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java,v
retrieving revision 1.4
diff -u -r1.4 ASTFunction.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java	14 Aug 2003 15:33:27 -0000	1.4
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java	8 Sep 2003 19:15:10 -0000
@@ -16,6 +16,7 @@
 import org.eclipse.cdt.core.parser.ISourceElementRequestor;
 import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTArrayModifier;
+import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
 import org.eclipse.cdt.core.parser.ast.IASTExceptionSpecification;
 import org.eclipse.cdt.core.parser.ast.IASTFunction;
 import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
@@ -238,5 +239,15 @@
     public void exitScope(ISourceElementRequestor requestor)
     {
         requestor.exitFunctionBody( this );
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTCodeScope#getOwnerCodeScope()
+     */
+    public IASTCodeScope getOwnerCodeScope()
+    {
+        return ( getSymbol().getContainingSymbol().getASTExtension().getPrimaryDeclaration() ) instanceof IASTCodeScope ? 
+			(IASTCodeScope) getSymbol().getContainingSymbol().getASTExtension().getPrimaryDeclaration()  : null;
     }
 }
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java,v
retrieving revision 1.31
diff -u -r1.31 CompleteParseASTFactory.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java	8 Sep 2003 18:10:49 -0000	1.31
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java	8 Sep 2003 19:15:15 -0000
@@ -33,6 +33,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTConstructorMemberInitializer;
 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.IASTExceptionSpecification;
 import org.eclipse.cdt.core.parser.ast.IASTExpression;
 import org.eclipse.cdt.core.parser.ast.IASTFactory;
@@ -585,6 +586,8 @@
 		}
 		else if( symbol.getType() == TypeInfo.t_enumeration )
 			return new ASTEnumerationReference( offset, string,  (IASTEnumerationSpecifier)symbol.getASTExtension().getPrimaryDeclaration() );
+		else if( symbol.getType() == TypeInfo.t_enumerator )
+			return new ASTEnumeratorReference( offset, string, (IASTEnumerator)symbol.getASTExtension().getPrimaryDeclaration() );
 		else if( symbol.getType() == TypeInfo.t_function )
 		{
 			if( symbol.getContainingSymbol().getTypeInfo().isType( TypeInfo.t_class, TypeInfo.t_union ) )
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java,v
retrieving revision 1.8
diff -u -r1.8 ASTFunction.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java	13 Aug 2003 23:54:05 -0000	1.8
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java	8 Sep 2003 19:15:16 -0000
@@ -16,6 +16,7 @@
 
 import org.eclipse.cdt.core.parser.ISourceElementRequestor;
 import org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration;
+import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
 import org.eclipse.cdt.core.parser.ast.IASTExceptionSpecification;
 import org.eclipse.cdt.core.parser.ast.IASTFunction;
 import org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement;
@@ -210,4 +211,11 @@
 	public boolean hasFunctionBody() {
 		return hasFunctionBody;
 	}
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTCodeScope#getOwnerCodeScope()
+     */
+    public IASTCodeScope getOwnerCodeScope()
+    {
+    	return 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.23
diff -u -r1.23 MatchLocator.java
--- search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java	8 Sep 2003 18:10:49 -0000	1.23
+++ search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java	8 Sep 2003 19:15:17 -0000
@@ -39,10 +39,12 @@
 import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTClassReference;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTCodeScope;
 import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
 import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationReference;
 import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier;
+import org.eclipse.cdt.core.parser.ast.IASTEnumeratorReference;
 import org.eclipse.cdt.core.parser.ast.IASTField;
 import org.eclipse.cdt.core.parser.ast.IASTFieldReference;
 import org.eclipse.cdt.core.parser.ast.IASTFunction;
@@ -466,7 +468,7 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#enterCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 	 */
-	public void enterCodeBlock(IASTScope scope) {
+	public void enterCodeBlock(IASTCodeScope scope) {
 		// TODO Auto-generated method stub
 		
 	}
@@ -474,9 +476,18 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#exitCodeBlock(org.eclipse.cdt.core.parser.ast.IASTScope)
 	 */
-	public void exitCodeBlock(IASTScope scope) {
+	public void exitCodeBlock(IASTCodeScope scope) {
 		// TODO Auto-generated method stub
 		
 	}
+
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptEnumeratorReference(org.eclipse.cdt.core.parser.ast.IASTEnumerationReference)
+     */
+    public void acceptEnumeratorReference(IASTEnumeratorReference reference)
+    {
+        // TODO Auto-generated method stub
+        
+    }
 
 }

Back to the top