[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Applied: [cdt-patch] core patch - Parser (Elaborated Type Speciif iers)
|
With line chopping fixed...
-----Original Message-----
From: Camelon, John [mailto:jcamelon@xxxxxxxxxxxx]
Sent: Friday, March 14, 2003 10:17 AM
To: Cdt-Patch (E-mail)
Cc: Amer, Hoda
Subject: [cdt-patch] core patch - Parser (Elaborated Type Speciifiers)
Index: dom/org/eclipse/cdt/core/dom/IScope.java
===================================================================
RCS file: dom/org/eclipse/cdt/core/dom/IScope.java
diff -N dom/org/eclipse/cdt/core/dom/IScope.java
--- dom/org/eclipse/cdt/core/dom/IScope.java 4 Mar 2003 18:25:40 -0000
1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-package org.eclipse.cdt.core.dom;
-
-import java.util.List;
-
-import org.eclipse.cdt.internal.core.dom.Declaration;
-
-/**
- * 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/ClassSpecifier.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/dom/org/eclipse/cdt/internal/core/dom/Class
Specifier.java,v
retrieving revision 1.2
diff -u -r1.2 ClassSpecifier.java
--- dom/org/eclipse/cdt/internal/core/dom/ClassSpecifier.java 4 Mar 2003
18:25:40 -0000 1.2
+++ dom/org/eclipse/cdt/internal/core/dom/ClassSpecifier.java 14 Mar 2003
15:20:06 -0000
@@ -3,7 +3,6 @@
import java.util.LinkedList;
import java.util.List;
-import org.eclipse.cdt.core.dom.IScope;
import org.eclipse.cdt.internal.core.parser.util.Name;
public class ClassSpecifier extends TypeSpecifier implements IScope {
Index: dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/dom/org/eclipse/cdt/internal/core/dom/DOMBu
ilder.java,v
retrieving revision 1.3
diff -u -r1.3 DOMBuilder.java
--- dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java 12 Mar 2003
15:35:41 -0000 1.3
+++ dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java 14 Mar 2003
15:20:06 -0000
@@ -1,7 +1,6 @@
package org.eclipse.cdt.internal.core.dom;
-import org.eclipse.cdt.core.dom.IScope;
import org.eclipse.cdt.internal.core.parser.IParserCallback;
import org.eclipse.cdt.internal.core.parser.Token;
import org.eclipse.cdt.internal.core.parser.util.DeclSpecifier;
@@ -275,6 +274,53 @@
* @see
org.eclipse.cdt.internal.core.parser.IParserCallback#expressionEnd(java.lang
.Object)
*/
public void expressionEnd(Object expression) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierAbort(jav
a.lang.Object)
+ */
+ public void classSpecifierAbort(Object classSpecifier) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierSafe(java
.lang.Object)
+ */
+ public void classSpecifierSafe(Object classSpecifier) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
Begin(java.lang.Object)
+ */
+ public Object elaboratedTypeSpecifierBegin(Object container, Token
classKey) {
+ int kind = ClassSpecifier.t_struct;
+
+ switch (classKey.getType()) {
+ case Token.t_class:
+ kind = ClassSpecifier.t_class;
+ break;
+ case Token.t_struct:
+ kind = ClassSpecifier.t_struct;
+ break;
+ case Token.t_union:
+ kind = ClassSpecifier.t_union;
+ break;
+ }
+
+ ElaboratedTypeSpecifier elab = new ElaboratedTypeSpecifier(
kind, (SimpleDeclaration)container );
+ return elab;
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
End(java.lang.Object)
+ */
+ public void elaboratedTypeSpecifierEnd(Object elab) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
Name(java.lang.Object)
+ */
+ public void elaboratedTypeSpecifierName(Object elab) {
+ ((ElaboratedTypeSpecifier)elab).setName( currName );
}
}
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
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ dom/org/eclipse/cdt/internal/core/dom/ElaboratedTypeSpecifier.java 14
Mar 2003 15:20:06 -0000
@@ -0,0 +1,48 @@
+package org.eclipse.cdt.internal.core.dom;
+
+import org.eclipse.cdt.internal.core.parser.util.Name;
+
+/**
+ * @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 {
+
+ 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 final int classKey;
+ public int getClassKey() { return classKey; }
+
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.dom.TypeSpecifier#getDeclaration()
+ */
+ public SimpleDeclaration getDeclaration() {
+ return super.getDeclaration();
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.dom.TypeSpecifier#setDeclaration(org.eclipse.c
dt.internal.core.dom.SimpleDeclaration)
+ */
+ public void setDeclaration(SimpleDeclaration declaration) {
+ super.setDeclaration(declaration);
+ }
+
+ public ElaboratedTypeSpecifier(int classKey, SimpleDeclaration
declaration) {
+ super(declaration);
+ this.classKey = classKey;
+ }
+
+ private Name name;
+ public void setName(Name n) { name = n; }
+ public Name getName() { return name; }
+
+
+}
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
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ dom/org/eclipse/cdt/internal/core/dom/IScope.java 14 Mar 2003 15:20:06
-0000
@@ -0,0 +1,14 @@
+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/ParameterDeclarationClause.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/dom/org/eclipse/cdt/internal/core/dom/Param
eterDeclarationClause.java,v
retrieving revision 1.2
diff -u -r1.2 ParameterDeclarationClause.java
--- dom/org/eclipse/cdt/internal/core/dom/ParameterDeclarationClause.java
4 Mar 2003 18:25:40 -0000 1.2
+++ dom/org/eclipse/cdt/internal/core/dom/ParameterDeclarationClause.java
14 Mar 2003 15:20:06 -0000
@@ -3,7 +3,6 @@
import java.util.LinkedList;
import java.util.List;
-import org.eclipse.cdt.core.dom.IScope;
/**
* @author jcamelon
Index: dom/org/eclipse/cdt/internal/core/dom/TranslationUnit.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/dom/org/eclipse/cdt/internal/core/dom/Trans
lationUnit.java,v
retrieving revision 1.2
diff -u -r1.2 TranslationUnit.java
--- dom/org/eclipse/cdt/internal/core/dom/TranslationUnit.java 4 Mar 2003
18:25:40 -0000 1.2
+++ dom/org/eclipse/cdt/internal/core/dom/TranslationUnit.java 14 Mar 2003
15:20:06 -0000
@@ -3,7 +3,6 @@
import java.util.LinkedList;
import java.util.List;
-import org.eclipse.cdt.core.dom.IScope;
/**
*/
Index: parser/ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/ChangeLog,v
retrieving revision 1.2
diff -u -r1.2 ChangeLog
--- parser/ChangeLog 12 Mar 2003 15:36:06 -0000 1.2
+++ parser/ChangeLog 14 Mar 2003 15:20:06 -0000
@@ -1,3 +1,8 @@
+2003-03-13 John Camelon
+ Moved ## token to IScanner from Scanner.
+ Updated IParserCallback and implementations to deal with Elaborated
Type Specifiers.
+ Moved IScope into the internal DOM package.
+
2003-03-11 John Camelon
added ChangeLog to parser directory
updated IParserCallback (and all implementors) for expressions
Index: parser/org/eclipse/cdt/internal/core/model/NewModelBuilder.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/model/
NewModelBuilder.java,v
retrieving revision 1.5
diff -u -r1.5 NewModelBuilder.java
--- parser/org/eclipse/cdt/internal/core/model/NewModelBuilder.java 12
Mar 2003 15:35:41 -0000 1.5
+++ parser/org/eclipse/cdt/internal/core/model/NewModelBuilder.java 14
Mar 2003 15:20:08 -0000
@@ -35,8 +35,6 @@
return translationUnit;
}
-
- private Token classKey;
/**
* @see
org.eclipse.cdt.core.newparser.IParserCallback#beginClass(String, String)
*/
@@ -55,24 +53,21 @@
default:
kind = ICElement.C_UNION;
}
- this.classKey = classKey;
- Structure elem = new Structure( c.getParent(), kind, null );
- c.getParent().addChild(elem);
- return new SimpleDeclarationWrapper( elem );
+ SimpleDeclarationWrapper wrapper = new
SimpleDeclarationWrapper();
+ wrapper.setKind( kind );
+ wrapper.setParent( c.getParent() );
+
+ return wrapper;
}
/**
* @see
org.eclipse.cdt.internal.core.newparser.IParserCallback#classSpecifierName()
*/
- public void classSpecifierName(Object classSpecifier) {
-
- SimpleDeclarationWrapper container =
(SimpleDeclarationWrapper)classSpecifier;
- String name = currName.toString();
- Structure elem = ((Structure)container.getElement());
- elem.setElementName( name );
- elem.setIdPos(currName.getStartOffset(), name.length());
- elem.setPos(currName.getStartOffset(), name.length());
+ public void classSpecifierName(Object classSpecifier)
+ {
+ SimpleDeclarationWrapper wrapper =
(SimpleDeclarationWrapper)classSpecifier;
+ wrapper.setName( currName );
}
/**
@@ -310,6 +305,45 @@
* @see
org.eclipse.cdt.internal.core.parser.IParserCallback#expressionEnd(java.lang
.Object)
*/
public void expressionEnd(Object expression) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierAbort(jav
a.lang.Object)
+ */
+ public void classSpecifierAbort(Object classSpecifier) {
+ classSpecifier = null;
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierSafe(java
.lang.Object)
+ */
+ public void classSpecifierSafe(Object classSpecifier) {
+ SimpleDeclarationWrapper wrapper =
(SimpleDeclarationWrapper)classSpecifier;
+ Structure elem = new Structure( wrapper.getParent(),
wrapper.getKind(), null );
+ wrapper.setElement( elem );
+ wrapper.getParent().addChild(elem);
+ String name = currName.toString();
+ elem.setElementName( name );
+ elem.setIdPos(currName.getStartOffset(), name.length());
+ elem.setPos(currName.getStartOffset(), name.length());
+ }
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
Begin(java.lang.Object)
+ */
+ public Object elaboratedTypeSpecifierBegin(Object container, Token
classKey) {
+ return null;
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
End(java.lang.Object)
+ */
+ public void elaboratedTypeSpecifierEnd(Object elab) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
Name(java.lang.Object)
+ */
+ public void elaboratedTypeSpecifierName(Object elab) {
}
}
Index:
parser/org/eclipse/cdt/internal/core/model/SimpleDeclarationWrapper.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/model/
SimpleDeclarationWrapper.java,v
retrieving revision 1.6
diff -u -r1.6 SimpleDeclarationWrapper.java
--- parser/org/eclipse/cdt/internal/core/model/SimpleDeclarationWrapper.java
12 Mar 2003 15:35:41 -0000 1.6
+++ parser/org/eclipse/cdt/internal/core/model/SimpleDeclarationWrapper.java
14 Mar 2003 15:20:08 -0000
@@ -6,6 +6,7 @@
import org.eclipse.cdt.core.model.IStructure;
import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.internal.core.parser.util.DeclSpecifier;
+import org.eclipse.cdt.internal.core.parser.util.Name;
/**
* @author jcamelon
@@ -19,6 +20,8 @@
private CElement element = null;
private CElement parent = null;
+ int kind;
+ private Name name = null;
public SimpleDeclarationWrapper( CElement item )
{
@@ -160,6 +163,38 @@
*/
public void removeDeclarator(Object declarator) {
declarators.remove( declarator );
+ }
+
+ /**
+ * Returns the name.
+ * @return Name
+ */
+ public Name getName() {
+ return name;
+ }
+
+ /**
+ * Sets the name.
+ * @param name The name to set
+ */
+ public void setName(Name name) {
+ this.name = name;
+ }
+
+ /**
+ * Returns the kind.
+ * @return int
+ */
+ public int getKind() {
+ return kind;
+ }
+
+ /**
+ * Sets the kind.
+ * @param kind The kind to set
+ */
+ public void setKind(int kind) {
+ this.kind = kind;
}
}
Index: parser/org/eclipse/cdt/internal/core/parser/ExpressionEvaluator.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser
/ExpressionEvaluator.java,v
retrieving revision 1.4
diff -u -r1.4 ExpressionEvaluator.java
--- parser/org/eclipse/cdt/internal/core/parser/ExpressionEvaluator.java
12 Mar 2003 15:35:41 -0000 1.4
+++ parser/org/eclipse/cdt/internal/core/parser/ExpressionEvaluator.java
14 Mar 2003 15:20:08 -0000
@@ -269,4 +269,35 @@
public void expressionEnd(Object expression) {
}
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierAbort(jav
a.lang.Object)
+ */
+ public void classSpecifierAbort(Object classSpecifier) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierSafe(java
.lang.Object)
+ */
+ public void classSpecifierSafe(Object classSpecifier) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
Begin(java.lang.Object)
+ */
+ public Object elaboratedTypeSpecifierBegin(Object container, Token
classKey) {
+ return null;
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
End(java.lang.Object)
+ */
+ public void elaboratedTypeSpecifierEnd(Object elab) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
Name(java.lang.Object)
+ */
+ public void elaboratedTypeSpecifierName(Object container) {
+ }
+
}
Index: parser/org/eclipse/cdt/internal/core/parser/IParserCallback.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser
/IParserCallback.java,v
retrieving revision 1.3
diff -u -r1.3 IParserCallback.java
--- parser/org/eclipse/cdt/internal/core/parser/IParserCallback.java 12
Mar 2003 15:35:41 -0000 1.3
+++ parser/org/eclipse/cdt/internal/core/parser/IParserCallback.java 14
Mar 2003 15:20:07 -0000
@@ -43,6 +43,8 @@
public Object classSpecifierBegin(Object container, Token classKey);
public void classSpecifierName(Object classSpecifier);
+ public void classSpecifierAbort( Object classSpecifier );
+ public void classSpecifierSafe( Object classSpecifier );
public void classSpecifierEnd(Object classSpecifier);
public Object baseSpecifierBegin( Object containingClassSpec );
@@ -51,8 +53,12 @@
public void baseSpecifierVirtual( Object baseSpecifier, boolean
virtual );
public void baseSpecifierEnd( Object baseSpecifier );
- public Object expressionBegin( Object container );
- public void expressionOperator(Token operator) throws Exception;
- public void expressionTerminal(Token terminal) throws Exception;
- public void expressionEnd(Object expression );
+ public Object expressionBegin( Object container );
+ public void expressionOperator(Token operator) throws Exception;
+ public void expressionTerminal(Token terminal) throws Exception;
+ public void expressionEnd(Object expression );
+
+ public Object elaboratedTypeSpecifierBegin( Object container,
Token classKey );
+ public void elaboratedTypeSpecifierName( Object elab );
+ public void elaboratedTypeSpecifierEnd( Object elab );
}
Index: parser/org/eclipse/cdt/internal/core/parser/IScanner.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser
/IScanner.java,v
retrieving revision 1.2
diff -u -r1.2 IScanner.java
--- parser/org/eclipse/cdt/internal/core/parser/IScanner.java 4 Mar 2003
18:25:40 -0000 1.2
+++ parser/org/eclipse/cdt/internal/core/parser/IScanner.java 14 Mar 2003
15:20:07 -0000
@@ -14,6 +14,8 @@
*/
public interface IScanner {
+ public static final int tPOUNDPOUND = -6;
+
public IScanner initialize( Reader sourceToBeRead, String fileName
);
public void addDefinition(String key, IMacroDescriptor
macroToBeAdded );
Index: parser/org/eclipse/cdt/internal/core/parser/NullParserCallback.java
===================================================================
RCS file:
/home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser
/NullParserCallback.java,v
retrieving revision 1.3
diff -u -r1.3 NullParserCallback.java
--- parser/org/eclipse/cdt/internal/core/parser/NullParserCallback.java 12
Mar 2003 15:35:41 -0000 1.3
+++ parser/org/eclipse/cdt/internal/core/parser/NullParserCallback.java 14
Mar 2003 15:20:07 -0000
@@ -184,4 +184,36 @@
public void expressionEnd(Object expression) {
}
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierAbort(jav
a.lang.Object)
+ */
+ public void classSpecifierAbort(Object classSpecifier) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierSafe(java
.lang.Object)
+ */
+ public void classSpecifierSafe(Object classSpecifier) {
+ }
+
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
Begin(java.lang.Object)
+ */
+ public Object elaboratedTypeSpecifierBegin(Object container, Token
classKey) {
+ return null;
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
End(java.lang.Object)
+ */
+ public void elaboratedTypeSpecifierEnd(Object elab) {
+ }
+
+ /**
+ * @see
org.eclipse.cdt.internal.core.parser.IParserCallback#elaboratedTypeSpecifier
Name(java.lang.Object)
+ */
+ public void elaboratedTypeSpecifierName(Object elab) {
+ }
+
}
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.8
diff -u -r1.8 Parser.java
--- parser/org/eclipse/cdt/internal/core/parser/Parser.java 12 Mar 2003
15:35:41 -0000 1.8
+++ parser/org/eclipse/cdt/internal/core/parser/Parser.java 14 Mar 2003
15:20:07 -0000
@@ -84,7 +84,7 @@
lastToken = currToken;
declaration( translationUnit );
if( currToken == lastToken )
- skipToNextSemi();
+ consumeToNextSemicolon();
} catch (Backtrack b) {
// Mark as failure and try to reach a
recovery point
parsePassed = false;
@@ -92,7 +92,7 @@
if (lastBacktrack != null && lastBacktrack
== LA(1)) {
// we haven't progressed from the
last backtrack
// try and find tne next definition
- skipToNextSemi();
+ consumeToNextSemicolon();
} else {
// start again from here
lastBacktrack = LA(1);
@@ -102,7 +102,7 @@
callback.translationUnitEnd(translationUnit);
}
- public void skipToNextSemi() {
+ protected void consumeToNextSemicolon() {
for (int t = LT(1); t != Token.tEOF; t = LT(1)) {
consume();
// TO DO: we should really check for matching braces
too
@@ -338,8 +338,20 @@
case Token.t_class:
case Token.t_struct:
case Token.t_union:
- classSpecifier(decl);
- return;
+ try
+ {
+ classSpecifier(decl);
+ return;
+ }
+ catch( Backtrack bt )
+ {
+ // this is an elaborated
class specifier
+ Object elab =
callback.elaboratedTypeSpecifierBegin( decl, consume() );
+ name();
+
callback.elaboratedTypeSpecifierName( elab );
+
callback.elaboratedTypeSpecifierEnd( elab );
+
+ }
case Token.t_enum:
enumSpecifier(decl);
break;
@@ -638,6 +650,7 @@
public void classSpecifier( Object owner ) throws Exception {
Token classKey = null;
+ Token mark = mark();
// class key
switch (LT(1)) {
case Token.t_class:
@@ -656,8 +669,17 @@
name();
callback.classSpecifierName(classSpec);
}
-
- //currRegion.put(name.getImage(), classKey);
+
+ if( LT(1) != Token.tCOLON && LT(1) != Token.tLBRACE )
+ {
+ // this is not a classSpecification
+ callback.classSpecifierAbort( classSpec );
+ classSpec = null;
+ backup( mark );
+ throw backtrack;
+ }
+ else
+ callback.classSpecifierSafe( classSpec );
// base clause
if (LT(1) == Token.tCOLON) {
@@ -693,7 +715,7 @@
declaration(classSpec);
}
if (lastToken == currToken)
- skipToNextSemi();
+ consumeToNextSemicolon();
}
// consume the }
consume();
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.4
diff -u -r1.4 Scanner.java
--- parser/org/eclipse/cdt/internal/core/parser/Scanner.java 11 Mar 2003
02:42:47 -0000 1.4
+++ parser/org/eclipse/cdt/internal/core/parser/Scanner.java 14 Mar 2003
15:20:07 -0000
@@ -325,8 +325,6 @@
private static final String DEFINED = "defined";
private static final String POUND_DEFINE = "#define ";
- public static final int tPOUNDPOUND = -6;
-
private IScannerContext currentContext;
private Stack contextStack = new Stack();
_______________________________________________
cdt-patch mailing list
cdt-patch@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/cdt-patch