Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Applied [HEAD] Parser expression updates


Update IASTExpression.
Move Parser.Backtrack and Parser.EndOfFile to external interface.

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/ChangeLog,v
retrieving revision 1.8
diff -u -r1.8 ChangeLog
--- ChangeLog	26 Jun 2003 00:11:32 -0000	1.8
+++ ChangeLog	27 Jun 2003 00:16:01 -0000
@@ -1,3 +1,7 @@
+2003-06-26 John Camelon
+	Update IASTExpression. 
+	Move Parser.Backtrack and Parser.EndOfFile to external interface. 
+
 2003-06-25 John Camelon
 	Added DOMFailedTest::testBug39349(). 
 	Added DOMTests::testBug39348().
Index: parser/org/eclipse/cdt/core/parser/tests/BaseScannerTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/BaseScannerTest.java,v
retrieving revision 1.2
diff -u -r1.2 BaseScannerTest.java
--- parser/org/eclipse/cdt/core/parser/tests/BaseScannerTest.java	23 Jun 2003 18:05:26 -0000	1.2
+++ parser/org/eclipse/cdt/core/parser/tests/BaseScannerTest.java	27 Jun 2003 00:16:01 -0000
@@ -15,11 +15,11 @@
 
 import junit.framework.TestCase;
 
+import org.eclipse.cdt.core.parser.EndOfFile;
 import org.eclipse.cdt.core.parser.IScanner;
 import org.eclipse.cdt.core.parser.IToken;
 import org.eclipse.cdt.core.parser.ParserFactory;
 import org.eclipse.cdt.core.parser.ScannerException;
