Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Applied [HEAD] fix Bug 43013 IASTParameterDeclaration does not derive from IASTOffsetableNamedElement

CORE
        Fixed Bug 43013 : IASTParameterDeclaration does not derive from 
IASTOffsetableNamedElement 

JohnC

Index: parser/ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/ChangeLog,v
retrieving revision 1.122
diff -u -r1.122 ChangeLog
--- parser/ChangeLog	12 Sep 2003 15:08:40 -0000	1.122
+++ parser/ChangeLog	12 Sep 2003 18:35:40 -0000
@@ -1,3 +1,6 @@
+2003-09-12 John Camelon
+	Fixed Bug 43013 : IASTParameterDeclaration does not derive from IASTOffsetableNamedElement 
+	
 2003-09-12 Andrew Niefer
 	Fixed some NPEs in ParserSymbolTable.getFlatTypeInfo
 	Added some comments and created some constants to help clarify ranking of conversion sequences
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.30
diff -u -r1.30 IASTFactory.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java	11 Sep 2003 18:05:55 -0000	1.30
+++ parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java	12 Sep 2003 18:35:41 -0000
@@ -177,7 +177,7 @@
 		   
 	public IASTField createField( IASTScope scope, String name, boolean isAuto, IASTInitializerClause initializerClause, IASTExpression bitfieldExpression, IASTAbstractDeclaration abstractDeclaration, boolean isMutable, boolean isExtern, boolean isRegister, boolean isStatic, int startingOffset, int nameOffset, IASTExpression constructorExpression, ASTAccessVisibility visibility) throws ASTSemanticException;
 	
-	public IASTParameterDeclaration createParameterDeclaration( boolean isConst, boolean isVolatile, IASTTypeSpecifier getTypeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause );
+	public IASTParameterDeclaration createParameterDeclaration( boolean isConst, boolean isVolatile, IASTTypeSpecifier getTypeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause, int startingOffset, int endingOffset, int nameOffset );
 	
 	public IASTTemplateDeclaration createTemplateDeclaration( IASTScope scope, List templateParameters, boolean exported, int startingOffset ); 
 
Index: parser/org/eclipse/cdt/core/parser/ast/IASTParameterDeclaration.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTParameterDeclaration.java,v
retrieving revision 1.1
diff -u -r1.1 IASTParameterDeclaration.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTParameterDeclaration.java	9 Jul 2003 00:47:42 -0000	1.1
+++ parser/org/eclipse/cdt/core/parser/ast/IASTParameterDeclaration.java	12 Sep 2003 18:35:41 -0000
@@ -14,9 +14,7 @@
  * @author jcamelon
  *
  */
-public interface IASTParameterDeclaration extends IASTAbstractDeclaration
+public interface IASTParameterDeclaration extends IASTAbstractDeclaration, IASTOffsetableNamedElement
 {
-	public String getName(); 
 	public IASTInitializerClause getDefaultValue(); 
-	
 }
Index: parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java,v
retrieving revision 1.17
diff -u -r1.17 DeclarationWrapper.java
--- parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java	11 Sep 2003 18:05:55 -0000	1.17
+++ parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java	12 Sep 2003 18:35:41 -0000
@@ -38,6 +38,7 @@
  */
 public class DeclarationWrapper implements IDeclaratorOwner
 { 
+    private int endOffset;
     private ITokenDuple name;
     private Type simpleType =
         IASTSimpleTypeSpecifier.Type.UNSPECIFIED;
@@ -514,7 +515,7 @@
                         declarator.getArrayModifiers(),
                         null, null, declarator.getName() == null
                                         ? ""
-                                        : declarator.getName(), declarator.getInitializerClause()));
+                                        : declarator.getName(), declarator.getInitializerClause(), wrapper.getStartingOffset(), wrapper.getEndOffset(), declarator.getNameStartOffset()));
             }
         }
         return result;
@@ -649,4 +650,19 @@
     {
         return templateDeclaration;
     }
