diff options
author | John Camelon | 2004-07-12 15:47:36 +0000 |
---|---|---|
committer | John Camelon | 2004-07-12 15:47:36 +0000 |
commit | bbfd8769096b99c82c908585119abce5af47ace9 (patch) | |
tree | e56610d435ee832f6ef83e0b8e7a57972acb281f | |
parent | f25575ee4dc1c79bff1f4684cd1dffbecf2c9010 (diff) | |
download | org.eclipse.cdt-bbfd8769096b99c82c908585119abce5af47ace9.tar.gz org.eclipse.cdt-bbfd8769096b99c82c908585119abce5af47ace9.tar.xz org.eclipse.cdt-bbfd8769096b99c82c908585119abce5af47ace9.zip |
Reduced memory footprint and object count through the flattening of certain AST constructs.
<BR>
Deleted classes Offsets & NamedOffsets.<BR>
This will aid garbage collection and performance. <BR>
38 files changed, 2215 insertions, 2247 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/NamedOffsets.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/NamedOffsets.java deleted file mode 100644 index f1970aa30f5..00000000000 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/NamedOffsets.java +++ /dev/null @@ -1,55 +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.internal.core.parser.ast; - - -/** - * @author jcamelon - * - */ -public class NamedOffsets extends Offsets { - - private int nameEndOffset = 0; - private int nameOffset = 0; - private int nameLineNumber = 0; - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset() - */ - public int getNameOffset() { - return nameOffset; - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) - */ - public void setNameOffset(int offset) { - nameOffset = offset; - } - - public int getNameEndOffset() - { - return nameEndOffset; - } - - public void setNameEndOffsetAndLineNumber( int offset, int lineNumber ) - { - nameEndOffset = offset; - nameLineNumber = lineNumber; - } - - public int getNameLineNumber() - { - return nameLineNumber; - } - - -} diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/Offsets.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/Offsets.java deleted file mode 100644 index 3fc5fcdb050..00000000000 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/Offsets.java +++ /dev/null @@ -1,56 +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.internal.core.parser.ast; - -/** - * @author jcamelon - * - */ -public class Offsets { - - protected int startingOffset = 0; - protected int endingOffset = 0; - private int startingLine; - private int endingLine; - - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - startingOffset = offset; - startingLine = lineNumber; - } - - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - endingOffset = offset; - endingLine = lineNumber; - } - - public int getStartingOffset() { - return startingOffset; - } - - public int getEndingOffset() { - return endingOffset; - } - - /** - * @return - */ - public int getStartingLine() { - return startingLine; - } - - /** - * @return - */ - public int getEndingLine() { - return endingLine; - } - -} diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTASMDefinition.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTASMDefinition.java index 13286e059b1..146c1e70839 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTASMDefinition.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTASMDefinition.java @@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.parser.ast.complete; import org.eclipse.cdt.core.parser.ISourceElementRequestor; import org.eclipse.cdt.core.parser.ast.IASTASMDefinition; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol; /** @@ -22,7 +21,6 @@ import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol; */ public class ASTASMDefinition extends ASTAnonymousDeclaration implements IASTASMDefinition { - private Offsets offsets = new Offsets(); private final String assembly; /** * @@ -42,35 +40,6 @@ public class ASTASMDefinition extends ASTAnonymousDeclaration implements IASTASM return assembly; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (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(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -96,19 +65,49 @@ public class ASTASMDefinition extends ASTAnonymousDeclaration implements IASTASM public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) { } - + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; } - + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTAbstractTypeSpecifierDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTAbstractTypeSpecifierDeclaration.java index 63030e00e8e..10d2a84dac7 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTAbstractTypeSpecifierDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTAbstractTypeSpecifierDeclaration.java @@ -15,7 +15,6 @@ import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration; import org.eclipse.cdt.core.parser.ast.IASTTemplate; import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol; @@ -30,7 +29,7 @@ public class ASTAbstractTypeSpecifierDeclaration private final IASTTypeSpecifier typeSpec; private final IASTTemplate ownerTemplate; private final boolean isFriendDeclaration; - private Offsets offsets = new Offsets(); + /** * @param ownerScope */ @@ -93,56 +92,55 @@ public class ASTAbstractTypeSpecifierDeclaration } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + * @see org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration#isFriendDeclaration() + */ + public boolean isFriendDeclaration() { + return isFriendDeclaration; + } + + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); + public final int getEndingLine() { + return endingLineNumber; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) */ - public int getStartingOffset() + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - return offsets.getStartingOffset(); + startingOffset = offset; + startingLineNumber = lineNumber; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ - public int getEndingOffset() + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - return offsets.getEndingOffset(); + endingOffset = offset; + endingLineNumber = lineNumber; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingOffset() + { + return startingOffset; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingOffset() + { + return endingOffset; } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration#isFriendDeclaration() - */ - public boolean isFriendDeclaration() { - return isFriendDeclaration; - } - } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTClassSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTClassSpecifier.java index 6d3792049c4..6bef42db601 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTClassSpecifier.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTClassSpecifier.java @@ -25,7 +25,6 @@ import org.eclipse.cdt.core.parser.ast.IASTReference; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.ast.SymbolIterator; import org.eclipse.cdt.internal.core.parser.pst.IDerivableContainerSymbol; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; @@ -85,7 +84,6 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier - private NamedOffsets offsets = new NamedOffsets(); private final ClassNameType classNameType; private final ASTClassKind classKind; private ASTAccessVisibility currentVisibility; @@ -149,20 +147,7 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier { return symbol.getName(); } - /* (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.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) @@ -210,34 +195,6 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (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(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement#getFullyQualifiedName() */ public String[] getFullyQualifiedName() @@ -251,20 +208,7 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier { return (IASTScope)symbol.getContainingSymbol().getASTExtension().getPrimaryDeclaration(); } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } + public Iterator getDeclarations() { @@ -287,27 +231,6 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier declarations = new ArrayList(0); } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - private List unresolvedCrossReferences = new ArrayList(); private boolean processingUnresolvedReferences = false; public void addUnresolvedReference( UnresolvedReferenceDuple duple) @@ -349,4 +272,88 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier IDerivableContainerSymbol s = (IDerivableContainerSymbol) getSymbol(); return new SymbolIterator( s.getFriends().iterator() ); } + + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTElaboratedTypeSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTElaboratedTypeSpecifier.java index 67a3b54c998..ae3cdef8d7d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTElaboratedTypeSpecifier.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTElaboratedTypeSpecifier.java @@ -17,7 +17,6 @@ import org.eclipse.cdt.core.parser.ast.ASTClassKind; import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; /** @@ -30,7 +29,6 @@ public class ASTElaboratedTypeSpecifier extends ASTSymbol implements IASTElabora private final boolean isForwardDeclaration; private final ASTClassKind kind; private final ASTQualifiedNamedElement qualifiedName; - private NamedOffsets offsets = new NamedOffsets(); /** * @param checkSymbol @@ -72,34 +70,6 @@ public class ASTElaboratedTypeSpecifier extends ASTSymbol implements IASTElabora return ! getSymbol().isForwardDeclaration(); } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber( offset, lineNumber ); - } - /* (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(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -134,18 +104,6 @@ public class ASTElaboratedTypeSpecifier extends ASTSymbol implements IASTElabora { return qualifiedName.getFullyQualifiedName(); } - /* (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); - } public List getReferences() { @@ -153,42 +111,6 @@ public class ASTElaboratedTypeSpecifier extends ASTSymbol implements IASTElabora } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - - - /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { @@ -207,4 +129,87 @@ public class ASTElaboratedTypeSpecifier extends ASTSymbol implements IASTElabora String coded =getName().toString(); return coded.hashCode(); } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumerationSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumerationSpecifier.java index 50e018b7ed6..c9c6d05baad 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumerationSpecifier.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumerationSpecifier.java @@ -20,7 +20,6 @@ import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier; import org.eclipse.cdt.core.parser.ast.IASTEnumerator; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; /** @@ -31,7 +30,6 @@ public class ASTEnumerationSpecifier extends ASTSymbol implements IASTEnumerationSpecifier { - private NamedOffsets offsets = new NamedOffsets(); private final ASTQualifiedNamedElement qualifiedName; /** * @param symbol @@ -104,96 +102,102 @@ public class ASTEnumerationSpecifier return getSymbol().getName(); } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement#getFullyQualifiedName() */ - public int getNameOffset() + public String[] getFullyQualifiedName() { - return offsets.getNameOffset(); + return qualifiedName.getFullyQualifiedName(); } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager) + */ + public void freeReferences(IReferenceManager referenceManager) { + if( enumerators.isEmpty() ) return; + for( int i = 0; i < enumerators.size(); ++i ) + ((IASTEnumerator) enumerators.get(i)).freeReferences(referenceManager); + } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public void setNameOffset(int o) - { - offsets.setNameOffset(o); + public int getStartingLine() { + return startingLineNumber; } + /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement#getFullyQualifiedName() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public String[] getFullyQualifiedName() - { - return qualifiedName.getFullyQualifiedName(); + public int getEndingLine() { + return endingLineNumber; } /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) */ public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber( offset, lineNumber ); + startingOffset = offset; + startingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber( offset, lineNumber ); + endingOffset = offset; + endingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ public int getStartingOffset() { - return offsets.getStartingOffset(); + return startingOffset; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ public int getEndingOffset() { - return offsets.getEndingOffset(); + return endingOffset; } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + nameStartOffset = o; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager) - */ - public void freeReferences(IReferenceManager referenceManager) { - if( enumerators.isEmpty() ) return; - for( int i = 0; i < enumerators.size(); ++i ) - ((IASTEnumerator) enumerators.get(i)).freeReferences(referenceManager); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumerator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumerator.java index 2f7aa0bcaf7..add248866eb 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumerator.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTEnumerator.java @@ -15,7 +15,6 @@ import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier; import org.eclipse.cdt.core.parser.ast.IASTEnumerator; import org.eclipse.cdt.core.parser.ast.IASTExpression; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; /** @@ -24,7 +23,7 @@ import org.eclipse.cdt.internal.core.parser.pst.ISymbol; */ public class ASTEnumerator extends ASTSymbol implements IASTEnumerator { - private NamedOffsets offsets = new NamedOffsets(); + private final IASTExpression initialValue; private final IASTEnumerationSpecifier owner; /** @@ -65,20 +64,6 @@ public class ASTEnumerator extends ASTSymbol implements IASTEnumerator return symbol.getName(); } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() - */ - public int getNameOffset() - { - return getStartingOffset(); - } - /* (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.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -97,73 +82,91 @@ public class ASTEnumerator extends ASTSymbol implements IASTEnumerator { } /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager) + */ + public void freeReferences(IReferenceManager referenceManager) { + if( initialValue != null ) + initialValue.freeReferences(referenceManager); + } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameEndOffset; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return getStartingLine(); + } + + /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) */ public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); + startingOffset = offset; + startingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); + endingOffset = offset; + endingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ public int getStartingOffset() { - return offsets.getStartingOffset(); + return startingOffset; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ public int getEndingOffset() { - return offsets.getEndingOffset(); + return endingOffset; } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager) - */ - public void freeReferences(IReferenceManager referenceManager) { - if( initialValue != null ) - initialValue.freeReferences(referenceManager); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public int getNameOffset() + { + return getStartingOffset(); + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java index a5bbebfab0b..407e7577489 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java @@ -25,7 +25,6 @@ import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration; import org.eclipse.cdt.core.parser.ast.IASTTemplate; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.IParameterizedSymbol; import org.eclipse.cdt.internal.core.parser.pst.ITypeInfo; @@ -41,7 +40,6 @@ public class ASTFunction extends ASTScope implements IASTFunction private final IASTTemplate ownerTemplate; private final IASTAbstractDeclaration returnType; private final IASTExceptionSpecification exception; - private NamedOffsets offsets = new NamedOffsets(); private final ASTQualifiedNamedElement qualifiedName; private final List parameters; protected List references; @@ -139,20 +137,6 @@ public class ASTFunction extends ASTScope implements IASTFunction } /* (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.IASTTemplatedDeclaration#getOwnerTemplateDeclaration() */ public IASTTemplate getOwnerTemplateDeclaration() @@ -167,35 +151,6 @@ public class ASTFunction extends ASTScope implements IASTFunction return qualifiedName.getFullyQualifiedName(); } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (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(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -292,22 +247,6 @@ public class ASTFunction extends ASTScope implements IASTFunction return previouslyDeclared; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - private boolean hasFunctionTryBlock = false; /* (non-Javadoc) @@ -351,30 +290,92 @@ public class ASTFunction extends ASTScope implements IASTFunction } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTCodeScope#getContainingFunction() */ public IASTFunction getContainingFunction() { return this; } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTLinkageSpecification.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTLinkageSpecification.java index 85bd2810a8c..f17dab45d80 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTLinkageSpecification.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTLinkageSpecification.java @@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException; import org.eclipse.cdt.core.parser.ast.IASTDeclaration; import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol; /** @@ -30,7 +29,7 @@ public class ASTLinkageSpecification extends ASTAnonymousDeclaration implements { private List declarations = new ArrayList(); private final String linkageString; - private Offsets offsets = new Offsets(); + /** * */ @@ -55,35 +54,6 @@ public class ASTLinkageSpecification extends ASTAnonymousDeclaration implements return declarations.iterator(); } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (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(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -118,23 +88,55 @@ public class ASTLinkageSpecification extends ASTAnonymousDeclaration implements } } + public void addDeclaration(IASTDeclaration declaration) + { + declarations.add(declaration); + } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingLine() { + return endingLineNumber; } - - public void addDeclaration(IASTDeclaration declaration) - { - declarations.add(declaration); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTNamespaceAlias.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTNamespaceAlias.java index 2ac3329e673..6d9db8c9226 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTNamespaceAlias.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTNamespaceAlias.java @@ -16,7 +16,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor; import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias; import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; /** @@ -25,7 +24,7 @@ import org.eclipse.cdt.internal.core.parser.pst.ISymbol; */ public class ASTNamespaceAlias extends ASTSymbol implements IASTNamespaceAlias { - private NamedOffsets offsets = new NamedOffsets(); + private final String alias; private final IASTNamespaceDefinition namespace; private List references; @@ -90,81 +89,86 @@ public class ASTNamespaceAlias extends ASTSymbol implements IASTNamespaceAlias { return getSymbol().getName(); } + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getNameOffset() - { - return offsets.getNameOffset(); + public int getStartingLine() { + return startingLineNumber; } + /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public void setNameOffset(int o) - { - offsets.setNameOffset( o ); + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return nameLineNumber; } + /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) */ public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); + startingOffset = offset; + startingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); + endingOffset = offset; + endingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ public int getStartingOffset() { - return offsets.getStartingOffset(); + return startingOffset; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ public int getEndingOffset() { - return offsets.getEndingOffset(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } + return endingOffset; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTNamespaceDefinition.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTNamespaceDefinition.java index 8448c31f1b6..d00dade478d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTNamespaceDefinition.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTNamespaceDefinition.java @@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.IASTDeclaration; import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; /** @@ -30,8 +29,6 @@ public class ASTNamespaceDefinition extends ASTScope implements IASTNamespaceDefinition { - - private NamedOffsets offsets = new NamedOffsets(); private final ASTQualifiedNamedElement qualifiedName; private List declarations = null; @@ -58,54 +55,6 @@ public class ASTNamespaceDefinition } /* (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 setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - - /* (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(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -151,21 +100,6 @@ public class ASTNamespaceDefinition return qualifiedName.getFullyQualifiedName(); } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - public Iterator getDeclarations() { //If a callback (ie StructuralParseCallback) populates the declarations list @@ -184,25 +118,88 @@ public class ASTNamespaceDefinition public void initDeclarations() { declarations = new ArrayList(0); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public int getStartingLine() { + return startingLineNumber; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java index 9ee1a9bfdb3..e99727d48dd 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java @@ -23,7 +23,6 @@ import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration; import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier; import org.eclipse.cdt.core.parser.ast.IReferenceManager; 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; /** @@ -35,7 +34,7 @@ public class ASTParameterDeclaration extends ASTSymbol implements IASTParameterD private final ASTAbstractDeclaration abstractDeclaration; private final String parameterName; private final IASTInitializerClause initializerClause; - private final NamedOffsets offsets = new NamedOffsets(); + /** * @param isConst * @param typeSpecifier @@ -144,88 +143,92 @@ public class ASTParameterDeclaration extends ASTSymbol implements IASTParameterD } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration#getOwnerFunctionDeclaration() + */ + public IASTFunction getOwnerFunctionDeclaration() throws ASTNotImplementedException { + return (IASTFunction) getSymbol().getContainingSymbol().getASTExtension().getPrimaryDeclaration(); + } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getNameOffset() - { - return offsets.getNameOffset(); + public int getStartingLine() { + return startingLineNumber; } + /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public void setNameOffset(int o) - { - offsets.setNameOffset(o); + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return nameLineNumber; } + /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) */ public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); + startingOffset = offset; + startingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); + endingOffset = offset; + endingLineNumber = lineNumber; } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ public int getStartingOffset() { - return offsets.getStartingOffset(); + return startingOffset; } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ public int getEndingOffset() { - return offsets.getEndingOffset(); - } + return endingOffset; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + nameStartOffset = o; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration#getOwnerFunctionDeclaration() - */ - public IASTFunction getOwnerFunctionDeclaration() throws ASTNotImplementedException { - return (IASTFunction) getSymbol().getContainingSymbol().getASTExtension().getPrimaryDeclaration(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateDeclaration.java index ad05b64d343..2d3510e2e22 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateDeclaration.java @@ -21,7 +21,6 @@ import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration; import org.eclipse.cdt.core.parser.ast.IASTTemplateParameter; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; import org.eclipse.cdt.internal.core.parser.pst.ISymbolASTExtension; @@ -39,7 +38,6 @@ public class ASTTemplateDeclaration extends ASTSymbol implements IASTTemplateDec private ISymbol owned = null; private IASTScope ownerScope; private ITemplateFactory factory; - private NamedOffsets offsets = new NamedOffsets(); private ITemplateSymbol getTemplateSymbol(){ return (ITemplateSymbol) (( getSymbol() instanceof ITemplateSymbol ) ? getSymbol() : null); @@ -129,37 +127,6 @@ public class ASTTemplateDeclaration extends ASTSymbol implements IASTTemplateDec } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber( offset, lineNumber ); - } - - /* (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(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -199,18 +166,6 @@ public class ASTTemplateDeclaration extends ASTSymbol implements IASTTemplateDec } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTTemplate#setOwnedDeclaration(org.eclipse.cdt.core.parser.ast.IASTDeclaration) */ public void setOwnedDeclaration(IASTDeclaration declaration) { @@ -224,6 +179,50 @@ public class ASTTemplateDeclaration extends ASTSymbol implements IASTTemplateDec // TODO Auto-generated method stub return null; } + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateInstantiation.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateInstantiation.java index bc55ee4a0c9..62fb8de3add 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateInstantiation.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateInstantiation.java @@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration; import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; import org.eclipse.cdt.internal.core.parser.pst.ITemplateFactory; @@ -37,7 +36,7 @@ public class ASTTemplateInstantiation extends ASTSymbol implements IASTTemplateI private IASTTemplateDeclaration instantiatedTemplate; private ISymbol instance; - private NamedOffsets offsets = new NamedOffsets(); + public ASTTemplateInstantiation( IASTScope scope ){ super( null ); @@ -92,46 +91,6 @@ public class ASTTemplateInstantiation extends ASTSymbol implements IASTTemplateI // TODO Auto-generated method stub } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber( offset, lineNumber ); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber( offset, lineNumber ); - } - /* (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(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTScopedElement#getOwnerScope() */ public IASTScope getOwnerScope() @@ -181,4 +140,50 @@ public class ASTTemplateInstantiation extends ASTSymbol implements IASTTemplateI // TODO Auto-generated method stub return null; } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateParameter.java index ee4d150e827..c238857575d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateParameter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTemplateParameter.java @@ -10,9 +10,6 @@ *******************************************************************************/ /* * Created on Mar 3, 2004 - * - * To change the template for this generated file go to - * Window - Preferences - Java - Code Generation - Code and Comments */ package org.eclipse.cdt.internal.core.parser.ast.complete; @@ -25,7 +22,6 @@ import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration; import org.eclipse.cdt.core.parser.ast.IASTTemplateParameter; import org.eclipse.cdt.core.parser.ast.IASTTypeId; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; import org.eclipse.cdt.internal.core.parser.pst.ITypeInfo; @@ -43,7 +39,7 @@ public class ASTTemplateParameter extends ASTSymbol implements IASTTemplateParam private IASTTypeId defaultValue; private ASTParameterDeclaration parameter; private List parms; - private final NamedOffsets offsets = new NamedOffsets(); + /** * @param symbol @@ -131,71 +127,86 @@ public class ASTTemplateParameter extends ASTSymbol implements IASTTemplateParam public String getName() { return symbol.getName(); } - /* (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.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffsetAndLineNumber(int, int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setNameEndOffsetAndLineNumber( offset, lineNumber ); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffsetAndLineNumber(int, int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber( offset, lineNumber ); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffsetAndLineNumber(int, int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber( offset, lineNumber ); - } - /* (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(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTypedef.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTypedef.java index b54662321e4..d226784e5e5 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTypedef.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTTypedef.java @@ -20,7 +20,6 @@ import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier; import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; /** @@ -31,7 +30,6 @@ public class ASTTypedef extends ASTSymbol implements IASTTypedefDeclaration { private final IASTAbstractDeclaration mapping; - private NamedOffsets offsets = new NamedOffsets(); private final ASTQualifiedNamedElement qualifiedName; private List references; @@ -102,19 +100,56 @@ public class ASTTypedef extends ASTSymbol implements IASTTypedefDeclaration } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement#getFullyQualifiedName() */ - public int getNameOffset() + public String[] getFullyQualifiedName() { - return offsets.getNameOffset(); + return qualifiedName.getFullyQualifiedName(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration#getFinalTypeSpecifier() + */ + public IASTTypeSpecifier getFinalTypeSpecifier() throws ASTNotImplementedException { + IASTTypeSpecifier currentTypeSpec = mapping.getTypeSpecifier(); + while( currentTypeSpec instanceof IASTSimpleTypeSpecifier || + currentTypeSpec instanceof IASTTypedefDeclaration ) + { + if( currentTypeSpec instanceof IASTSimpleTypeSpecifier ) + { + IASTSimpleTypeSpecifier simpleTypeSpec = (IASTSimpleTypeSpecifier) currentTypeSpec; + if( simpleTypeSpec.getType() == IASTSimpleTypeSpecifier.Type.CLASS_OR_TYPENAME ) + currentTypeSpec = simpleTypeSpec.getTypeSpecifier(); + else + break; + } + else if( currentTypeSpec instanceof IASTTypedefDeclaration ) + { + currentTypeSpec = ((IASTTypedefDeclaration)currentTypeSpec).getAbstractDeclarator().getTypeSpecifier(); + } + } + return currentTypeSpec; + } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public void setNameOffset(int o) - { - offsets.setNameOffset(o); + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return nameLineNumber; } /* (non-Javadoc) @@ -122,96 +157,60 @@ public class ASTTypedef extends ASTSymbol implements IASTTypedefDeclaration */ public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); + startingOffset = offset; + startingLineNumber = lineNumber; } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); + endingOffset = offset; + endingLineNumber = lineNumber; } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ public int getStartingOffset() { - return offsets.getStartingOffset(); + return startingOffset; } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ public int getEndingOffset() { - return offsets.getEndingOffset(); + return endingOffset; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement#getFullyQualifiedName() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() */ - public String[] getFullyQualifiedName() + public int getNameOffset() { - return qualifiedName.getFullyQualifiedName(); + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public void setNameOffset(int o) + { + nameStartOffset = o; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration#getFinalTypeSpecifier() - */ - public IASTTypeSpecifier getFinalTypeSpecifier() throws ASTNotImplementedException { - IASTTypeSpecifier currentTypeSpec = mapping.getTypeSpecifier(); - while( currentTypeSpec instanceof IASTSimpleTypeSpecifier || - currentTypeSpec instanceof IASTTypedefDeclaration ) - { - if( currentTypeSpec instanceof IASTSimpleTypeSpecifier ) - { - IASTSimpleTypeSpecifier simpleTypeSpec = (IASTSimpleTypeSpecifier) currentTypeSpec; - if( simpleTypeSpec.getType() == IASTSimpleTypeSpecifier.Type.CLASS_OR_TYPENAME ) - currentTypeSpec = simpleTypeSpec.getTypeSpecifier(); - else - break; - } - else if( currentTypeSpec instanceof IASTTypedefDeclaration ) - { - currentTypeSpec = ((IASTTypedefDeclaration)currentTypeSpec).getAbstractDeclarator().getTypeSpecifier(); - } - } - return currentTypeSpec; - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTUsingDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTUsingDeclaration.java index 947170b356c..9498e47cd90 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTUsingDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTUsingDeclaration.java @@ -18,7 +18,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; import org.eclipse.cdt.internal.core.parser.ast.SymbolIterator; /** @@ -30,7 +29,6 @@ public class ASTUsingDeclaration extends ASTNode implements IASTUsingDeclaration private final IASTScope ownerScope; private final boolean isTypeName; private final List declarations = new ArrayList(); - private Offsets offsets = new Offsets(); private List references; private String name; @@ -62,34 +60,6 @@ public class ASTUsingDeclaration extends ASTNode implements IASTUsingDeclaration return name; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (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(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTScopedElement#getOwnerScope() */ public IASTScope getOwnerScope() @@ -132,17 +102,49 @@ public class ASTUsingDeclaration extends ASTNode implements IASTUsingDeclaration return new SymbolIterator( declarations.iterator() ); } + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingLine() { + return endingLineNumber; } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTUsingDirective.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTUsingDirective.java index e8a010ff167..3c43ef23fa0 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTUsingDirective.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTUsingDirective.java @@ -16,7 +16,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor; import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition; import org.eclipse.cdt.core.parser.ast.IASTUsingDirective; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; import org.eclipse.cdt.internal.core.parser.pst.IContainerSymbol; import org.eclipse.cdt.internal.core.parser.pst.IUsingDirectiveSymbol; @@ -27,7 +26,6 @@ import org.eclipse.cdt.internal.core.parser.pst.IUsingDirectiveSymbol; public class ASTUsingDirective extends ASTAnonymousDeclaration implements IASTUsingDirective { private final IUsingDirectiveSymbol using; - private Offsets offsets = new Offsets(); private List references; /** * @param namespaceDefinition @@ -62,35 +60,6 @@ public class ASTUsingDirective extends ASTAnonymousDeclaration implements IASTUs return buffer.toString(); } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber( offset, lineNumber ); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -128,18 +97,50 @@ public class ASTUsingDirective extends ASTAnonymousDeclaration implements IASTUs return (IASTNamespaceDefinition)namespaceSymbol.getASTExtension().getPrimaryDeclaration(); } - + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingLine() { + return endingLineNumber; } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTVariable.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTVariable.java index 4e8898ec139..d9fabf478d2 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTVariable.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTVariable.java @@ -20,7 +20,6 @@ import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTVariable; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.pst.ISymbol; import org.eclipse.cdt.internal.core.parser.pst.ITypeInfo; @@ -32,7 +31,6 @@ public class ASTVariable extends ASTSymbol implements IASTVariable { private final IASTExpression constructorExpression; private final ASTQualifiedNamedElement qualifiedName; - private NamedOffsets offsets = new NamedOffsets(); private final IASTExpression bitfieldExpression; private final IASTInitializerClause initializerClause; private final IASTAbstractDeclaration abstractDeclaration; @@ -130,20 +128,6 @@ public class ASTVariable extends ASTSymbol implements IASTVariable return bitfieldExpression; } /* (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.IASTQualifiedNameElement#getFullyQualifiedName() */ public String[] getFullyQualifiedName() @@ -193,72 +177,93 @@ public class ASTVariable extends ASTSymbol implements IASTVariable { } /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTVariable#getConstructorExpression() + */ + public IASTExpression getConstructorExpression() + { + return constructorExpression; + } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); + startingOffset = offset; + startingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); + endingOffset = offset; + endingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ - public int getStartingOffset() + public final int getStartingOffset() { - return offsets.getStartingOffset(); + return startingOffset; } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ - public int getEndingOffset() + public final int getEndingOffset() { - return offsets.getEndingOffset(); + return endingOffset; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } + /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTVariable#getConstructorExpression() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() */ - public IASTExpression getConstructorExpression() + public final int getNameOffset() { - return constructorExpression; + return nameStartOffset; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final void setNameOffset(int o) + { + nameStartOffset = o; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getNameEndOffset() + { + return nameEndOffset; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTASMDefinition.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTASMDefinition.java index e7cd69b2ae4..59a4036d7cf 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTASMDefinition.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTASMDefinition.java @@ -14,7 +14,6 @@ import org.eclipse.cdt.core.parser.ISourceElementRequestor; import org.eclipse.cdt.core.parser.ast.IASTASMDefinition; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; /** * @author jcamelon @@ -24,7 +23,6 @@ public class ASTASMDefinition extends ASTDeclaration implements IASTASMDefinition { - private Offsets offsets = new Offsets(); private final String assembly; /** * @param scope @@ -42,34 +40,6 @@ public class ASTASMDefinition } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber( offset, lineNumber ); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() { - return offsets.getStartingOffset(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() { - return offsets.getEndingOffset(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -97,19 +67,49 @@ public class ASTASMDefinition public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) { } - + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingLine() { + return endingLineNumber; } - + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTAbstractTypeSpecifierDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTAbstractTypeSpecifierDeclaration.java index 459898f3f47..0a5ef2be149 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTAbstractTypeSpecifierDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTAbstractTypeSpecifierDeclaration.java @@ -16,7 +16,6 @@ import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTTemplate; import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; /** * @author jcamelon @@ -61,35 +60,6 @@ public class ASTAbstractTypeSpecifierDeclaration return ownerTemplate; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - private Offsets offsets = new Offsets(); - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -122,24 +92,54 @@ public class ASTAbstractTypeSpecifierDeclaration } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration#isFriendDeclaration() */ public boolean isFriendDeclaration() { return isFriendDeclaration; } + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTClassSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTClassSpecifier.java index c0906b898e5..6c221570ccd 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTClassSpecifier.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTClassSpecifier.java @@ -20,7 +20,6 @@ import org.eclipse.cdt.core.parser.ast.IASTBaseSpecifier; import org.eclipse.cdt.core.parser.ast.IASTDeclaration; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; /** * @author jcamelon * @@ -41,9 +40,9 @@ public class ASTClassSpecifier extends ASTScopedTypeSpecifier implements IASTQCl super( scope, name ); classNameType = type; classKind = kind; - offsets.setStartingOffsetAndLineNumber(startingOffset, startingLine); - offsets.setNameOffset(nameOffset); - offsets.setNameEndOffsetAndLineNumber(nameEndOffset, nameLineNumber); + setStartingOffsetAndLineNumber(startingOffset, startingLine); + setNameOffset(nameOffset); + setNameEndOffsetAndLineNumber(nameEndOffset, nameLineNumber); this.access = access; this.name = name; } @@ -53,7 +52,6 @@ public class ASTClassSpecifier extends ASTScopedTypeSpecifier implements IASTQCl private List baseClauses = new ArrayList(); private List friends = new ArrayList(); private ASTAccessVisibility access; - private NamedOffsets offsets = new NamedOffsets(); private final ClassNameType classNameType; private final ASTClassKind classKind; /* (non-Javadoc) @@ -99,49 +97,6 @@ public class ASTClassSpecifier extends ASTScopedTypeSpecifier implements IASTQCl return name; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset() - */ - 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 setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.internal.core.parser.ast.quick.IASTQScope#addDeclaration(org.eclipse.cdt.core.parser.ast.IASTDeclaration) */ public void addDeclaration(IASTDeclaration declaration) @@ -199,40 +154,6 @@ public class ASTClassSpecifier extends ASTScopedTypeSpecifier implements IASTQCl } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTClassSpecifier#getFriends() */ public Iterator getFriends() { @@ -244,7 +165,87 @@ public class ASTClassSpecifier extends ASTScopedTypeSpecifier implements IASTQCl */ public void addFriendDeclaration(IASTDeclaration decl) { friends.add( decl ); - } - + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public final int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public final void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public final int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTElaboratedTypeSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTElaboratedTypeSpecifier.java index a17580ffcb3..96d3acf809d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTElaboratedTypeSpecifier.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTElaboratedTypeSpecifier.java @@ -17,7 +17,6 @@ import org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; /** * @author jcamelon @@ -25,8 +24,6 @@ import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; */ public class ASTElaboratedTypeSpecifier extends ASTNode implements IASTElaboratedTypeSpecifier { - - private NamedOffsets offsets = new NamedOffsets(); private final String typeName; private final ASTClassKind classKind; private final ASTQualifiedNamedElement qualifiedName; @@ -61,35 +58,6 @@ public class ASTElaboratedTypeSpecifier extends ASTNode implements IASTElaborate return classKind; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTElaboratedTypeSpecifier#isResolved() */ public boolean isResolved() throws ASTNotImplementedException @@ -129,50 +97,87 @@ public class ASTElaboratedTypeSpecifier extends ASTNode implements IASTElaborate public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) { } - /* (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.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public final int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public final void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public final int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerationSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerationSpecifier.java index b3a4fabc528..5dcb68c96e8 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerationSpecifier.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerationSpecifier.java @@ -20,7 +20,6 @@ import org.eclipse.cdt.core.parser.ast.IASTEnumerator; import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; /** * @author jcamelon @@ -30,7 +29,6 @@ public class ASTEnumerationSpecifier extends ASTScopedTypeSpecifier implements IASTEnumerationSpecifier, IASTOffsetableNamedElement { private final String name; - private NamedOffsets offsets = new NamedOffsets(); /** * @param name @@ -40,8 +38,8 @@ public class ASTEnumerationSpecifier extends ASTScopedTypeSpecifier { super( scope, name ); this.name = name; - offsets.setNameOffset( nameOffset ); - offsets.setStartingOffsetAndLineNumber( startingOffset, startingLine); + setNameOffset( nameOffset ); + setStartingOffsetAndLineNumber( startingOffset, startingLine); setNameEndOffsetAndLineNumber(nameEndOffset, nameLine); } /* (non-Javadoc) @@ -51,49 +49,6 @@ public class ASTEnumerationSpecifier extends ASTScopedTypeSpecifier { return name; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset() - */ - 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 setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - private List enumerators = new ArrayList(); /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier#getEnumerators() @@ -135,43 +90,91 @@ public class ASTEnumerationSpecifier extends ASTScopedTypeSpecifier } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager) */ public void freeReferences(IReferenceManager referenceManager) { // do nothing } + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public final int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public final void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public final int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerator.java index 4f97ca85960..5d8044f768c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerator.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTEnumerator.java @@ -16,7 +16,6 @@ import org.eclipse.cdt.core.parser.ast.IASTEnumerator; import org.eclipse.cdt.core.parser.ast.IASTExpression; import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; import org.eclipse.cdt.internal.core.parser.ast.complete.ASTNode; /** @@ -29,7 +28,7 @@ public class ASTEnumerator extends ASTNode private final IASTExpression initialValue; private final String name; private final IASTEnumerationSpecifier enumeration; - private final NamedOffsets offsets = new NamedOffsets(); + /** * @param enumeration @@ -41,10 +40,10 @@ public class ASTEnumerator extends ASTNode { this.enumeration = enumeration; name = string; - offsets.setStartingOffsetAndLineNumber( startingOffset, startingLine ); - offsets.setNameOffset( nameOffset ); - offsets.setNameEndOffsetAndLineNumber( nameEndOffset, nameLine ); - offsets.setEndingOffsetAndLineNumber( endingOffset, endLine ); + setStartingOffsetAndLineNumber( startingOffset, startingLine ); + setNameOffset( nameOffset ); + setNameEndOffsetAndLineNumber( nameEndOffset, nameLine ); + setEndingOffsetAndLineNumber( endingOffset, endLine ); this.initialValue = initialValue; } /* (non-Javadoc) @@ -55,118 +54,123 @@ public class ASTEnumerator extends ASTNode return name; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#getOwnerEnumerationSpecifier() */ - public int getNameOffset() + public IASTEnumerationSpecifier getOwnerEnumerationSpecifier() { - return offsets.getNameOffset(); + return enumeration; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + * @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#getInitialValue() */ - public void setNameOffset(int o) + public IASTExpression getInitialValue() + { + return initialValue; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) + */ + public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) + { + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor) + */ + public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager) + { + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor) + */ + public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) { - offsets.setNameOffset(o); } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager) + */ + public void freeReferences(IReferenceManager referenceManager) { + // do nothing + } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameEndOffset; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public int getNameLineNumber() { + return getStartingLine(); + } + /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) */ public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); + startingOffset = offset; + startingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); + endingOffset = offset; + endingLineNumber = lineNumber; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ public int getStartingOffset() { - return offsets.getStartingOffset(); + return startingOffset; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ public int getEndingOffset() { - return offsets.getEndingOffset(); + return endingOffset; } + /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#getOwnerEnumerationSpecifier() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() */ - public IASTEnumerationSpecifier getOwnerEnumerationSpecifier() + public int getNameOffset() { - return enumeration; + return getStartingOffset(); } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#getInitialValue() - */ - public IASTExpression getInitialValue() - { - return initialValue; - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#acceptElement(org.eclipse.cdt.core.parser.ISourceElementRequestor) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) */ - public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) + public void setNameOffset(int o) { } + /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() */ - public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager) + public int getNameEndOffset() { + return nameEndOffset; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exitScope(org.eclipse.cdt.core.parser.ISourceElementRequestor) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) */ - public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) + public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) { + nameEndOffset = offset; } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTEnumerator#freeReferences(org.eclipse.cdt.core.parser.ast.IReferenceManager) - */ - public void freeReferences(IReferenceManager referenceManager) { - // do nothing - } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java index e84340736ab..71aab54ffa4 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java @@ -24,7 +24,6 @@ import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTTemplate; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; /** * @author jcamelon @@ -49,8 +48,8 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction this.ownerTemplateDeclaration = ownerTemplate; if( ownerTemplate != null ) ownerTemplate.setOwnedDeclaration( this ); - offsets.setStartingOffsetAndLineNumber( startOffset, startLine ); - offsets.setNameOffset( nameOffset ); + setStartingOffsetAndLineNumber( startOffset, startLine ); + setNameOffset( nameOffset ); qualifiedName = new ASTQualifiedNamedElement( scope, name ); setNameEndOffsetAndLineNumber(nameEndOffset, nameLine); this.hasFunctionTryBlock = hasFunctionTryBlock; @@ -61,7 +60,6 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction private boolean hasFunctionBody = false; private final IASTQualifiedNameElement qualifiedName; private final IASTTemplate ownerTemplateDeclaration; - private NamedOffsets offsets = new NamedOffsets(); private List declarations = new ArrayList(); private final IASTExceptionSpecification exceptionSpec; private final String name; @@ -120,20 +118,6 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset() - */ - 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.IASTTemplatedDeclaration#getOwnerTemplateDeclaration() */ public IASTTemplate getOwnerTemplateDeclaration() @@ -141,34 +125,6 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction return ownerTemplateDeclaration; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTScope#getDeclarations() */ public Iterator getDeclarations() @@ -255,21 +211,6 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction { return previouslyDeclared; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - private boolean hasFunctionTryBlock = false; private final boolean varArgs; /* (non-Javadoc) @@ -295,28 +236,92 @@ public class ASTFunction extends ASTDeclaration implements IASTFunction } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTCodeScope#getContainingFunction() */ public IASTFunction getContainingFunction() { return this; } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public final int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public final void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public final int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTLinkageSpecification.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTLinkageSpecification.java index 5379bd7278c..5bdff26538c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTLinkageSpecification.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTLinkageSpecification.java @@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.IASTDeclaration; import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; /** * @author jcamelon @@ -61,36 +60,6 @@ public class ASTLinkageSpecification } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - private Offsets offsets = new Offsets(); - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -126,19 +95,49 @@ public class ASTLinkageSpecification /* do nothing */ } } - + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingLine() { + return endingLineNumber; } - + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTNamespaceAlias.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTNamespaceAlias.java index 484b9591e8d..eac5bd17368 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTNamespaceAlias.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTNamespaceAlias.java @@ -16,7 +16,6 @@ import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias; import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; /** * @author jcamelon @@ -27,7 +26,6 @@ public class ASTNamespaceAlias extends ASTDeclaration implements IASTNamespaceAl private final String alias; private final String identifier; - private NamedOffsets offsets = new NamedOffsets(); /** * @param scope * @param identifier @@ -88,82 +86,87 @@ public class ASTNamespaceAlias extends ASTDeclaration implements IASTNamespaceAl { return identifier; } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getNameOffset() - { - return offsets.getNameOffset(); + public final int getStartingLine() { + return startingLineNumber; } + /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public void setNameOffset(int o) - { - offsets.setNameOffset(o); + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; } + /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - + startingOffset = offset; + startingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); + endingOffset = offset; + endingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ - public int getStartingOffset() + public final int getStartingOffset() { - return offsets.getStartingOffset(); + return startingOffset; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); + public final int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public final int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public final void setNameOffset(int o) + { + nameStartOffset = o; } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public final int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTNamespaceDefinition.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTNamespaceDefinition.java index 49a0d0eb4ad..b3cfb6a69ad 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTNamespaceDefinition.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTNamespaceDefinition.java @@ -20,7 +20,6 @@ import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; /** * @author jcamelon @@ -29,7 +28,6 @@ import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; public class ASTNamespaceDefinition extends ASTDeclaration implements IASTNamespaceDefinition, IASTQScope { private final String name; - private NamedOffsets offsets = new NamedOffsets(); private final ASTQualifiedNamedElement qualifiedNameElement; public ASTNamespaceDefinition( IASTScope scope, String name, int startOffset, int startingLine, int nameOffset, int nameEndOffset, int nameLine ) @@ -48,49 +46,6 @@ public class ASTNamespaceDefinition extends ASTDeclaration implements IASTNamesp return name; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset() - */ - 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 setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() { - return offsets.getStartingOffset(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() { - return offsets.getEndingOffset(); - } - private List declarations = new ArrayList(); /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTScope#getDeclarations() @@ -146,37 +101,86 @@ public class ASTNamespaceDefinition extends ASTDeclaration implements IASTNamesp } } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - }} + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public final int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public final void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public final int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } +} diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTParameterDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTParameterDeclaration.java index 12e37af00d7..430215d6e57 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTParameterDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTParameterDeclaration.java @@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.IASTInitializerClause; 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 @@ -27,7 +26,6 @@ import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; */ public class ASTParameterDeclaration extends ASTAbstractDeclaration implements IASTParameterDeclaration { - private final NamedOffsets offsets = new NamedOffsets(); private final String parameterName; private final IASTInitializerClause initializerClause; /** @@ -64,86 +62,92 @@ public class ASTParameterDeclaration extends ASTAbstractDeclaration implements I } /* (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 setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (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(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration#getOwnerFunctionDeclaration() */ public IASTFunction getOwnerFunctionDeclaration() throws ASTNotImplementedException { throw new ASTNotImplementedException(); } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public final int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public final void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public final int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateDeclaration.java index d53b2d85df6..32ce5505245 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateDeclaration.java @@ -21,7 +21,6 @@ import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.EmptyIterator; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; /** * @author jcamelon @@ -31,7 +30,6 @@ public class ASTTemplateDeclaration extends ASTDeclaration implements IASTTempla { private IASTDeclaration ownedDeclaration; private List templateParameters; - private Offsets offsets = new Offsets(); private final boolean isExported; /** * @param templateParameters @@ -59,36 +57,6 @@ public class ASTTemplateDeclaration extends ASTDeclaration implements IASTTempla return ownedDeclaration; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTTemplate#setOwnedDeclaration(org.eclipse.cdt.core.parser.ast.IASTDeclaration) */ public void setOwnedDeclaration(IASTDeclaration declaration) @@ -142,26 +110,56 @@ public class ASTTemplateDeclaration extends ASTDeclaration implements IASTTempla } /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTScope#getDeclarations() + */ + public Iterator getDeclarations() throws ASTNotImplementedException { + List decls = new ArrayList(1); + decls.add( getOwnedDeclaration() ); + return decls.iterator(); + } + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; + /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTScope#getDeclarations() - */ - public Iterator getDeclarations() throws ASTNotImplementedException { - List decls = new ArrayList(1); - decls.add( getOwnedDeclaration() ); - return decls.iterator(); - } - } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateInstantiation.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateInstantiation.java index a51b03c0f01..59c1ef2f065 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateInstantiation.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateInstantiation.java @@ -19,7 +19,6 @@ import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration; import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; /** * @author jcamelon @@ -28,7 +27,7 @@ import org.eclipse.cdt.internal.core.parser.ast.Offsets; public class ASTTemplateInstantiation extends ASTDeclaration implements IASTTemplateInstantiation { private IASTDeclaration declaration; - private Offsets offsets = new Offsets(); + /** * @param scope @@ -56,38 +55,6 @@ public class ASTTemplateInstantiation extends ASTDeclaration implements IASTTemp } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber( offset, lineNumber ); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -126,20 +93,6 @@ public class ASTTemplateInstantiation extends ASTDeclaration implements IASTTemp } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation#getInstantiatedTemplate() */ public IASTTemplateDeclaration getInstantiatedTemplate() { @@ -154,5 +107,49 @@ public class ASTTemplateInstantiation extends ASTDeclaration implements IASTTemp // TODO Auto-generated method stub return null; } - + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateParameter.java index 221fcb53f75..dbf44b589c5 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateParameter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTemplateParameter.java @@ -21,7 +21,6 @@ import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement; import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration; import org.eclipse.cdt.core.parser.ast.IASTTemplateParameter; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; /** * @author jcamelon @@ -29,7 +28,6 @@ import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; */ public class ASTTemplateParameter implements IASTTemplateParameter, IASTOffsetableNamedElement { - private final NamedOffsets offsets = new NamedOffsets(); private final List templateParms; private final IASTParameterDeclaration parameter; private final ParamKind kind; @@ -119,82 +117,87 @@ public class ASTTemplateParameter implements IASTTemplateParameter, IASTOffsetab public String getName() { return identifier; } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } - /* (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.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() { - return offsets.getNameEndOffset(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffsetAndLineNumber(int, int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setNameEndOffsetAndLineNumber( offset, lineNumber ); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffsetAndLineNumber(int, int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber( offset, lineNumber ); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffsetAndLineNumber(int, int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - - /* (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#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() - */ - public int getEndingOffset() { - return offsets.getEndingOffset(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public final int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public final void setNameOffset(int o) + { + nameStartOffset = o; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public final int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTypedefDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTypedefDeclaration.java index 4ed42b26108..3915b9becfa 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTypedefDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTTypedefDeclaration.java @@ -18,7 +18,6 @@ import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier; import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; /** * @author jcamelon @@ -29,7 +28,6 @@ public class ASTTypedefDeclaration extends ASTDeclaration implements IASTTypedef protected static final ASTNotImplementedException NOT_IMPLEMENTED = new ASTNotImplementedException(); private final String name; private final IASTAbstractDeclaration mapping; - private NamedOffsets offsets = new NamedOffsets(); private final ASTQualifiedNamedElement qualifiedName; /** * @param scope @@ -61,120 +59,126 @@ public class ASTTypedefDeclaration extends ASTDeclaration implements IASTTypedef return mapping; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement#getFullyQualifiedName() */ - public int getNameOffset() + public String[] getFullyQualifiedName() { - return offsets.getNameOffset(); + return qualifiedName.getFullyQualifiedName(); } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ - public void setNameOffset(int o) + public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) { - offsets.setNameOffset(o); + try + { + requestor.acceptTypedefDeclaration(this); + } + catch (Exception e) + { + /* do nothing */ + } } /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor) + */ + public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager) + { + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor) + */ + public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) + { + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration#getFinalTypeSpecifier() + */ + public IASTTypeSpecifier getFinalTypeSpecifier() throws ASTNotImplementedException { + throw NOT_IMPLEMENTED; + } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } + + /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - + startingOffset = offset; + startingLineNumber = lineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); + endingOffset = offset; + endingLineNumber = lineNumber; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() */ - public int getStartingOffset() + public final int getStartingOffset() { - return offsets.getStartingOffset(); + return startingOffset; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() */ - public int getEndingOffset() + public final int getEndingOffset() { - return offsets.getEndingOffset(); + return endingOffset; } + /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTQualifiedNameElement#getFullyQualifiedName() + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() */ - public String[] getFullyQualifiedName() + public final int getNameOffset() { - return qualifiedName.getFullyQualifiedName(); + return nameStartOffset; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) */ - public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) + public final void setNameOffset(int o) { - try - { - requestor.acceptTypedefDeclaration(this); - } - catch (Exception e) - { - /* do nothing */ - } + nameStartOffset = o; } + /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enter(org.eclipse.cdt.core.parser.ISourceElementRequestor) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() */ - public void enterScope(ISourceElementRequestor requestor, IReferenceManager manager) + public final int getNameEndOffset() { + return nameEndOffset; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#exit(org.eclipse.cdt.core.parser.ISourceElementRequestor) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) */ - public void exitScope(ISourceElementRequestor requestor, IReferenceManager manager) + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) { + nameEndOffset = offset; + nameLineNumber = lineNumber; } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration#getFinalTypeSpecifier() - */ - public IASTTypeSpecifier getFinalTypeSpecifier() throws ASTNotImplementedException { - throw NOT_IMPLEMENTED; - } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTUsingDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTUsingDeclaration.java index 9d1b39f1f03..4866c384559 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTUsingDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTUsingDeclaration.java @@ -17,7 +17,6 @@ import org.eclipse.cdt.core.parser.ast.ASTNotImplementedException; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; /** * @author jcamelon @@ -53,35 +52,6 @@ public class ASTUsingDeclaration } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - private Offsets offsets = new Offsets(); - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -114,19 +84,49 @@ public class ASTUsingDeclaration { throw new ASTNotImplementedException(); } - + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingLine() { + return endingLineNumber; } - + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTUsingDirective.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTUsingDirective.java index d2af0ef14d8..c2a576c3d37 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTUsingDirective.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTUsingDirective.java @@ -16,7 +16,6 @@ import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition; import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTUsingDirective; import org.eclipse.cdt.core.parser.ast.IReferenceManager; -import org.eclipse.cdt.internal.core.parser.ast.Offsets; /** * @author jcamelon @@ -44,35 +43,6 @@ public class ASTUsingDirective return namespaceName; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - private Offsets offsets = new Offsets(); - /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#accept(org.eclipse.cdt.core.parser.ISourceElementRequestor) */ public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager) @@ -105,19 +75,49 @@ public class ASTUsingDirective { throw new ASTNotImplementedException(); } - + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset; /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() */ - public int getStartingLine() { - return offsets.getStartingLine(); + public final int getStartingLine() { + return startingLineNumber; } /* (non-Javadoc) * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() */ - public int getEndingLine() { - return offsets.getEndingLine(); + public final int getEndingLine() { + return endingLineNumber; } - + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTVariable.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTVariable.java index 7dfacd6a018..723b500ae88 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTVariable.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTVariable.java @@ -18,7 +18,6 @@ import org.eclipse.cdt.core.parser.ast.IASTScope; import org.eclipse.cdt.core.parser.ast.IASTVariable; import org.eclipse.cdt.core.parser.ast.IReferenceManager; import org.eclipse.cdt.internal.core.parser.ast.ASTQualifiedNamedElement; -import org.eclipse.cdt.internal.core.parser.ast.NamedOffsets; /** * @author jcamelon @@ -36,7 +35,6 @@ public class ASTVariable extends ASTDeclaration implements IASTVariable private final boolean isRegister; private final boolean isStatic; private final String name; - private NamedOffsets offsets = new NamedOffsets(); private final ASTQualifiedNamedElement qualifiedName; /** * @param scope @@ -133,48 +131,6 @@ public class ASTVariable extends ASTDeclaration implements IASTVariable return bitfieldExpression; } /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) - */ - public void setStartingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setStartingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) - */ - public void setEndingOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setEndingOffsetAndLineNumber(offset, lineNumber); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementStartingOffset() - */ - public int getStartingOffset() - { - return offsets.getStartingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getElementEndingOffset() - */ - public int getEndingOffset() - { - return offsets.getEndingOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getElementNameOffset() - */ - 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.IASTQualifiedNameElement#getFullyQualifiedName() */ public String[] getFullyQualifiedName() @@ -214,40 +170,88 @@ public class ASTVariable extends ASTDeclaration implements IASTVariable { return constructorExpression; } + + private int startingLineNumber, startingOffset, endingLineNumber, endingOffset, nameStartOffset, nameEndOffset, nameLineNumber; + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() + */ + public final int getStartingLine() { + return startingLineNumber; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() - */ - public int getNameEndOffset() - { - return offsets.getNameEndOffset(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) - */ - public void setNameEndOffsetAndLineNumber(int offset, int lineNumber) - { - offsets.setNameEndOffsetAndLineNumber(offset, lineNumber); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingLine() - */ - public int getStartingLine() { - return offsets.getStartingLine(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() + */ + public final int getEndingLine() { + return endingLineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() + */ + public final int getNameLineNumber() { + return nameLineNumber; + } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingLine() - */ - public int getEndingLine() { - return offsets.getEndingLine(); - } - /* (non-Javadoc) - * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameLineNumber() - */ - public int getNameLineNumber() { - return offsets.getNameLineNumber(); - } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setStartingOffset(int) + */ + public final void setStartingOffsetAndLineNumber(int offset, int lineNumber) + { + startingOffset = offset; + startingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#setEndingOffset(int) + */ + public final void setEndingOffsetAndLineNumber(int offset, int lineNumber) + { + endingOffset = offset; + endingLineNumber = lineNumber; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset() + */ + public final int getStartingOffset() + { + return startingOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset() + */ + public final int getEndingOffset() + { + return endingOffset; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameOffset() + */ + public final int getNameOffset() + { + return nameStartOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameOffset(int) + */ + public final void setNameOffset(int o) + { + nameStartOffset = o; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#getNameEndOffset() + */ + public final int getNameEndOffset() + { + return nameEndOffset; + } + /* (non-Javadoc) + * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement#setNameEndOffset(int) + */ + public final void setNameEndOffsetAndLineNumber(int offset, int lineNumber) + { + nameEndOffset = offset; + nameLineNumber = lineNumber; + } } |