-import org.eclipse.cdt.internal.core.parser.Parser;
 
 /**
  * @author jcamelon
@@ -54,7 +54,7 @@
 				t= scanner.nextToken();
 			}
 		}
-		catch (Parser.EndOfFile e)
+		catch ( EndOfFile e)
 		{
 		}
 		catch (ScannerException se)
@@ -69,7 +69,7 @@
 			IToken t= scanner.nextToken();
 			assertTrue(t.getType() == IToken.tIDENTIFIER);
 			assertTrue(t.getImage().equals(expectedImage));
-		} catch (Parser.EndOfFile e) {
+		} catch (EndOfFile e) {
 			assertTrue(false);
 		}
 	}
@@ -80,7 +80,7 @@
 			IToken t= scanner.nextToken();
 			assertTrue(t.getType() == IToken.tINTEGER);
 			assertTrue(t.getImage().equals(expectedImage));
-		} catch (Parser.EndOfFile e) {
+		} catch (EndOfFile e) {
 			assertTrue(false);
 		}
 	}
@@ -91,7 +91,7 @@
 			IToken t= scanner.nextToken();
 			assertTrue(t.getType() == IToken.tFLOATINGPT);
 			assertTrue(t.getImage().equals(expectedImage));
-		} catch (Parser.EndOfFile e) {
+		} catch (EndOfFile e) {
 			assertTrue(false);
 		}
 	}
@@ -103,7 +103,7 @@
 			assertTrue(t.getType() == IToken.tCHAR );
 			Character c = new Character( expected ); 
 			assertEquals( t.getImage(), c.toString() ); 
-		} catch (Parser.EndOfFile e) {
+		} catch (EndOfFile e) {
 			assertTrue(false);
 		}		
 	}
@@ -113,7 +113,7 @@
 			IToken t= scanner.nextToken();
 			assertTrue(t.getType() == IToken.tCHAR );
 			assertEquals( t.getImage(), expected ); 
-		} catch (Parser.EndOfFile e) {
+		} catch (EndOfFile e) {
 			assertTrue(false);
 		}		
 	}
@@ -132,7 +132,7 @@
 			else
 				assertTrue(t.getType() == IToken.tSTRING);
 			assertTrue(t.getImage().equals(expectedImage));
-		} catch (Parser.EndOfFile e) {
+		} catch (EndOfFile e) {
 			assertTrue(false);
 		}
 	}
@@ -142,7 +142,7 @@
 		try {
 			IToken t= scanner.nextToken();
 			assertTrue(t.getType() == tokenType);
-		} catch (Parser.EndOfFile e) {
+		} catch (EndOfFile e) {
 			assertTrue(false);
 		}
 	}
@@ -161,7 +161,7 @@
 	{
 		try {
 			assertNull(scanner.nextToken());
-		} catch (Parser.EndOfFile e) {
+		} catch (EndOfFile e) {
 		}
 	}
 
Index: parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java,v
retrieving revision 1.3
diff -u -r1.3 ScannerTestCase.java
--- parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java	23 Jun 2003 18:05:26 -0000	1.3
+++ parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java	27 Jun 2003 00:16:02 -0000
@@ -4,11 +4,11 @@
 import java.io.Writer;
 import java.util.List;
 
+import org.eclipse.cdt.core.parser.EndOfFile;
 import org.eclipse.cdt.core.parser.IMacroDescriptor;
 import org.eclipse.cdt.core.parser.IToken;
 import org.eclipse.cdt.core.parser.ParserMode;
 import org.eclipse.cdt.core.parser.ScannerException;
-import org.eclipse.cdt.internal.core.parser.Parser;
 import org.eclipse.cdt.internal.core.parser.Token;
 
 /**
@@ -847,7 +847,7 @@
 		}
 	}
 
-	public void testQuickScan() throws Parser.EndOfFile
+	public void testQuickScan() throws EndOfFile
 	{
 		try
 		{
Index: parser/ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/ChangeLog,v
retrieving revision 1.66
diff -u -r1.66 ChangeLog
--- parser/ChangeLog	26 Jun 2003 00:11:29 -0000	1.66
+++ parser/ChangeLog	27 Jun 2003 00:19:03 -0000
@@ -1,3 +1,7 @@
+2003-06-26 John Camelon
+	Update IASTExpression. 
+	Move Parser.Backtrack and Parser.EndOfFile to external interface. 
+
 2003-06-25 John Camelon
 	Fixed bug39348 - sizeof elaborated types fail in parsing expression
 
Index: parser/org/eclipse/cdt/core/parser/Backtrack.java
===================================================================
RCS file: parser/org/eclipse/cdt/core/parser/Backtrack.java
diff -N parser/org/eclipse/cdt/core/parser/Backtrack.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ parser/org/eclipse/cdt/core/parser/Backtrack.java	27 Jun 2003 00:19:03 -0000
@@ -0,0 +1,19 @@
+/**********************************************************************
+ * 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;
+
+/**
+ * @author jcamelon
+ *
+ */
+public class Backtrack extends Exception
+{
+}
Index: parser/org/eclipse/cdt/core/parser/EndOfFile.java
===================================================================
RCS file: parser/org/eclipse/cdt/core/parser/EndOfFile.java
diff -N parser/org/eclipse/cdt/core/parser/EndOfFile.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ parser/org/eclipse/cdt/core/parser/EndOfFile.java	27 Jun 2003 00:19:03 -0000
@@ -0,0 +1,19 @@
+/**********************************************************************
+ * 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;
+
+/**
+ * @author jcamelon
+ *
+ */
+public class EndOfFile extends Backtrack
+{
+}
Index: parser/org/eclipse/cdt/core/parser/Enum.java
===================================================================
RCS file: parser/org/eclipse/cdt/core/parser/Enum.java
diff -N parser/org/eclipse/cdt/core/parser/Enum.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ parser/org/eclipse/cdt/core/parser/Enum.java	27 Jun 2003 00:19:04 -0000
@@ -0,0 +1,25 @@
+/**********************************************************************
+ * 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;
+
+/**
+ * @author jcamelon
+ *
+ */
+public class Enum
+{
+	protected Enum( int enumValue )
+	{
+		this.enumValue = enumValue;
+	}
+	
+	private int enumValue;
+}
Index: parser/org/eclipse/cdt/core/parser/IParser.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IParser.java,v
retrieving revision 1.3
diff -u -r1.3 IParser.java
--- parser/org/eclipse/cdt/core/parser/IParser.java	25 Jun 2003 22:47:52 -0000	1.3
+++ parser/org/eclipse/cdt/core/parser/IParser.java	27 Jun 2003 00:19:04 -0000
@@ -10,7 +10,6 @@
 ***********************************************************************/
 package org.eclipse.cdt.core.parser;
 