+    /**
+     * @param i
+     */
+    public void setEndingOffset(int i)
+    {
+        endOffset = i;
+    }
+    /**
+     * @return
+     */
+    public int getEndOffset()
+    {
+        return endOffset;
+    }
+
 }
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.106
diff -u -r1.106 Parser.java
--- parser/org/eclipse/cdt/internal/core/parser/Parser.java	11 Sep 2003 18:05:55 -0000	1.106
+++ parser/org/eclipse/cdt/internal/core/parser/Parser.java	12 Sep 2003 18:35:43 -0000
@@ -605,7 +605,7 @@
                             declarator.getArrayModifiers(),
                             null, null, declarator.getName() == null
                                             ? ""
-                                            : declarator.getName(), declarator.getInitializerClause()),
+                                            : declarator.getName(), declarator.getInitializerClause(), wrapper.getStartingOffset(), wrapper.getEndOffset(), declarator.getNameStartOffset()),
                         null));
             }
         }
@@ -1078,6 +1078,9 @@
         if (LT(1) != IToken.tSEMI)
            initDeclarator(sdw, false, SimpleDeclarationStrategy.TRY_FUNCTION );
  
+ 		if( lastToken != null )
+ 			sdw.setEndingOffset( lastToken.getEndOffset() );
+ 			
         if (current == LA(1))
             throw backtrack;
         collection.addParameter(sdw);
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java,v
retrieving revision 1.3
diff -u -r1.3 ASTParameterDeclaration.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java	11 Sep 2003 18:05:55 -0000	1.3
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java	12 Sep 2003 18:35:43 -0000
@@ -19,6 +19,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
 import org.eclipse.cdt.internal.core.parser.ast.ASTAbstractDeclaration;
+import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
 import org.eclipse.cdt.internal.core.parser.pst.ISymbol;
 
 /**
@@ -30,6 +31,7 @@
 	private final ASTAbstractDeclaration abstractDeclaration;
     private final String parameterName; 
 	private final IASTInitializerClause initializerClause;
+	private final NamedOffsets offsets = new NamedOffsets();
     /**
      * @param isConst
      * @param typeSpecifier
@@ -38,12 +40,15 @@
      * @param parameterName
      * @param initializerClause
      */
