[
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;
/**