-import org.eclipse.cdt.internal.core.parser.Parser.Backtrack;
 
 
 /**
Index: parser/org/eclipse/cdt/core/parser/IScanner.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IScanner.java,v
retrieving revision 1.5
diff -u -r1.5 IScanner.java
--- parser/org/eclipse/cdt/core/parser/IScanner.java	25 Jun 2003 22:47:52 -0000	1.5
+++ parser/org/eclipse/cdt/core/parser/IScanner.java	27 Jun 2003 00:19:04 -0000
@@ -3,7 +3,6 @@
 import java.util.List;
 
 import org.eclipse.cdt.core.parser.ast.IASTFactory;
-import org.eclipse.cdt.internal.core.parser.Parser;
 
 /**
  * @author jcamelon
@@ -24,8 +23,8 @@
 	public void overwriteIncludePath( List newIncludePaths );
 	public void setRequestor( ISourceElementRequestor r );
 	
-	public IToken nextToken() throws ScannerException, Parser.EndOfFile;
-	public IToken nextToken( boolean next ) throws ScannerException, Parser.EndOfFile;
+	public IToken nextToken() throws ScannerException, EndOfFile;
+	public IToken nextToken( boolean next ) throws ScannerException, EndOfFile;
 	 
 	public void setCppNature( boolean value );
 	
@@ -37,7 +36,7 @@
 	/**
 	 * @return
 	 */
-	public IToken nextTokenForStringizing() throws ScannerException, Parser.EndOfFile;
+	public IToken nextTokenForStringizing() throws ScannerException, EndOfFile;
 	/**
 	 * @param b
 	 */
Index: parser/org/eclipse/cdt/core/parser/ast/AccessVisibility.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/AccessVisibility.java,v
retrieving revision 1.3
diff -u -r1.3 AccessVisibility.java
--- parser/org/eclipse/cdt/core/parser/ast/AccessVisibility.java	24 Jun 2003 20:18:11 -0000	1.3
+++ parser/org/eclipse/cdt/core/parser/ast/AccessVisibility.java	27 Jun 2003 00:19:04 -0000
@@ -10,11 +10,13 @@
 ***********************************************************************/
 package org.eclipse.cdt.core.parser.ast;
 
+import org.eclipse.cdt.core.parser.Enum;
+
 /**
  * @author jcamelon
  *
  */
