[
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
+
+ }
}