-    public ASTParameterDeclaration(ISymbol symbol, boolean isConst, boolean isVolatile, IASTTypeSpecifier typeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause)
+    public ASTParameterDeclaration(ISymbol symbol, boolean isConst, boolean isVolatile, IASTTypeSpecifier typeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause, int startingOffset, int endingOffset, int nameOffset)
     {
     	super( symbol );
     	abstractDeclaration = new ASTAbstractDeclaration( isConst, isVolatile, typeSpecifier, pointerOperators, arrayModifiers, parameters, pointerOp );
 		this.parameterName = parameterName;
 		this.initializerClause = initializerClause;
+		setStartingOffset(startingOffset);
+		setEndingOffset(endingOffset);
+		setNameOffset(nameOffset);
     }
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration#getName()
@@ -127,6 +132,48 @@
     public void exitScope(ISourceElementRequestor requestor)
     {
 
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset()
+     */
+    public int getNameOffset()
+    {
+        return offsets.getNameOffset();
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int)
+     */
+    public void setNameOffset(int o)
+    {
+        offsets.setNameOffset(o);
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int)
+     */
+    public void setStartingOffset(int o)
+    {
+        offsets.setStartingOffset(o);
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int)
+     */
+    public void setEndingOffset(int o)
+    {
+        offsets.setEndingOffset(o);
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset()
+     */
+    public int getStartingOffset()
+    {
+        return offsets.getStartingOffset();
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset()
+     */
+    public int getEndingOffset()
+    {
+        return offsets.getEndingOffset();
     }
 
 
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java,v
retrieving revision 1.35
diff -u -r1.35 CompleteParseASTFactory.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java	11 Sep 2003 18:05:55 -0000	1.35
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java	12 Sep 2003 18:35:44 -0000
@@ -1929,8 +1929,8 @@
 		return false;
 	}
 
-    public IASTParameterDeclaration createParameterDeclaration(boolean isConst, boolean isVolatile, IASTTypeSpecifier typeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause)
+    public IASTParameterDeclaration createParameterDeclaration(boolean isConst, boolean isVolatile, IASTTypeSpecifier typeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause, int startingOffset, int endingOffset, int nameOffset)
     {
-        return new ASTParameterDeclaration( null, isConst, isVolatile, typeSpecifier, pointerOperators, arrayModifiers, parameters, pointerOp, parameterName, initializerClause );
+        return new ASTParameterDeclaration( null, isConst, isVolatile, typeSpecifier, pointerOperators, arrayModifiers, parameters, pointerOp, parameterName, initializerClause, startingOffset, endingOffset, nameOffset );
     }
 }
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTParameterDeclaration.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTParameterDeclaration.java,v
retrieving revision 1.3
diff -u -r1.3 ASTParameterDeclaration.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTParameterDeclaration.java	11 Sep 2003 18:05:54 -0000	1.3
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTParameterDeclaration.java	12 Sep 2003 18:35:44 -0000
@@ -17,6 +17,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
 import org.eclipse.cdt.internal.core.parser.ast.ASTAbstractDeclaration;
+import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets;
 
 /**
  * @author jcamelon
@@ -24,7 +25,7 @@
  */
 public class ASTParameterDeclaration extends ASTAbstractDeclaration implements IASTParameterDeclaration
 {
-
+    private final NamedOffsets offsets = new NamedOffsets();
 	private final String parameterName; 
 	private final IASTInitializerClause initializerClause;
     /**
@@ -35,11 +36,14 @@
      * @param parameterName
      * @param initializerClause
      */
-    public ASTParameterDeclaration(boolean isConst, boolean isVolatile, IASTTypeSpecifier typeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause)
+    public ASTParameterDeclaration(boolean isConst, boolean isVolatile, IASTTypeSpecifier typeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause, int startingOffset, int endingOffset, int nameOffset)
     {
     	super( isConst, isVolatile, typeSpecifier, pointerOperators, arrayModifiers, parameters, pointerOp );
 		this.parameterName = parameterName;
 		this.initializerClause = initializerClause;
+		setStartingOffset( startingOffset );
+		setEndingOffset( endingOffset );
+		setNameOffset( nameOffset );
     }
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration#getName()
@@ -55,4 +59,47 @@
     {
         return initializerClause;
     }
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset()
+	 */
+	public int getNameOffset()
+	{
+		return offsets.getNameOffset();
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int)
+	 */
+	public void setNameOffset(int o)
+	{
+		offsets.setNameOffset(o);
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int)
+	 */
+	public void setStartingOffset(int o)
+	{
+		offsets.setStartingOffset(o);
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int)
+	 */
+	public void setEndingOffset(int o)
+	{
+		offsets.setEndingOffset(o);
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset()
+	 */
+	public int getStartingOffset()
+	{
+		return offsets.getStartingOffset();
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset()
+	 */
+	public int getEndingOffset()
+	{
+		return offsets.getEndingOffset();
+	}
 }
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.32
diff -u -r1.32 QuickParseASTFactory.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java	11 Sep 2003 18:05:54 -0000	1.32
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java	12 Sep 2003 18:35:44 -0000
@@ -292,8 +292,8 @@
 		return true;  // we have no information to say that it is not
 	}
 
-    public IASTParameterDeclaration createParameterDeclaration(boolean isConst, boolean isVolatile, IASTTypeSpecifier typeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause)
+    public IASTParameterDeclaration createParameterDeclaration(boolean isConst, boolean isVolatile, IASTTypeSpecifier typeSpecifier, List pointerOperators, List arrayModifiers, List parameters, ASTPointerOperator pointerOp, String parameterName, IASTInitializerClause initializerClause, int startingOffset, int endingOffset, int nameOffset)
     {
-        return new ASTParameterDeclaration( isConst, isVolatile, typeSpecifier, pointerOperators, arrayModifiers, parameters, pointerOp, parameterName, initializerClause );
+        return new ASTParameterDeclaration( isConst, isVolatile, typeSpecifier, pointerOperators, arrayModifiers, parameters, pointerOp, parameterName, initializerClause, startingOffset, endingOffset, nameOffset );
     }
 }

Back to the top