-public class AccessVisibility {
+public class AccessVisibility extends Enum {
 
 	public static final AccessVisibility PUBLIC = new AccessVisibility( 1 );
 	public static final AccessVisibility PROTECTED = new AccessVisibility( 2 );
@@ -22,8 +24,7 @@
 
 	private AccessVisibility( int constant)
 	{
-		value = constant; 
+		super( constant ); 
 	}
-	
-	private final int value; 
+	 
 }
Index: parser/org/eclipse/cdt/core/parser/ast/ClassKind.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/ClassKind.java,v
retrieving revision 1.3
diff -u -r1.3 ClassKind.java
--- parser/org/eclipse/cdt/core/parser/ast/ClassKind.java	24 Jun 2003 20:18:11 -0000	1.3
+++ parser/org/eclipse/cdt/core/parser/ast/ClassKind.java	27 Jun 2003 00:19:04 -0000
@@ -10,22 +10,22 @@
 ***********************************************************************/
 package org.eclipse.cdt.core.parser.ast;
 
+import org.eclipse.cdt.core.parser.Enum;
+
 /**
  * @author jcamelon
  *
  */
-public class ClassKind {
+public class ClassKind extends Enum {
 
 	public final static ClassKind CLASS = new ClassKind( 1 );
 	public final static ClassKind STRUCT = new ClassKind( 2 );
 	public final static ClassKind UNION = new ClassKind( 3 );
 	public final static ClassKind ENUM = new ClassKind( 4 );
 
-	protected ClassKind( int value )
+	private ClassKind( int value )
 	{
-		this.value = value; 
+		super( value ); 
 	}
 
-	private final int value; 
-	 
 }
Index: parser/org/eclipse/cdt/core/parser/ast/ClassNameType.java
===================================================================
RCS file: parser/org/eclipse/cdt/core/parser/ast/ClassNameType.java
diff -N parser/org/eclipse/cdt/core/parser/ast/ClassNameType.java
--- parser/org/eclipse/cdt/core/parser/ast/ClassNameType.java	24 Jun 2003 20:18:11 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,27 +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.ast;
-
-/**
- * @author jcamelon
- *
- */
-public class ClassNameType {
-
-	public static final ClassNameType IDENTIFIER = new ClassNameType( 1 );
-	public static final ClassNameType TEMPLATE   = new ClassNameType( 2 ); 
-
-	private final int type; 
-	private ClassNameType( int t )
-	{
-		type = t;
-	}
-}
Index: parser/org/eclipse/cdt/core/parser/ast/ExpressionEvaluationException.java
===================================================================
RCS file: parser/org/eclipse/cdt/core/parser/ast/ExpressionEvaluationException.java
diff -N parser/org/eclipse/cdt/core/parser/ast/ExpressionEvaluationException.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ parser/org/eclipse/cdt/core/parser/ast/ExpressionEvaluationException.java	27 Jun 2003 00:19:04 -0000
@@ -0,0 +1,19 @@
+/**********************************************************************
+ * 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.ast;
+
+/**
+ * @author jcamelon
+ *
+ */
+public class ExpressionEvaluationException extends Exception
+{
+}
Index: parser/org/eclipse/cdt/core/parser/ast/IASTClassSpecifier.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTClassSpecifier.java,v
retrieving revision 1.5
diff -u -r1.5 IASTClassSpecifier.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTClassSpecifier.java	25 Jun 2003 22:47:52 -0000	1.5
+++ parser/org/eclipse/cdt/core/parser/ast/IASTClassSpecifier.java	27 Jun 2003 00:19:04 -0000
@@ -12,11 +12,24 @@
 
 import java.util.Iterator;
 
+import org.eclipse.cdt.core.parser.Enum;
+
 /**
  * @author jcamelon
  *
  */
 public interface IASTClassSpecifier extends IASTTypeSpecifier, IASTScope, IASTOffsetableNamedElement, IASTTemplatedDeclaration {
+
+	public class ClassNameType extends Enum {
+
+		public static final ClassNameType IDENTIFIER = new ClassNameType( 1 );
+		public static final ClassNameType TEMPLATE   = new ClassNameType( 2 ); 
+ 
+		private ClassNameType( int t )
+		{
+			super( t );
+		}
+	}
 
 	public ClassNameType getClassNameType(); 
 
Index: parser/org/eclipse/cdt/core/parser/ast/IASTConstantExpression.java
===================================================================
RCS file: parser/org/eclipse/cdt/core/parser/ast/IASTConstantExpression.java
diff -N parser/org/eclipse/cdt/core/parser/ast/IASTConstantExpression.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTConstantExpression.java	25 Jun 2003 22:47:52 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,20 +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.ast;
-
-/**
- * @author jcamelon
- *
- */
-public interface IASTConstantExpression extends IASTExpression
-{
-	public int evaluate();
-}
Index: parser/org/eclipse/cdt/core/parser/ast/IASTExpression.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTExpression.java,v
retrieving revision 1.1
diff -u -r1.1 IASTExpression.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTExpression.java	25 Jun 2003 22:47:52 -0000	1.1
+++ parser/org/eclipse/cdt/core/parser/ast/IASTExpression.java	27 Jun 2003 00:19:04 -0000
@@ -10,11 +10,99 @@
 ***********************************************************************/
 package org.eclipse.cdt.core.parser.ast;
 
+import org.eclipse.cdt.core.parser.Enum;
+
 /**
  * @author jcamelon
  *
  */
 public interface IASTExpression
 {
+	public class ExpressionKind extends Enum
+	{
+		public static final ExpressionKind PRIMARY_INTEGER_LITERAL      = new ExpressionKind( 0 ); 
+		public static final ExpressionKind PRIMARY_CHAR_LITERAL         = new ExpressionKind( 1 );
+		public static final ExpressionKind PRIMARY_FLOAT_LITERAL        = new ExpressionKind( 2 );
+		public static final ExpressionKind PRIMARY_STRING_LITERAL       = new ExpressionKind( 3 );
+		public static final ExpressionKind PRIMARY_BOOLEAN_LITERAL      = new ExpressionKind( 4 );
+		public static final ExpressionKind PRIMARY_THIS                 = new ExpressionKind( 5 );
+		public static final ExpressionKind PRIMARY_BRACKETED_EXPRESSION = new ExpressionKind( 6 );
+		public static final ExpressionKind ID_EXPRESSION                = new ExpressionKind( 7 );
+		public static final ExpressionKind POSTFIX_ARRAY                = new ExpressionKind( 8 );
+		public static final ExpressionKind POSTFIX_CONSTRUCT            = new ExpressionKind( 9 );
+		public static final ExpressionKind POSTFIX_SIMPLETYPE_CONSTRUCT = new ExpressionKind( 10 );
+		public static final ExpressionKind POSTFIX_TYPENAME_IDENTIFIER  = new ExpressionKind( 11 );
+		public static final ExpressionKind POSTFIX_TYPENAME_TEMPLATEID  = new ExpressionKind( 12 );
+		public static final ExpressionKind POSTFIX_DOT_IDEXPRESSION     = new ExpressionKind( 13 );
+		public static final ExpressionKind POSTFIX_ARROW_IDEXPRESSION   = new ExpressionKind( 14 );
+		public static final ExpressionKind POSTFIX_DOT_DESTRUCTOR       = new ExpressionKind( 15 );
+		public static final ExpressionKind POSTFIX_ARROW_DESTRUCTOR     = new ExpressionKind( 16 );
+		public static final ExpressionKind POSTFIX_INCREMENT            = new ExpressionKind( 17 );
+		public static final ExpressionKind POSTFIX_DECREMENT            = new ExpressionKind( 18 );
+		public static final ExpressionKind POSTFIX_DYNAMIC_CAST         = new ExpressionKind( 19 );
+		public static final ExpressionKind POSTFIX_REINTERPRET_CAST     = new ExpressionKind( 20 );
+		public static final ExpressionKind POSTFIX_STATIC_CAST          = new ExpressionKind( 21 );
+		public static final ExpressionKind POSTFIX_CONST_CAST           = new ExpressionKind( 22 );
+		public static final ExpressionKind POSTFIX_TYPEID_EXPRESSION    = new ExpressionKind( 23 );
+		public static final ExpressionKind POSTFIX_TYPEID_TYPEID        = new ExpressionKind( 24 );
+		public static final ExpressionKind UNARY_INCREMENT              = new ExpressionKind( 25 );
+		public static final ExpressionKind UNARY_DECREMENT              = new ExpressionKind( 26 );
+		public static final ExpressionKind UNARY_STAR_CASTEXPRESSION    = new ExpressionKind( 27 );
+		public static final ExpressionKind UNARY_AMPSND_CASTEXPRESSION  = new ExpressionKind( 28 );
+		public static final ExpressionKind UNARY_PLUS_CASTEXPRESSION    = new ExpressionKind( 29 );
+		public static final ExpressionKind UNARY_MINUS_CASTEXPRESSION   = new ExpressionKind( 30 );
+		public static final ExpressionKind UNARY_NOT_CASTEXPRESSION     = new ExpressionKind( 31 );
+		public static final ExpressionKind UNARY_TILDE_CASTEXPRESSION   = new ExpressionKind( 32 );
+		public static final ExpressionKind UNARY_SIZEOF_UNARYEXPRESSION = new ExpressionKind( 33 );
+		public static final ExpressionKind UNARY_SIZEOF_TYPEID          = new ExpressionKind( 34 );
+		public static final ExpressionKind NEW_NEWTYPEID                = new ExpressionKind( 35 );
+		public static final ExpressionKind NEW_TYPEID                   = new ExpressionKind( 36 );
+		public static final ExpressionKind DELETE_CASTEXPRESSION        = new ExpressionKind( 37 );
+		public static final ExpressionKind DELETE_VECTORCASTEXPRESSION  = new ExpressionKind( 38 );
+		public static final ExpressionKind CASTEXPRESSION               = new ExpressionKind( 39 );
+		public static final ExpressionKind PM_DOTSTAR                   = new ExpressionKind( 40 );
+		public static final ExpressionKind PM_ARROWSTAR                 = new ExpressionKind( 41 );
+		public static final ExpressionKind MULTIPLICATIVE_MULTIPLY      = new ExpressionKind( 42 );
+		public static final ExpressionKind MULTIPLICATIVE_DIVIDE        = new ExpressionKind( 43 );
+		public static final ExpressionKind MULTIPLICATIVE_MODULUS       = new ExpressionKind( 44 );
+		public static final ExpressionKind ADDITIVE_PLUS                = new ExpressionKind( 45 );
+		public static final ExpressionKind ADDITIVE_MINUS               = new ExpressionKind( 46 );
+		public static final ExpressionKind SHIFT_LEFT                   = new ExpressionKind( 47 );
+		public static final ExpressionKind SHIFT_RIGHT                  = new ExpressionKind( 48 );
+		public static final ExpressionKind RELATIONAL_LESSTHAN          = new ExpressionKind( 49 );
+		public static final ExpressionKind RELATIONAL_GREATERTHAN       = new ExpressionKind( 50 );
+		public static final ExpressionKind RELATIONAL_LESSTHANEQUALTO   = new ExpressionKind( 51 );
+		public static final ExpressionKind RELATIONAL_GREATERTHANEQUALTO= new ExpressionKind( 52 );
+		public static final ExpressionKind EQUALITY_EQUALS              = new ExpressionKind( 53 );
+		public static final ExpressionKind EQUALITY_NOTEQUALS           = new ExpressionKind( 54 );
+		public static final ExpressionKind ANDEXPRESSION                = new ExpressionKind( 55 );
+		public static final ExpressionKind EXCLUSIVEOREXPRESSION        = new ExpressionKind( 56 );
+		public static final ExpressionKind INCLUSIVEOREXPRESSION        = new ExpressionKind( 57 );
+		public static final ExpressionKind LOGICALANDEXPRESSION         = new ExpressionKind( 58 );
+		public static final ExpressionKind LOGICALOREXPRESSION          = new ExpressionKind( 59 );
+		public static final ExpressionKind CONDITIONALEXPRESSION        = new ExpressionKind( 60 );
+		public static final ExpressionKind THROWEXPRESSION              = new ExpressionKind( 61 );
+		public static final ExpressionKind ASSIGNMENTEXPRESSION         = new ExpressionKind( 62 );
+		public static final ExpressionKind EXPRESSIONLIST               = new ExpressionKind( 63 );
+		
+		
+        /**
+         * @param enumValue
+         */
+        private ExpressionKind(int enumValue)
+        {
+            super(enumValue);
+        }
+		
+	}
+	
+	public ExpressionKind getExpressionKind(); 
+	public IASTExpression getLHSExpression(); 
+	public IASTExpression getRHSExpression();
+	public String getLiteralString(); 
+	public String getTypeId(); 	
+	public String getId(); 
+	
+	public int evaluateExpression() throws ExpressionEvaluationException;
 	
 }
Index: parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java,v
retrieving revision 1.4
diff -u -r1.4 IASTFactory.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java	24 Jun 2003 20:18:11 -0000	1.4
+++ parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java	27 Jun 2003 00:19:04 -0000
@@ -10,8 +10,9 @@
 ***********************************************************************/
 package org.eclipse.cdt.core.parser.ast;
 
+import org.eclipse.cdt.core.parser.Backtrack;
+import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier.ClassNameType;
 import org.eclipse.cdt.internal.core.parser.TokenDuple;
-import org.eclipse.cdt.internal.core.parser.Parser.Backtrack;
 
 /**
  * @author jcamelon
Index: parser/org/eclipse/cdt/core/parser/ast/TemplateDeclarationType.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/TemplateDeclarationType.java,v
retrieving revision 1.3
diff -u -r1.3 TemplateDeclarationType.java
--- parser/org/eclipse/cdt/core/parser/ast/TemplateDeclarationType.java	24 Jun 2003 20:18:11 -0000	1.3
+++ parser/org/eclipse/cdt/core/parser/ast/TemplateDeclarationType.java	27 Jun 2003 00:19:04 -0000
@@ -10,11 +10,13 @@
 ***********************************************************************/
 package org.eclipse.cdt.core.parser.ast;
 
+import org.eclipse.cdt.core.parser.Enum;
+
 /**
  * @author jcamelon
  *
  */
-public class TemplateDeclarationType {
+public class TemplateDeclarationType extends Enum {
 	
 	public static final TemplateDeclarationType CLASS = new TemplateDeclarationType(1);
 	public static final TemplateDeclarationType FUNCTION = new TemplateDeclarationType( 2 );
@@ -22,11 +24,9 @@
 	public static final TemplateDeclarationType METHOD = new TemplateDeclarationType( 4 );
 	public static final TemplateDeclarationType FIELD = new TemplateDeclarationType( 5 ); 
 	
-	
-	private final int type; 
 	private TemplateDeclarationType( int t )
 	{
-		type = t; 
+		super( t ); 
 	}
 
 }
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.59
diff -u -r1.59 Parser.java
--- parser/org/eclipse/cdt/internal/core/parser/Parser.java	26 Jun 2003 00:11:29 -0000	1.59
+++ parser/org/eclipse/cdt/internal/core/parser/Parser.java	27 Jun 2003 00:19:07 -0000
@@ -9,6 +9,8 @@
  * Rational Software - Initial API and implementation
 ***********************************************************************/
 package org.eclipse.cdt.internal.core.parser;
+import org.eclipse.cdt.core.parser.Backtrack;
+import org.eclipse.cdt.core.parser.EndOfFile;
 import org.eclipse.cdt.core.parser.IParser;
 import org.eclipse.cdt.core.parser.IParserCallback;
 import org.eclipse.cdt.core.parser.IScanner;
@@ -19,7 +21,6 @@
 import org.eclipse.cdt.core.parser.ScannerException;
 import org.eclipse.cdt.core.parser.ast.AccessVisibility;
 import org.eclipse.cdt.core.parser.ast.ClassKind;
-import org.eclipse.cdt.core.parser.ast.ClassNameType;
 import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
@@ -31,6 +32,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTScope;
 import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
+import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier.ClassNameType;
 import org.eclipse.cdt.internal.core.model.Util;
 /**
  * This is our first implementation of the IParser interface, serving as a parser for
@@ -4147,22 +4149,9 @@
             }
         }
     }
-    /**
-     * Class that represents the a request to backtrack. 
-     */
-    public static class Backtrack extends Exception
-    {
-    }
     // the static instance we always use
     private static Backtrack backtrack = new Backtrack();
-    /**
-     * Class that represents encountering EOF.  
-     *
-     * End of file generally causes backtracking 
-     */
-    public static class EndOfFile extends Backtrack
-    {
-    }
+
     // the static instance we always use
     public static EndOfFile endOfFile = new EndOfFile();
     // Token management
Index: parser/org/eclipse/cdt/internal/core/parser/Preprocessor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Preprocessor.java,v
retrieving revision 1.1
diff -u -r1.1 Preprocessor.java
--- parser/org/eclipse/cdt/internal/core/parser/Preprocessor.java	23 Jun 2003 18:05:24 -0000	1.1
+++ parser/org/eclipse/cdt/internal/core/parser/Preprocessor.java	27 Jun 2003 00:19:07 -0000
@@ -13,6 +13,7 @@
 import java.io.Reader;
 import java.util.Map;
 
+import org.eclipse.cdt.core.parser.EndOfFile;
 import org.eclipse.cdt.core.parser.IPreprocessor;
 import org.eclipse.cdt.core.parser.ScannerException;
 
@@ -42,7 +43,7 @@
 		{
 			// callback IProblem here
 		}
-		catch( Parser.EndOfFile eof )
+		catch( EndOfFile eof )
 		{
 			// expected 
 		}
Index: parser/org/eclipse/cdt/internal/core/parser/Scanner.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Scanner.java,v
retrieving revision 1.34
diff -u -r1.34 Scanner.java
--- parser/org/eclipse/cdt/internal/core/parser/Scanner.java	25 Jun 2003 22:47:52 -0000	1.34
+++ parser/org/eclipse/cdt/internal/core/parser/Scanner.java	27 Jun 2003 00:19:07 -0000
@@ -25,6 +25,7 @@
 import java.util.StringTokenizer;
 import java.util.Vector;
 
+import org.eclipse.cdt.core.parser.EndOfFile;
 import org.eclipse.cdt.core.parser.IMacroDescriptor;
 import org.eclipse.cdt.core.parser.IParser;
 import org.eclipse.cdt.core.parser.IParserCallback;
@@ -467,12 +468,11 @@
 
 	
 
-	public IToken nextToken() throws ScannerException, Parser.EndOfFile {
+	public IToken nextToken() throws ScannerException, EndOfFile {
 		return nextToken( true ); 
 	}
 
-
-	public IToken nextToken( boolean pasting ) throws ScannerException, Parser.EndOfFile
+	public IToken nextToken( boolean pasting ) throws ScannerException, EndOfFile
 	{
 		if( cachedToken != null ){
 			setCurrentToken( cachedToken );
@@ -560,7 +560,7 @@
 					IToken next = null;
 					try{
 						next = nextToken( true );
-					} catch( Parser.EndOfFile e ){ 
+					} catch( EndOfFile e ){ 
 						next = null;
 					}
 					
@@ -570,7 +570,7 @@
 						currentToken = returnToken; 
 						try{ 
 							next = nextToken( true ); 
-						} catch( Parser.EndOfFile e ){ 
+						} catch( EndOfFile e ){ 
 							next = null;
 						}
 					}
@@ -1366,7 +1366,7 @@
     // the static instance we always use
     protected static endOfMacroTokenException endOfMacroToken = new endOfMacroTokenException();
     
-    public IToken nextTokenForStringizing() throws ScannerException, Parser.EndOfFile
+    public IToken nextTokenForStringizing() throws ScannerException, EndOfFile
     {     
         int c = getChar();
         StringBuffer tokenImage = new StringBuffer();
@@ -1799,7 +1799,7 @@
 
 	}
 
-	protected void poundDefine(int beginning) throws ScannerException, Parser.EndOfFile {
+	protected void poundDefine(int beginning) throws ScannerException, EndOfFile {
 		skipOverWhitespace();
 		// definition 
 		String key = getNextIdentifier();
@@ -1896,7 +1896,7 @@
 						t = helperScanner.nextToken(false);
 					}
 				}
-				catch( Parser.EndOfFile eof )
+				catch( EndOfFile eof )
 				{
 					// good
 				}
@@ -2001,7 +2001,7 @@
                 }
                 space = true;
             }
-        } catch (Parser.EndOfFile e) {
+        } catch (EndOfFile e) {
             // Good
             parameterValues.add(str);
         }
Index: parser/org/eclipse/cdt/internal/core/parser/ast/full/ASTClassSpecifier.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/full/ASTClassSpecifier.java,v
retrieving revision 1.5
diff -u -r1.5 ASTClassSpecifier.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/full/ASTClassSpecifier.java	25 Jun 2003 22:47:52 -0000	1.5
+++ parser/org/eclipse/cdt/internal/core/parser/ast/full/ASTClassSpecifier.java	27 Jun 2003 00:19:07 -0000
@@ -14,7 +14,6 @@
 
 import org.eclipse.cdt.core.parser.ast.AccessVisibility;
 import org.eclipse.cdt.core.parser.ast.ClassKind;
-import org.eclipse.cdt.core.parser.ast.ClassNameType;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.internal.core.parser.pst.IDerivableContainerSymbol;
 import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
Index: parser/org/eclipse/cdt/internal/core/parser/ast/full/FullParseASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/full/FullParseASTFactory.java,v
retrieving revision 1.4
diff -u -r1.4 FullParseASTFactory.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/full/FullParseASTFactory.java	24 Jun 2003 20:18:11 -0000	1.4
+++ parser/org/eclipse/cdt/internal/core/parser/ast/full/FullParseASTFactory.java	27 Jun 2003 00:19:07 -0000
@@ -12,10 +12,10 @@
 
 import java.util.Iterator;
 
+import org.eclipse.cdt.core.parser.Backtrack;
 import org.eclipse.cdt.core.parser.IToken;
 import org.eclipse.cdt.core.parser.ast.AccessVisibility;
 import org.eclipse.cdt.core.parser.ast.ClassKind;
-import org.eclipse.cdt.core.parser.ast.ClassNameType;
 import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTCompilationUnit;
@@ -28,8 +28,8 @@
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
+import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier.ClassNameType;
 import org.eclipse.cdt.internal.core.parser.TokenDuple;
-import org.eclipse.cdt.internal.core.parser.Parser.Backtrack;
 import org.eclipse.cdt.internal.core.parser.ast.BaseASTFactory;
 import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol;
 import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTClassSpecifier.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTClassSpecifier.java,v
retrieving revision 1.3
diff -u -r1.3 ASTClassSpecifier.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTClassSpecifier.java	25 Jun 2003 22:47:52 -0000	1.3
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTClassSpecifier.java	27 Jun 2003 00:19:07 -0000
@@ -16,7 +16,6 @@
 
 import org.eclipse.cdt.core.parser.ast.AccessVisibility;
 import org.eclipse.cdt.core.parser.ast.ClassKind;
-import org.eclipse.cdt.core.parser.ast.ClassNameType;
 import org.eclipse.cdt.core.parser.ast.IASTBaseSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTDeclaration;
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java,v
retrieving revision 1.4
diff -u -r1.4 QuickParseASTFactory.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java	24 Jun 2003 20:18:11 -0000	1.4
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java	27 Jun 2003 00:19:07 -0000
@@ -10,9 +10,9 @@
 ***********************************************************************/
 package org.eclipse.cdt.internal.core.parser.ast.quick;
 
+import org.eclipse.cdt.core.parser.Backtrack;
 import org.eclipse.cdt.core.parser.ast.AccessVisibility;
 import org.eclipse.cdt.core.parser.ast.ClassKind;
-import org.eclipse.cdt.core.parser.ast.ClassNameType;
 import org.eclipse.cdt.core.parser.ast.IASTASMDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTBaseSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier;
@@ -27,8 +27,8 @@
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
+import org.eclipse.cdt.core.parser.ast.IASTClassSpecifier.ClassNameType;
 import org.eclipse.cdt.internal.core.parser.TokenDuple;
-import org.eclipse.cdt.internal.core.parser.Parser.Backtrack;
 import org.eclipse.cdt.internal.core.parser.ast.BaseASTFactory;
 
 /**

Back to the top