[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] Miscellaneous Parser code cleanup
|
Committer: I've added a ChangeLog to the parser directory in CDT core. The
file's CVS label decorators indicate its a binary file, which doesn't seem
right, so if it comes up that way when you apply the patch, please tweak it
to be ASCII.
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/DOMBuilder.java,v
retrieving revision 1.2
diff -u -r1.2 DOMBuilder.java
--- dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java 4 Mar 2003 18:25:40 -0000 1.2
+++ dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java 12 Mar 2003 00:08:29 -0000
@@ -4,7 +4,7 @@
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.*;
+import org.eclipse.cdt.internal.core.parser.util.DeclSpecifier;
import org.eclipse.cdt.internal.core.parser.util.Name;
/**
@@ -76,7 +76,7 @@
* @see org.eclipse.cdt.internal.core.newparser.IParserCallback#declaratorBegin()
*/
public Object declaratorBegin(Object container) {
- DeclarationSpecifier.Container decl = (DeclarationSpecifier.Container )container;
+ DeclSpecifier.Container decl = (DeclSpecifier.Container )container;
Declarator declarator = new Declarator(decl);
decl.addDeclarator(declarator);
return declarator;
@@ -99,17 +99,19 @@
* @see org.eclipse.cdt.internal.core.newparser.IParserCallback#declSpecifier(org.eclipse.cdt.internal.core.newparser.Token)
*/
public void simpleDeclSpecifier(Object Container, Token specifier) {
- DeclarationSpecifier.Container decl = (DeclarationSpecifier.Container)Container;
- DeclarationSpecifier declSpec = decl.getDeclSpecifier();
+ DeclSpecifier.Container decl = (DeclSpecifier.Container)Container;
+ DeclSpecifier declSpec = decl.getDeclSpecifier();
if( declSpec == null )
{
- declSpec = new DeclarationSpecifier();
+ declSpec = new DeclSpecifier();
decl.setDeclSpecifier( declSpec );
}
declSpec.setType( specifier );
}
+
+
/**
* @see org.eclipse.cdt.internal.core.newparser.IParserCallback#expressionOperator(org.eclipse.cdt.internal.core.newparser.Token)
*/
@@ -256,11 +258,23 @@
* @see org.eclipse.cdt.internal.core.newparser.IParserCallback#declaratorAbort(java.lang.Object, java.lang.Object)
*/
public void declaratorAbort(Object container, Object declarator) {
- DeclarationSpecifier.Container decl = (DeclarationSpecifier.Container )container;
+ DeclSpecifier.Container decl = (DeclSpecifier.Container )container;
Declarator toBeRemoved = (Declarator)declarator;
decl.removeDeclarator( toBeRemoved );
currName = null;
toBeRemoved = null;
+ }
+
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#expressionBegin(java.lang.Object)
+ */
+ public Object expressionBegin(Object container) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#expressionEnd(java.lang.Object)
+ */
+ public void expressionEnd(Object expression) {
}
}
Index: dom/org/eclipse/cdt/internal/core/dom/Declarator.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/dom/org/eclipse/cdt/internal/core/dom/Declarator.java,v
retrieving revision 1.2
diff -u -r1.2 Declarator.java
--- dom/org/eclipse/cdt/internal/core/dom/Declarator.java 4 Mar 2003 18:25:40 -0000 1.2
+++ dom/org/eclipse/cdt/internal/core/dom/Declarator.java 12 Mar 2003 00:08:29 -0000
@@ -1,22 +1,22 @@
package org.eclipse.cdt.internal.core.dom;
-import org.eclipse.cdt.internal.core.parser.util.*;
+import org.eclipse.cdt.internal.core.parser.util.DeclSpecifier;
import org.eclipse.cdt.internal.core.parser.util.Name;
public class Declarator {
- public Declarator(DeclarationSpecifier.Container declaration) {
+ public Declarator(DeclSpecifier.Container declaration) {
this.declaration = declaration;
}
- private DeclarationSpecifier.Container declaration;
+ private DeclSpecifier.Container declaration;
/**
* Returns the declaration.
* @return SimpleDeclaration
*/
- public DeclarationSpecifier.Container getDeclaration() {
+ public DeclSpecifier.Container getDeclaration() {
return declaration;
}
Index: dom/org/eclipse/cdt/internal/core/dom/ParameterDeclaration.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/dom/org/eclipse/cdt/internal/core/dom/ParameterDeclaration.java,v
retrieving revision 1.2
diff -u -r1.2 ParameterDeclaration.java
--- dom/org/eclipse/cdt/internal/core/dom/ParameterDeclaration.java 4 Mar 2003 18:25:40 -0000 1.2
+++ dom/org/eclipse/cdt/internal/core/dom/ParameterDeclaration.java 12 Mar 2003 00:08:29 -0000
@@ -3,7 +3,8 @@
import java.util.LinkedList;
import java.util.List;
-import org.eclipse.cdt.internal.core.parser.util.*;
+import org.eclipse.cdt.internal.core.parser.util.DeclSpecifier;
+
/**
* @author jcamelon
@@ -13,16 +14,16 @@
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
-public class ParameterDeclaration extends Declaration implements DeclarationSpecifier.Container {
+public class ParameterDeclaration extends Declaration implements DeclSpecifier.Container {
- DeclarationSpecifier declSpec = null;
+ DeclSpecifier declSpec = null;
/**
* @see org.eclipse.cdt.internal.core.dom.DeclarationSpecifier.CElementWrapper#getDeclSpecifier()
*/
- public DeclarationSpecifier getDeclSpecifier() {
+ public DeclSpecifier getDeclSpecifier() {
if( declSpec == null )
- declSpec = new DeclarationSpecifier();
+ declSpec = new DeclSpecifier();
return declSpec;
}
@@ -30,7 +31,7 @@
/**
* @see org.eclipse.cdt.internal.core.dom.DeclarationSpecifier.CElementWrapper#setDeclSpecifier(org.eclipse.cdt.internal.core.dom.DeclarationSpecifier)
*/
- public void setDeclSpecifier(DeclarationSpecifier in) {
+ public void setDeclSpecifier(DeclSpecifier in) {
declSpec = in;
}
private List declarators = new LinkedList();
Index: dom/org/eclipse/cdt/internal/core/dom/SimpleDeclaration.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/dom/org/eclipse/cdt/internal/core/dom/SimpleDeclaration.java,v
retrieving revision 1.2
diff -u -r1.2 SimpleDeclaration.java
--- dom/org/eclipse/cdt/internal/core/dom/SimpleDeclaration.java 4 Mar 2003 18:25:40 -0000 1.2
+++ dom/org/eclipse/cdt/internal/core/dom/SimpleDeclaration.java 12 Mar 2003 00:08:29 -0000
@@ -3,20 +3,20 @@
import java.util.LinkedList;
import java.util.List;
-import org.eclipse.cdt.internal.core.parser.util.*;
+import org.eclipse.cdt.internal.core.parser.util.DeclSpecifier;
-public class SimpleDeclaration extends Declaration implements DeclarationSpecifier.Container{
+public class SimpleDeclaration extends Declaration implements DeclSpecifier.Container {
- private DeclarationSpecifier declSpec = null;
+ private DeclSpecifier declSpec = null;
- public DeclarationSpecifier getDeclSpecifier()
+ public DeclSpecifier getDeclSpecifier()
{
if( declSpec == null )
- declSpec = new DeclarationSpecifier();
+ declSpec = new DeclSpecifier();
return declSpec;
}
- public void setDeclSpecifier( DeclarationSpecifier in )
+ public void setDeclSpecifier( DeclSpecifier in )
{
declSpec = in;
}
@@ -40,7 +40,7 @@
* @param typeSpecifier The typeSpecifier to set
*/
public void setTypeSpecifier(TypeSpecifier typeSpecifier) {
- getDeclSpecifier().setType(DeclarationSpecifier.t_type);
+ getDeclSpecifier().setType(DeclSpecifier.t_type);
this.typeSpecifier = typeSpecifier;
}
Index: parser/ChangeLog
===================================================================
RCS file: parser/ChangeLog
diff -N parser/ChangeLog
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ parser/ChangeLog 12 Mar 2003 00:08:30 -0000
@@ -0,0 +1,48 @@
+2003-03-11 John Camelon
+ added ChangeLog to parser directory
+ updated IParserCallback (and all implementors) for expressions
+ removed inheritance relationship between ExpressionEvaluator and NullParserCallback
+ removed redundant assignmentOperator() calls in Parser::initDeclarator
+ removed class util.DeclarationSpecifier, merged Container interface into util.DeclSpecifier
+ organized imports on the parser folder
+ * dom/org/eclipse/cdt/internal/core/dom/DOMBuilder.java
+ * dom/org/eclipse/cdt/internal/core/dom/Declarator.java
+ * dom/org/eclipse/cdt/internal/core/dom/ParameterDeclaration.java
+ * dom/org/eclipse/cdt/internal/core/dom/SimpleDeclaration.java
+ * parser/org/eclipse/cdt/internal/core/model/NewModelBuilder.java
+ * parser/org/eclipse/cdt/internal/core/model/Parameter.java
+ * parser/org/eclipse/cdt/internal/core/model/SimpleDeclarationWrapper.java
+ * parser/org/eclipse/cdt/internal/core/parser/ExpressionEvaluator.java
+ * parser/org/eclipse/cdt/internal/core/parser/IParserCallback.java
+ * parser/org/eclipse/cdt/internal/core/parser/NullParserCallback.java
+ * parser/org/eclipse/cdt/internal/core/parser/Parser.java
+ * parser/org/eclipse/cdt/internal/core/parser/util/DeclSpecifier.java
+
+2003-03-10 John Camelon
+ added in support for detecting and reporting circular inclusions
+ added optimization by caching inclusion directories
+ added macro pasting capabilities
+ updated inclusion searching algorithm for local inclusions
+
+2003-03-07 John Camelon
+ fixed initDeclarators for the outline view.
+
+2003-03-06 Doug Schaefer
+ Some minor fixes to get constructors/destructors parsing as well as some minor clean up and robustness.
+
+2003-03-06 John Camelon
+ added quickParse heuristic to Scanner for handling #if conditionals to avoid throwing
+ ScannerExceptions on undefined preprocessor symbols
+ added minimal enum support to Parser (though not to DOM or CModel)
+
+2003-03-06 Andrew Niefer
+ Implementation of Namespaces & using directives in new parser's symbol table
+
+2003-03-05 Doug Schaefer
+ Some minor fixes to the parser.
+
+2003-03-04 Doug Schaefer
+ Added Parser in the "parser" source folder in cdt.core
+ Preference in the C/C++ preference page to enable/disable use of the new parser (disabled by default)
+ Start on the DOM which we are using to test the parser (source folder "dom")
+ Start on a new Model Builder for creating CElements using the new parser (currently in source folder "parser")
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.4
diff -u -r1.4 NewModelBuilder.java
--- parser/org/eclipse/cdt/internal/core/model/NewModelBuilder.java 6 Mar 2003 19:46:28 -0000 1.4
+++ parser/org/eclipse/cdt/internal/core/model/NewModelBuilder.java 12 Mar 2003 00:08:31 -0000
@@ -17,7 +17,6 @@
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;
-import org.eclipse.cdt.internal.core.parser.util.DeclarationSpecifier;
import org.eclipse.cdt.internal.core.parser.util.Name;
public class NewModelBuilder implements IParserCallback {
@@ -86,7 +85,7 @@
* @see org.eclipse.cdt.core.newparser.IParserCallback#beginDeclarator()
*/
public Object declaratorBegin(Object container) {
- DeclarationSpecifier.Container declSpec = (DeclarationSpecifier.Container)container;
+ DeclSpecifier.Container declSpec = (DeclSpecifier.Container)container;
List declarators = declSpec.getDeclarators();
Declarator declarator =new Declarator();
declarators.add( declarator );
@@ -294,11 +293,23 @@
* @see org.eclipse.cdt.internal.core.newparser.IParserCallback#declaratorAbort(java.lang.Object, java.lang.Object)
*/
public void declaratorAbort(Object container, Object declarator) {
- DeclarationSpecifier.Container declSpec = (DeclarationSpecifier.Container)container;
+ DeclSpecifier.Container declSpec = (DeclSpecifier.Container)container;
Declarator toBeRemoved =(Declarator)declarator;
declSpec.removeDeclarator( toBeRemoved );
toBeRemoved = null;
currName = null;
+ }
+
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#expressionBegin(java.lang.Object)
+ */
+ public Object expressionBegin(Object container) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#expressionEnd(java.lang.Object)
+ */
+ public void expressionEnd(Object expression) {
}
}
Index: parser/org/eclipse/cdt/internal/core/model/Parameter.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/model/Parameter.java,v
retrieving revision 1.2
diff -u -r1.2 Parameter.java
--- parser/org/eclipse/cdt/internal/core/model/Parameter.java 4 Mar 2003 18:25:40 -0000 1.2
+++ parser/org/eclipse/cdt/internal/core/model/Parameter.java 12 Mar 2003 00:08:31 -0000
@@ -4,7 +4,6 @@
import java.util.List;
import org.eclipse.cdt.internal.core.parser.util.DeclSpecifier;
-import org.eclipse.cdt.internal.core.parser.util.DeclarationSpecifier;
/**
* @author jcamelon
@@ -14,16 +13,16 @@
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
-public class Parameter extends DeclSpecifier implements DeclarationSpecifier.Container
+public class Parameter extends DeclSpecifier implements DeclSpecifier.Container
{
- DeclarationSpecifier declSpec = null;
+ DeclSpecifier declSpec = null;
/**
* @see org.eclipse.cdt.internal.core.dom.DeclarationSpecifier.CElementWrapper#getDeclSpecifier()
*/
- public DeclarationSpecifier getDeclSpecifier() {
+ public DeclSpecifier getDeclSpecifier() {
if( declSpec == null )
- declSpec = new DeclarationSpecifier();
+ declSpec = new DeclSpecifier();
return declSpec;
}
@@ -31,7 +30,7 @@
/**
* @see org.eclipse.cdt.internal.core.dom.DeclarationSpecifier.CElementWrapper#setDeclSpecifier(org.eclipse.cdt.internal.core.dom.DeclarationSpecifier)
*/
- public void setDeclSpecifier(DeclarationSpecifier in) {
+ public void setDeclSpecifier(DeclSpecifier in) {
declSpec = in;
}
private List declarators = new LinkedList();
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.5
diff -u -r1.5 SimpleDeclarationWrapper.java
--- parser/org/eclipse/cdt/internal/core/model/SimpleDeclarationWrapper.java 6 Mar 2003 19:46:28 -0000 1.5
+++ parser/org/eclipse/cdt/internal/core/model/SimpleDeclarationWrapper.java 12 Mar 2003 00:08:31 -0000
@@ -6,7 +6,6 @@
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.DeclarationSpecifier;
/**
* @author jcamelon
@@ -16,7 +15,7 @@
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
-public class SimpleDeclarationWrapper extends DeclSpecifier implements DeclarationSpecifier.Container, ICElementWrapper {
+public class SimpleDeclarationWrapper extends DeclSpecifier implements DeclSpecifier.Container, ICElementWrapper {
private CElement element = null;
private CElement parent = null;
@@ -137,14 +136,14 @@
return declarators;
}
- DeclarationSpecifier declSpec = null;
+ DeclSpecifier declSpec = null;
/**
* @see org.eclipse.cdt.internal.core.dom.DeclarationSpecifier.CElementWrapper#getDeclSpecifier()
*/
- public DeclarationSpecifier getDeclSpecifier() {
+ public DeclSpecifier getDeclSpecifier() {
if( declSpec == null )
- declSpec = new DeclarationSpecifier();
+ declSpec = new DeclSpecifier();
return declSpec;
}
@@ -152,7 +151,7 @@
/**
* @see org.eclipse.cdt.internal.core.dom.DeclarationSpecifier.CElementWrapper#setDeclSpecifier(org.eclipse.cdt.internal.core.dom.DeclarationSpecifier)
*/
- public void setDeclSpecifier(DeclarationSpecifier in) {
+ public void setDeclSpecifier(DeclSpecifier in) {
declSpec = in;
}
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.3
diff -u -r1.3 ExpressionEvaluator.java
--- parser/org/eclipse/cdt/internal/core/parser/ExpressionEvaluator.java 7 Mar 2003 13:41:26 -0000 1.3
+++ parser/org/eclipse/cdt/internal/core/parser/ExpressionEvaluator.java 12 Mar 2003 00:08:31 -0000
@@ -13,7 +13,7 @@
import java.util.EmptyStackException;
import java.util.Stack;
-public class ExpressionEvaluator extends NullParserCallback {
+public class ExpressionEvaluator implements IParserCallback {
public class ExpressionException extends Exception {
public ExpressionException(String msg) {
@@ -107,6 +107,166 @@
public Object getResult() throws EmptyStackException {
return stack.peek();
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#translationUnitBegin()
+ */
+ public Object translationUnitBegin() {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#translationUnitEnd(java.lang.Object)
+ */
+ public void translationUnitEnd(Object unit) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#inclusionBegin(java.lang.String, int)
+ */
+ public void inclusionBegin(String includeFile, int offset) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#inclusionEnd()
+ */
+ public void inclusionEnd() {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#macro(java.lang.String, int)
+ */
+ public void macro(String macroName, int offset) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#simpleDeclarationBegin(java.lang.Object)
+ */
+ public Object simpleDeclarationBegin(Object Container) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#simpleDeclarationEnd(java.lang.Object)
+ */
+ public void simpleDeclarationEnd(Object declaration) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#parameterDeclarationBegin(java.lang.Object)
+ */
+ public Object parameterDeclarationBegin(Object Container) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#parameterDeclarationEnd(java.lang.Object)
+ */
+ public void parameterDeclarationEnd(Object declaration) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#simpleDeclSpecifier(java.lang.Object, org.eclipse.cdt.internal.core.parser.Token)
+ */
+ public void simpleDeclSpecifier(Object Container, Token specifier) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#nameBegin(org.eclipse.cdt.internal.core.parser.Token)
+ */
+ public void nameBegin(Token firstToken) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#nameEnd(org.eclipse.cdt.internal.core.parser.Token)
+ */
+ public void nameEnd(Token lastToken) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#declaratorBegin(java.lang.Object)
+ */
+ public Object declaratorBegin(Object container) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#declaratorId(java.lang.Object)
+ */
+ public void declaratorId(Object declarator) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#declaratorAbort(java.lang.Object, java.lang.Object)
+ */
+ public void declaratorAbort(Object container, Object declarator) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#declaratorEnd(java.lang.Object)
+ */
+ public void declaratorEnd(Object declarator) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#argumentsBegin(java.lang.Object)
+ */
+ public Object argumentsBegin(Object declarator) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#argumentsEnd(java.lang.Object)
+ */
+ public void argumentsEnd(Object parameterDeclarationClause) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#functionBodyBegin()
+ */
+ public void functionBodyBegin() {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#functionBodyEnd()
+ */
+ public void functionBodyEnd() {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierBegin(java.lang.Object, org.eclipse.cdt.internal.core.parser.Token)
+ */
+ public Object classSpecifierBegin(Object container, Token classKey) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierName(java.lang.Object)
+ */
+ public void classSpecifierName(Object classSpecifier) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#classSpecifierEnd(java.lang.Object)
+ */
+ public void classSpecifierEnd(Object classSpecifier) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#baseSpecifierBegin(java.lang.Object)
+ */
+ public Object baseSpecifierBegin(Object containingClassSpec) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#baseSpecifierName(java.lang.Object)
+ */
+ public void baseSpecifierName(Object baseSpecifier) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#baseSpecifierVisibility(java.lang.Object, org.eclipse.cdt.internal.core.parser.Token)
+ */
+ public void baseSpecifierVisibility(
+ Object baseSpecifier,
+ Token visibility) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#baseSpecifierVirtual(java.lang.Object, boolean)
+ */
+ public void baseSpecifierVirtual(Object baseSpecifier, boolean virtual) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#baseSpecifierEnd(java.lang.Object)
+ */
+ public void baseSpecifierEnd(Object baseSpecifier) {
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#expressionBegin(java.lang.Object)
+ */
+ public Object expressionBegin(Object container) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#expressionEnd(java.lang.Object)
+ */
+ public void expressionEnd(Object expression) {
}
}
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.2
diff -u -r1.2 IParserCallback.java
--- parser/org/eclipse/cdt/internal/core/parser/IParserCallback.java 4 Mar 2003 18:25:40 -0000 1.2
+++ parser/org/eclipse/cdt/internal/core/parser/IParserCallback.java 12 Mar 2003 00:08:30 -0000
@@ -37,7 +37,6 @@
public Object argumentsBegin( Object declarator );
public void argumentsEnd(Object parameterDeclarationClause);
-
public void functionBodyBegin();
public void functionBodyEnd();
@@ -52,6 +51,8 @@
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 );
}
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.2
diff -u -r1.2 NullParserCallback.java
--- parser/org/eclipse/cdt/internal/core/parser/NullParserCallback.java 4 Mar 2003 18:25:40 -0000 1.2
+++ parser/org/eclipse/cdt/internal/core/parser/NullParserCallback.java 12 Mar 2003 00:08:30 -0000
@@ -172,4 +172,16 @@
public void declaratorAbort(Object container, Object declarator) {
}
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#expressionBegin(java.lang.Object)
+ */
+ public Object expressionBegin(Object container) {
+ return null;
+ }
+ /**
+ * @see org.eclipse.cdt.internal.core.parser.IParserCallback#expressionEnd(java.lang.Object)
+ */
+ public void expressionEnd(Object expression) {
+ }
+
}
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.7
diff -u -r1.7 Parser.java
--- parser/org/eclipse/cdt/internal/core/parser/Parser.java 7 Mar 2003 19:45:52 -0000 1.7
+++ parser/org/eclipse/cdt/internal/core/parser/Parser.java 12 Mar 2003 00:08:30 -0000
@@ -437,16 +437,6 @@
// doNothing
}
- // assignmentExpression || { initializerList , } || { }
- try
- {
- assignmentExpression();
- }
- catch( Backtrack b )
- {
- // doNothing
- }
-
if (LT(1) == Token.tLBRACE) {
// for now, just consume to matching brace
consume();
Index: parser/org/eclipse/cdt/internal/core/parser/util/DeclSpecifier.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/util/DeclSpecifier.java,v
retrieving revision 1.2
diff -u -r1.2 DeclSpecifier.java
--- parser/org/eclipse/cdt/internal/core/parser/util/DeclSpecifier.java 4 Mar 2003 18:25:40 -0000 1.2
+++ parser/org/eclipse/cdt/internal/core/parser/util/DeclSpecifier.java 12 Mar 2003 00:08:31 -0000
@@ -1,5 +1,7 @@
package org.eclipse.cdt.internal.core.parser.util;
+import java.util.List;
+
import org.eclipse.cdt.internal.core.parser.Token;
/**
@@ -141,19 +143,19 @@
setVolatile(true);
break;
case Token.t_char:
- setType(DeclarationSpecifier.t_char);
+ setType(DeclSpecifier.t_char);
break;
case Token.t_wchar_t:
- setType(DeclarationSpecifier.t_wchar_t);
+ setType(DeclSpecifier.t_wchar_t);
break;
case Token.t_bool:
- setType(DeclarationSpecifier.t_bool);
+ setType(DeclSpecifier.t_bool);
break;
case Token.t_short:
setShort(true);
break;
case Token.t_int:
- setType(DeclarationSpecifier.t_int);
+ setType(DeclSpecifier.t_int);
break;
case Token.t_long:
setLong(true);
@@ -165,16 +167,16 @@
setUnsigned(true);
break;
case Token.t_float:
- setType(DeclarationSpecifier.t_float);
+ setType(DeclSpecifier.t_float);
break;
case Token.t_double:
- setType(DeclarationSpecifier.t_double);
+ setType(DeclSpecifier.t_double);
break;
case Token.t_void:
- setType(DeclarationSpecifier.t_void);
+ setType(DeclSpecifier.t_void);
break;
case Token.tIDENTIFIER:
- setType(DeclarationSpecifier.t_type);
+ setType(DeclSpecifier.t_type);
break;
}
@@ -187,5 +189,17 @@
public int getType() {
return declSpecifierSeq & typeMask;
}
+
+ public interface Container {
+
+ public DeclSpecifier getDeclSpecifier();
+
+ public void setDeclSpecifier( DeclSpecifier in );
+
+ public void addDeclarator(Object declarator);
+ public void removeDeclarator( Object declarator );
+ public List getDeclarators();
+
+ };
}
Index: parser/org/eclipse/cdt/internal/core/parser/util/DeclarationSpecifier.java
===================================================================
RCS file: parser/org/eclipse/cdt/internal/core/parser/util/DeclarationSpecifier.java
diff -N parser/org/eclipse/cdt/internal/core/parser/util/DeclarationSpecifier.java
--- parser/org/eclipse/cdt/internal/core/parser/util/DeclarationSpecifier.java 4 Mar 2003 18:25:40 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,26 +0,0 @@
-package org.eclipse.cdt.internal.core.parser.util;
-
-import java.util.List;
-
-/**
- * @author jcamelon
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class DeclarationSpecifier extends DeclSpecifier {
-
- public interface Container {
-
- public DeclarationSpecifier getDeclSpecifier();
-
- public void setDeclSpecifier( DeclarationSpecifier in );
-
- public void addDeclarator(Object declarator);
- public void removeDeclarator( Object declarator );
- public List getDeclarators();
-
- };
-}
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/ChangeLog,v
retrieving revision 1.4
diff -u -r1.4 ChangeLog
--- ChangeLog 29 Jan 2003 19:55:12 -0000 1.4
+++ ChangeLog 12 Mar 2003 00:08:58 -0000
@@ -1,3 +1,19 @@
+2003-03-11 John Camelon
+ Updated DOMTests for core.internal.parser change of merging DeclarationSpecifier and DeclSpecifier
+ Organized imports
+ * parser/org/eclipse/cdt/core/parser/tests/DOMTests.java
+ * parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java
+
+2003-03-10 John Camelon
+ Added macro pasting tests
+
+2003-03-06 Andrew Niefer
+ Added tests for exercising Namespaces & using directives in new parser's symbol table
+
+2003-03-04 Doug Schaefer
+ This is a pretty big patch, but it is the merge of the NewParser1 branch into the HEAD branch. lder "parser")
+ JUnit tests for testing various pieces (source folder "parser" in cdt.ui.tests.
+
2003-01-29 Peter Graves
Fixed the warnings when accessing static methods
Index: parser/org/eclipse/cdt/core/parser/tests/DOMTests.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/parser/org/eclipse/cdt/core/parser/tests/DOMTests.java,v
retrieving revision 1.3
diff -u -r1.3 DOMTests.java
--- parser/org/eclipse/cdt/core/parser/tests/DOMTests.java 6 Mar 2003 16:13:24 -0000 1.3
+++ parser/org/eclipse/cdt/core/parser/tests/DOMTests.java 12 Mar 2003 00:08:59 -0000
@@ -17,7 +17,7 @@
import org.eclipse.cdt.internal.core.dom.TranslationUnit;
import org.eclipse.cdt.internal.core.parser.Parser;
import org.eclipse.cdt.internal.core.parser.ParserException;
-import org.eclipse.cdt.internal.core.parser.util.DeclarationSpecifier;
+import org.eclipse.cdt.internal.core.parser.util.DeclSpecifier;
import org.eclipse.cdt.internal.core.parser.util.Name;
/**
@@ -52,7 +52,7 @@
SimpleDeclaration declaration = (SimpleDeclaration)declarations.get(0);
// Make sure it is only an int
- assertEquals(DeclarationSpecifier.t_int, declaration.getDeclSpecifier().getDeclSpecifierSeq());
+ assertEquals(DeclSpecifier.t_int, declaration.getDeclSpecifier().getDeclSpecifierSeq());
// Get the declarator and check its name
List declarators = declaration.getDeclarators();
@@ -125,7 +125,7 @@
declaration = (SimpleDeclaration)declarations.get(0);
// Make sure it's an int
- assertEquals(DeclarationSpecifier.t_int, declaration.getDeclSpecifier().getDeclSpecifierSeq());
+ assertEquals(DeclSpecifier.t_int, declaration.getDeclSpecifier().getDeclSpecifierSeq());
// Get the declarator and check it's name
List declarators = declaration.getDeclarators();
@@ -184,7 +184,7 @@
declaration = (SimpleDeclaration)declarations.get(0);
// Make sure it's an int
- assertEquals(DeclarationSpecifier.t_int, declaration.getDeclSpecifier().getDeclSpecifierSeq());
+ assertEquals(DeclSpecifier.t_int, declaration.getDeclSpecifier().getDeclSpecifierSeq());
// Get the declarator and check it's name
List declarators = declaration.getDeclarators();
@@ -198,7 +198,7 @@
declaration = (SimpleDeclaration)declarations.get(1);
// Make sure it's an float
- assertEquals(DeclarationSpecifier.t_float, declaration.getDeclSpecifier().getDeclSpecifierSeq());
+ assertEquals(DeclSpecifier.t_float, declaration.getDeclSpecifier().getDeclSpecifierSeq());
declarators = declaration.getDeclarators();
assertEquals( 3, declarators.size() );
name = ((Declarator)declarators.get(0)).getName();
@@ -225,7 +225,7 @@
List declarations = translationUnit.getDeclarations();
assertEquals(1, declarations.size());
SimpleDeclaration simpleDeclaration = (SimpleDeclaration)declarations.get(0);
- assertEquals( simpleDeclaration.getDeclSpecifier().getType(), DeclarationSpecifier.t_void );
+ assertEquals( simpleDeclaration.getDeclSpecifier().getType(), DeclSpecifier.t_void );
List declarators = simpleDeclaration.getDeclarators();
assertEquals( 1, declarators.size() );
Declarator functionDeclarator = (Declarator)declarators.get( 0 );
@@ -235,7 +235,7 @@
List parameterDecls = pdc.getDeclarations();
assertEquals( 1, parameterDecls.size() );
ParameterDeclaration parm1 = (ParameterDeclaration)parameterDecls.get( 0 );
- assertEquals( DeclarationSpecifier.t_void, parm1.getDeclSpecifier().getType() );
+ assertEquals( DeclSpecifier.t_void, parm1.getDeclSpecifier().getType() );
List parm1Decls = parm1.getDeclarators();
assertEquals( 1, parm1Decls.size() );
Declarator parm1Declarator = (Declarator) parm1Decls.get(0);
@@ -261,7 +261,7 @@
List classDeclarations = classSpec.getDeclarations();
assertEquals( classDeclarations.size(), 1 );
SimpleDeclaration simpleDeclaration = (SimpleDeclaration)classDeclarations.get(0);
- assertEquals( simpleDeclaration.getDeclSpecifier().getType(), DeclarationSpecifier.t_int );
+ assertEquals( simpleDeclaration.getDeclSpecifier().getType(), DeclSpecifier.t_int );
List simpleDeclarators = simpleDeclaration.getDeclarators();
assertEquals( simpleDeclarators.size(), 2 );
Declarator methodDeclarator = (Declarator)simpleDeclarators.get(0);
@@ -271,7 +271,7 @@
List parameterDeclarations = pdc.getDeclarations();
assertEquals( 1, parameterDeclarations.size() );
ParameterDeclaration parm1Declaration = (ParameterDeclaration)parameterDeclarations.get(0);
- assertEquals( DeclarationSpecifier.t_double, parm1Declaration.getDeclSpecifier().getType() );
+ assertEquals( DeclSpecifier.t_double, parm1Declaration.getDeclSpecifier().getType() );
List parm1Declarators = parm1Declaration.getDeclarators();
assertEquals( parm1Declarators.size(), 1 );
Declarator parm1Declarator = (Declarator)parm1Declarators.get(0);
Index: parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui.tests/parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java,v
retrieving revision 1.4
diff -u -r1.4 ParserSymbolTableTest.java
--- parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java 6 Mar 2003 18:42:22 -0000 1.4
+++ parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java 12 Mar 2003 00:08:59 -0000
@@ -11,10 +11,11 @@
package org.eclipse.cdt.core.parser.tests;
-import junit.framework.TestCase;
-
import java.util.Iterator;
import java.util.Map;
+
+import junit.framework.TestCase;
+
import org.eclipse.cdt.internal.core.parser.Declaration;
import org.eclipse.cdt.internal.core.parser.ParserSymbolTable;
import org.eclipse.cdt.internal.core.parser.ParserSymbolTableException;