protected static class TypeDefinitionBase.TypeIterator extends Object implements Iterator<ITypeDefinition>
Modifier and Type | Field and Description |
---|---|
protected FastStack<IClassDefinition> |
classesWithInterfaces
Keep track of classes that implement interfaces, as we may need to iterate the interfaces
|
protected ICompilerProject |
project |
protected FastStack<ITypeDefinition> |
stack |
protected Set<ITypeDefinition> |
visited |
Constructor and Description |
---|
TypeDefinitionBase.TypeIterator(ICompilerProject project,
ITypeDefinition initialType,
boolean skipInitial) |
Modifier and Type | Method and Description |
---|---|
boolean |
hasNext() |
protected void |
init(ITypeDefinition initialType,
boolean skipThis) |
ITypeDefinition |
next() |
protected void |
push(ITypeDefinition type) |
protected void |
pushChildren(ITypeDefinition type) |
protected void |
pushInterfaces()
Push the implemented interfaces of the last class with implemented interfaces
|
void |
remove() |
protected final ICompilerProject project
protected final FastStack<ITypeDefinition> stack
protected final Set<ITypeDefinition> visited
protected final FastStack<IClassDefinition> classesWithInterfaces
public TypeDefinitionBase.TypeIterator(ICompilerProject project, ITypeDefinition initialType, boolean skipInitial)
public boolean hasNext()
hasNext
in interface Iterator<ITypeDefinition>
public ITypeDefinition next()
next
in interface Iterator<ITypeDefinition>
protected void pushInterfaces()
public void remove()
remove
in interface Iterator<ITypeDefinition>
protected void init(ITypeDefinition initialType, boolean skipThis)
protected void push(ITypeDefinition type)
protected void pushChildren(ITypeDefinition type)
Copyright © 2016 The Apache Software Foundation. All rights reserved.