mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
further removal of iterators
This commit is contained in:
parent
aa22210b4e
commit
c6c90a1e95
11 changed files with 71 additions and 51 deletions
|
@ -319,6 +319,9 @@ public class DeclarationWrapper implements IDeclaratorOwner
|
|||
{
|
||||
return declarators.iterator();
|
||||
}
|
||||
private List getDeclaratorsList(){
|
||||
return declarators;
|
||||
}
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
|
@ -397,10 +400,10 @@ public class DeclarationWrapper implements IDeclaratorOwner
|
|||
{
|
||||
|
||||
Declarator d = declarator.getOwnedDeclarator();
|
||||
Iterator i = d.getPointerOperators().iterator();
|
||||
List ptrOps = d.getPointerOperators();
|
||||
boolean isWithinClass = scope instanceof IASTClassSpecifier;
|
||||
boolean isFunction = (declarator.getParameters().size() != 0);
|
||||
if( !i.hasNext() )
|
||||
if( ptrOps.size() == 0 )
|
||||
{
|
||||
|
||||
if (isTypedef())
|
||||
|
@ -427,7 +430,7 @@ public class DeclarationWrapper implements IDeclaratorOwner
|
|||
declarator.getPointerOperators(),
|
||||
declarator.getArrayModifiers(),
|
||||
convertedParms,
|
||||
(ASTPointerOperator)i.next());
|
||||
(ASTPointerOperator)ptrOps.get( 0 ));
|
||||
|
||||
ITokenDuple nameDuple = ( d.getPointerOperatorNameDuple() != null ) ? TokenFactory.createTokenDuple( d.getPointerOperatorNameDuple(), d.getNameDuple() ) : d.getNameDuple();
|
||||
|
||||
|
@ -548,10 +551,10 @@ public class DeclarationWrapper implements IDeclaratorOwner
|
|||
for( int i = 0; i < currentParameters.size(); ++i )
|
||||
{
|
||||
DeclarationWrapper wrapper = (DeclarationWrapper)currentParameters.get(i);
|
||||
Iterator j = wrapper.getDeclarators();
|
||||
while (j.hasNext())
|
||||
List declarators = wrapper.getDeclaratorsList();
|
||||
for( int j = 0; j < declarators.size(); j++ )
|
||||
{
|
||||
Declarator declarator = (Declarator)j.next();
|
||||
Declarator declarator = (Declarator)declarators.get(j);
|
||||
|
||||
result.add(
|
||||
astFactory.createParameterDeclaration(
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
package org.eclipse.cdt.internal.core.parser;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.eclipse.cdt.core.parser.EndOfFileException;
|
||||
import org.eclipse.cdt.core.parser.IParserLogService;
|
||||
|
@ -250,12 +249,13 @@ public class SelectionParser extends ContextualParser {
|
|||
return;
|
||||
}
|
||||
int tokensFound = 0;
|
||||
Iterator i = tokenDuple.iterator();
|
||||
while( i.hasNext() )
|
||||
|
||||
for( IToken token = tokenDuple.getFirstToken(); token != null; token = token.getNext() )
|
||||
{
|
||||
IToken token = (IToken) i.next();
|
||||
if( token == firstTokenOfDuple ) ++tokensFound;
|
||||
if( token == lastTokenOfDuple ) ++tokensFound;
|
||||
if( token == tokenDuple.getLastToken() )
|
||||
break;
|
||||
}
|
||||
if( tokensFound == 2 )
|
||||
{
|
||||
|
|
|
@ -129,9 +129,10 @@ public class ASTAbstractDeclaration implements IASTAbstractDeclaration
|
|||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
{
|
||||
Iterator arrayMods = getArrayModifiers();
|
||||
while( arrayMods.hasNext() )
|
||||
((IASTArrayModifier)arrayMods.next()).acceptElement(requestor, manager);
|
||||
List arrayMods = getArrayModifiersList();
|
||||
int size = arrayMods.size();
|
||||
for( int i = 0; i< size; i++ )
|
||||
((IASTArrayModifier)arrayMods.get(i)).acceptElement(requestor, manager);
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate#enterScope(org.eclipse.cdt.core.parser.ISourceElementRequestor)
|
||||
|
|
|
@ -128,6 +128,11 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier
|
|||
{
|
||||
return new BaseIterator( (IDerivableContainerSymbol)getSymbol() );
|
||||
}
|
||||
|
||||
private List getBaseClausesList(){
|
||||
List clauses = ((IDerivableContainerSymbol)getSymbol()).getParents();
|
||||
return (clauses != null) ? clauses : Collections.EMPTY_LIST;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTClassSpecifier#getCurrentVisibilityMode()
|
||||
*/
|
||||
|
@ -175,10 +180,12 @@ public class ASTClassSpecifier extends ASTScope implements IASTClassSpecifier
|
|||
{
|
||||
/* do nothing */
|
||||
}
|
||||
Iterator i = getBaseClauses();
|
||||
while( i.hasNext() )
|
||||
List bases = getBaseClausesList();
|
||||
int size = bases.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
{
|
||||
IASTBaseSpecifier baseSpec = (IASTBaseSpecifier)i.next();
|
||||
IParentSymbol pw = (IParentSymbol)bases.get(i);
|
||||
IASTBaseSpecifier baseSpec = new ASTBaseSpecifier( pw.getParent(), pw.isVirtual(), pw.getAccess(), pw.getOffset(), pw.getReferences() );
|
||||
baseSpec.acceptElement(requestor, manager);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.cdt.core.parser.ISourceElementRequestor;
|
||||
|
|
|
@ -193,10 +193,10 @@ public class ASTFunction extends ASTScope implements IASTFunction
|
|||
*/
|
||||
protected void processParameterInitializersAndArrayMods(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
{
|
||||
Iterator i = parameters.iterator();
|
||||
while( i.hasNext() )
|
||||
int size = parameters.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
{
|
||||
IASTParameterDeclaration parm = (IASTParameterDeclaration)i.next();
|
||||
IASTParameterDeclaration parm = (IASTParameterDeclaration)parameters.get(i);
|
||||
if( parm.getDefaultValue() != null )
|
||||
parm.getDefaultValue().acceptElement(requestor, manager);
|
||||
Iterator arrays = parm.getArrayModifiers();
|
||||
|
|
|
@ -81,9 +81,10 @@ public class ASTInitializerClause implements IASTInitializerClause
|
|||
*/
|
||||
public void acceptElement(ISourceElementRequestor requestor, IReferenceManager manager)
|
||||
{
|
||||
Iterator i = getInitializers();
|
||||
while( i.hasNext() )
|
||||
((IASTInitializerClause)i.next()).acceptElement(requestor, manager);
|
||||
List initializers = getInitializersList();
|
||||
int size = initializers.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
((IASTInitializerClause)initializers.get(i)).acceptElement(requestor, manager);
|
||||
|
||||
if( assignmentExpression != null )
|
||||
assignmentExpression.acceptElement( requestor, manager );
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
***********************************************************************/
|
||||
package org.eclipse.cdt.internal.core.parser.ast.complete;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -159,10 +160,10 @@ public class ASTMethod extends ASTFunction implements IASTMethod
|
|||
{
|
||||
if( constructorChain != null )
|
||||
{
|
||||
Iterator i = getConstructorChainInitializers();
|
||||
while( i.hasNext() )
|
||||
List initializers = getConstructorChainInitializersList();
|
||||
for( int i = 0; i < initializers.size(); i++ )
|
||||
{
|
||||
IASTConstructorMemberInitializer c = (IASTConstructorMemberInitializer)i.next();
|
||||
IASTConstructorMemberInitializer c = (IASTConstructorMemberInitializer)initializers.get(i);
|
||||
c.acceptElement(requestor, manager);
|
||||
}
|
||||
}
|
||||
|
@ -204,6 +205,11 @@ public class ASTMethod extends ASTFunction implements IASTMethod
|
|||
if( constructorChain == null )
|
||||
return EmptyIterator.EMPTY_ITERATOR;
|
||||
return constructorChain.iterator();
|
||||
}
|
||||
public List getConstructorChainInitializersList(){
|
||||
if( constructorChain == null)
|
||||
return Collections.EMPTY_LIST;
|
||||
return constructorChain;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.core.parser.ast.IASTMethod#getOwnerClassSpecifier()
|
||||
|
|
|
@ -206,10 +206,11 @@ public class ASTTypeId implements IASTTypeId
|
|||
if( tokenDuple != null )
|
||||
tokenDuple.acceptElement( requestor, manager );
|
||||
|
||||
Iterator arrayMods = getArrayModifiers();
|
||||
while( arrayMods.hasNext() )
|
||||
List arrayMods = getArrayModifiersList();
|
||||
int size = arrayMods.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
{
|
||||
((IASTArrayModifier)arrayMods.next()).acceptElement(requestor, manager);
|
||||
((IASTArrayModifier)arrayMods.get(i)).acceptElement(requestor, manager);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1144,15 +1144,17 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
|
||||
if( createConstructorReference( symbol, exp, duple, references ) ){
|
||||
//if we have a constructor reference, get rid of the class reference.
|
||||
Iterator i = ((ASTTypeId)typeId).getReferences().iterator();
|
||||
while( i.hasNext() )
|
||||
List refs = ((ASTTypeId)typeId).getReferences();
|
||||
int size = refs.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
{
|
||||
ReferenceCache.ASTReference ref = (ReferenceCache.ASTReference) i.next();
|
||||
ReferenceCache.ASTReference ref = (ReferenceCache.ASTReference) refs.get(i);
|
||||
if( CharArrayUtils.equals( ref.getNameCharArray(), duple.toCharArray() ) &&
|
||||
ref.getOffset() == duple.getStartOffset() )
|
||||
{
|
||||
cache.returnReference( ref );
|
||||
i.remove();
|
||||
refs.remove( i-- );
|
||||
size--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1206,16 +1208,18 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
kind == Kind.POSTFIX_DOT_IDEXPRESSION || kind == Kind.POSTFIX_DOT_TEMPL_IDEXPRESS )
|
||||
{
|
||||
ASTExpression astExpression = (ASTExpression) rhs;
|
||||
Iterator refs = astExpression.getReferences().iterator();
|
||||
char[] idExpression = astExpression.getIdExpressionCharArray();
|
||||
if( idExpression.length > 0 ) //$NON-NLS-1$
|
||||
{
|
||||
while( refs.hasNext() )
|
||||
List refs = astExpression.getReferences();
|
||||
int size = refs.size();
|
||||
for( int i = 0; i < size; i++ )
|
||||
{
|
||||
IASTReference r = (IASTReference) refs.next();
|
||||
IASTReference r = (IASTReference) refs.get(i);
|
||||
if( CharArrayUtils.equals( r.getNameCharArray(), idExpression ) )
|
||||
{
|
||||
refs.remove();
|
||||
refs.remove(i--);
|
||||
size--;
|
||||
cache.returnReference(r);
|
||||
}
|
||||
}
|
||||
|
@ -2151,7 +2155,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
|
||||
symbol.prepareForParameters( parameters.size() );
|
||||
setParameter( symbol, returnType, false, references );
|
||||
setParameters( symbol, references, parameters.iterator() );
|
||||
setParameters( symbol, references, parameters );
|
||||
|
||||
symbol.setIsForwardDeclaration(!isFunctionDefinition);
|
||||
boolean previouslyDeclared = false;
|
||||
|
@ -2213,11 +2217,12 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
* @param symbol
|
||||
* @param iterator
|
||||
*/
|
||||
protected void setParameters(IParameterizedSymbol symbol, List references, Iterator iterator) throws ASTSemanticException
|
||||
protected void setParameters(IParameterizedSymbol symbol, List references, List params) throws ASTSemanticException
|
||||
{
|
||||
while( iterator.hasNext() )
|
||||
int size = params.size();
|
||||
for( int i = 0; i < size; i++)
|
||||
{
|
||||
setParameter( symbol, (IASTParameterDeclaration)iterator.next(), true, references );
|
||||
setParameter( symbol, (IASTParameterDeclaration)params.get(i), true, references );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2489,7 +2494,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
symbol.prepareForParameters( parameters.size() );
|
||||
if( returnType.getTypeSpecifier() != null )
|
||||
setParameter( symbol, returnType, false, references );
|
||||
setParameters( symbol, references, parameters.iterator() );
|
||||
setParameters( symbol, references, parameters );
|
||||
|
||||
IASTClassSpecifier classifier = null;
|
||||
if( scope instanceof IASTTemplateDeclaration ){
|
||||
|
@ -2555,7 +2560,6 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
{
|
||||
functionDeclaration.setForwardSymbol( symbol );
|
||||
// set the definition visibility = declaration visibility
|
||||
// ASTMethodReference reference = (ASTMethodReference) functionReferences.iterator().next();
|
||||
visibility = ((IASTMethod)(functionDeclaration.getASTExtension().getPrimaryDeclaration())).getVisiblity();
|
||||
}
|
||||
}
|
||||
|
@ -2963,8 +2967,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
|
|||
{
|
||||
previouslyDeclared = true;
|
||||
fieldDeclaration.setForwardSymbol( newSymbol );
|
||||
// // set the definition visibility = declaration visibility
|
||||
// ASTReference reference = (ASTReference) fieldReferences.iterator().next();
|
||||
// set the definition visibility = declaration visibility
|
||||
visibility = ((IASTField)fieldDeclaration.getASTExtension().getPrimaryDeclaration()).getVisiblity();
|
||||
}
|
||||
provider.returnTypeInfo( newInfo );
|
||||
|
|
|
@ -449,13 +449,12 @@ public class BasicTokenDuple implements ITokenDuple {
|
|||
if( duple == null ) return false;
|
||||
boolean foundFirst = false;
|
||||
boolean foundLast = false;
|
||||
Iterator i = iterator();
|
||||
while( i.hasNext() )
|
||||
for( IToken current = getFirstToken(); current != null; current = current.getNext() )
|
||||
{
|
||||
IToken current = (IToken) i.next();
|
||||
if( current == firstToken ) foundFirst = true;
|
||||
if( current == lastToken ) foundLast = true;
|
||||
if( foundFirst && foundLast ) break;
|
||||
if( current == duple.getFirstToken() ) foundFirst = true;
|
||||
if( current == duple.getLastToken() ) foundLast = true;
|
||||
if( foundFirst && foundLast ) break;
|
||||
if( current == getLastToken() ) break;
|
||||
}
|
||||
|
||||
return ( foundFirst && foundLast );
|
||||
|
|
Loading…
Add table
Reference in a new issue