edu.isi.stella
Class AllPurposeIterator

java.lang.Object
  extended by edu.isi.stella.Stella_Object
      extended by edu.isi.stella.StandardObject
          extended by edu.isi.stella.AbstractIterator
              extended by edu.isi.stella.Iterator
                  extended by edu.isi.stella.AllPurposeIterator

public class AllPurposeIterator
extends Iterator

The all-purpose iterator works by storing a nextP function within itself during iterator allocation. The method ALL_PURPOSE_ITERAORDnextP funcalls the stored nextP function. An assortment of storage slots are provided for constructing different kinds of iterators.


Field Summary
 Cons iteratorConsList
           
 java.lang.reflect.Method iteratorEmptyCode
           
 java.lang.reflect.Method iteratorFilterCode
           
 int iteratorInteger
           
 Iterator iteratorNestedIterator
           
 java.lang.reflect.Method iteratorNextCode
           
 Stella_Object iteratorObject
           
 int iteratorSecondInteger
           
 Stella_Object iteratorSecondObject
           
 Stella_Object key
           
 
Fields inherited from class edu.isi.stella.Iterator
value
 
Fields inherited from class edu.isi.stella.AbstractIterator
firstIterationP
 
Constructor Summary
AllPurposeIterator()
           
 
Method Summary
static Stella_Object accessAllPurposeIteratorSlotValue(AllPurposeIterator self, Symbol slotname, Stella_Object value, boolean setvalueP)
           
static boolean allClassesNextP(AllPurposeIterator self)
           
static boolean allFunctionsNextP(AllPurposeIterator self)
           
static boolean allSubcontextsNextP(AllPurposeIterator self)
           
static boolean allSurrogatesNextP(AllPurposeIterator self)
           
static boolean allSymbolsNextP(AllPurposeIterator self)
           
static boolean allTaxonomyNodesNextP(AllPurposeIterator self)
           
static boolean allTopdownSubcontextsNextP(AllPurposeIterator self)
           
static boolean allVariablesNextP(AllPurposeIterator self)
           
static boolean butLastNextP(AllPurposeIterator self)
           
static boolean classMethodsNextP(AllPurposeIterator self)
           
static boolean classStorageSlotsNextP(AllPurposeIterator self)
           
static boolean classTablesNextP(AllPurposeIterator self)
           
 boolean emptyP()
          Return TRUE if the sequence represented by 'self' has no elements.
static boolean filteredConcatenatedIteratorNextP(AllPurposeIterator self)
           
static boolean filteredNestedIteratorNextP(AllPurposeIterator self)
           
 void free()
          Default method.
static boolean iteratorConsListEmptyP(AllPurposeIterator self)
           
static boolean iteratorConsListNextP(AllPurposeIterator self)
           
static AllPurposeIterator newAllPurposeIterator()
           
 boolean nextP()
          Apply the stored 'next?' function to 'self'.
 Surrogate primaryType()
          Returns the primary type of self.
static boolean selectedMetaObjectP(AllPurposeIterator self, Module objectmodule)
           
static boolean slotsNextP(AllPurposeIterator self)
           
 boolean terminateAllPurposeIteratorP()
           
static boolean vectorNextP(AllPurposeIterator self)
           
 
Methods inherited from class edu.isi.stella.Iterator
advance, concatenate, consify, listify, memberP, pop, printClassList
 
Methods inherited from class edu.isi.stella.AbstractIterator
accessAbstractIteratorSlotValue, allocateIterator, length
 
Methods inherited from class edu.isi.stella.StandardObject
arrayTypeSpecifierP, baseTypeToTypeSpec, cantOverwriteActiveCollectionSlot, compatibleParameterTypesP, computeAnchoredTypeSpec, computeRelativeTypeSpec, conformingTypeSpecP, copyWrappedLiteral, cppNonPointerTypeP, cppReferenceTypeP, cppReferencizeType, cppTranslateAndPointerizeTypeSpec, cppTranslateAndReferencizeTypeSpec, cppTranslateTypeSpec, cppTypeWithoutInteriorPointersP, dropSlotValue, extractParameterType, extractRequiredArgumentValues, getSlot, hashCode_, idlTranslateTypeSpec, inverseSlotDemon, javaLiteralP, javaNativeLiteralWrapperNames, javaSpecialSetterName, javaTranslateArrayOfTypeSpec, javaTranslateTypeSpec, javaTranslateTypeSpecForFunction, javaTranslateTypeSpecHelper, javaYieldClassObjectArrayExpression, javaYieldClassObjectExpression, javaYieldFullyQualifiedTypeName, javaYieldTranslatedClassAndMethodNames, listifyTypeSpec, lookupClTypeFromStellaType, objectEqlP, putSlotValue, readSlotValue, runConstructorDemons, runDestructorDemons, runSlotDemons, runSlotGuardDemonsP, standardObjectP, subTypeSpecOfP, twoArgumentLeastCommonSupertype, typeSpecToBaseType, typeSpecToClass, typeToWalkedNullValueTree, validateTypeSpecifier, voidP, walkTypeSpecIsNativeTypeP, writeSlotValue, yieldTypeSpecTree
 
Methods inherited from class edu.isi.stella.Stella_Object
_, accessInContext, addPropertyValue, amPm, anchoredTypeSpecifierP, andOrNotTreeP, applyCoercionMethod, atomicExpressionP, bindToSurrogateP, booleanP, bootstrapIsaP, bquotify, cast, characterP, chooseSortPredicate, clConditionalizeTypeDeclarationTree, clTranslateAtomicTree, clTranslateATree, clTranslateBooleanTest, clTranslatePlainBooleanTest, clTranslateVerbatimBodySymbols, clYieldTypedExpressionTree, coerceATree, coerceEvaluatedTree, coerceMvTree, coerceOptionValue, coerceToBoolean, coerceToFloat, coerceToHashSet, coerceToModule, coerceToModuleName, coerceToString, coerceToSymbol, coerceToXmlElement, coerceValueToBoolean, coerceValueToFloat, coerceValueToString, coerceValueToType, coercibleP, collectFeatureList, collectKeyValueList, commonLispSymbolP, computeExpressionType, consifyListsAndIterators, consP, consTreeMatchP, convertToLiteral, copyConsTree, cppArgumentIsStreamP, cppBinaryOperatorP, cppBlockP, cppMaybeOutputStatementWithParentheses, cppOperatorP, cppOutputAtomicExpression, cppOutputLiteral, cppOutputOneActualParameter, cppOutputStatement, cppOutputTypedEntity, cppPrognifyStatement, cppPrognP, cppStatementToList, cppStreamIsStandardOutputP, cpptrans, cppTranslateAtomicTree, cppTranslateATree, cppTranslatedArrayTypeP, csValueP, dateDivider, dateTimeDivider, day, dealWithAmPm, dealWithEra, dealWithNoonMidn, decrementReferenceCount, defaultOptionHandler, defineSystem, defmodule, deletedP, describe, describeObject, describeTersely, destructureMethodNameTree, deUglifyParseTree, either, eqlP, eqlToBooleanP, eqlToCharacterP, eqlToFloatP, eqlToIntegerP, eqlToLongIntegerP, eqlToStringP, equalConsTreesP, equalHashCode, equalP, era, estimatedEvaluationCost, evaluate, evaluateArgumentTree, evaluateAtomicTree, evaluateCommand, expandBquoteTree, filterModuleP, floatP, get, getObject, getProperty, hashlist, hashMemoizedArguments, helpBquotify, helpClTranslateATree, helpCoerceATree, helpLptrans, helpPrintOutline, helpTransformBooleanProceduralExpression, helpWalkATree, homeModule, hour, idlOutputAtomicExpression, idlOutputLiteral, idlOutputStatement, idlTranslateAtomicTree, idlTranslateATree, illegalTreeP, implodePathname, incrementallyTranslate, incrementReferenceCount, inlineUnwrapBoolean, inlineWrapBoolean, inModule, integerP, isaP, javaBinaryOperatorP, javaBlockP, javaEndOfLineTokenP, javaHelpOutputPrintStream, javaMaybeOutputStatementWithParentheses, javaOperatorP, javaOutputLiteral, javaOutputStatement, javaPrognP, javaStreamIsStandardOutputP, javaSymbolCaseP, javaTranslateAtomicTree, javaTranslateATree, javaTranslateWithNativeWrapper, jptrans, keywordP, legalTokenizerFromStateP, legalTokenizerStateP, legalTokenizerToStateP, literalEqlP, logLevelLE, longIntegerP, lptrans, makeEvaluatableBquoteTree, makeFileNameFromRelativePath, makeMemoizedValueEntry, makeMemoizedValueEntryn, matchConsTree, methodSlotP, minute, month, nameToString, nilP, noonMidn, numberWrapperToFloat, objectEqualP, objectHashCode, one, oneI, onlyIf, parametricTypeSpecifierP, parseArrayDimensionsSpec, parseOptions, parseTokenizerCharacterSpec, parseTokenizerStateModifiers, permanentCopy, permanentify, permanentifyForm, po, prettyPrintLiteral, primaryClass, printObject, printOutline, printStellaCode, printStellaDefinition, printUndefinedSuperClasses, proceduralExpressionP, ptrans, publicSlots, registerRecycledItem, runOptionHandlerP, safeEqualHashCode, safeHashCode, safePrimaryType, safeYieldTypeSpecifier, searchConsTreeP, searchConsTreeWithFilterP, searchForObject, secondp, setProperty, sideEffectFreeExpressionP, simplifyBquoteTree, specialp, stella_Increment, stellaClassP, stellaCollectionP, stellaNeedToCompileP, stellaNeedToTranslateP, stellaObjectP, stellify, storageSlotP, stringifyInModule, stringP, substituteConsTree, substituteOnce, surrogateP, surrogatify, sweep, symbolCaseP, symbolP, sysTree, targetLanguageType, taxonomyIsaP, timeDivider, timeMultiply, tokenizerIncludeSpecP, tokenizerToStateAlias, tokenizerToStateName, toString, traceIf, traceKeywordP, transientifyForm, transientObjectP, transientSymbolP, translateWalkedTree, treeSize, treeToTrees, trueOptionP, tryToEvaluate, typeP, typify, unmake, unregisterRecycledItem, updateInContext, valuesTreeP, variableExpressionP, verbatimStringP, verbatimTreeP, vetOptions, vrletExpressionP, walkAtomicTree, walkATree, walkCollectionTree, walkDontCallMeTree, walkedExpressionExpression, walkedExpressionType, walkExpressionTree, walkMvExpressionTree, walkMvTree, walkStatement, walkTopLevelExpression, walkWithoutTypeTree, warnAboutUnknownSourceType, weekday, withinContext, withinModule, withinWorld, withStellaTokenizer, withSystemDefinition, withTokenizer, wrapperP, wrapWhereTest, xmlAttributeP, xmlBaseAttributeP, xmlCdataFormP, xmlCdataP, xmlDeclarationFormP, xmlDeclarationP, xmlDoctypeFormP, xmlElementFormP, xmlElementP, xmlGlobalAttributeP, xmlLocalAttributeP, xmlnsAttributeP, xmlProcessingInstructionFormP, xmlProcessingInstructionP, xmlTagCase, year, yieldCondTest, yieldCondTestOrTests, yieldHardcodedCaseSymbolIdOrIds, yieldInCursorClausesForArgumentList, yieldInCursorClausesForGeneralCollection, yieldInCursorClausesForVector, yieldTypeSpecifier, zone, zoneMinute
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

key

public Stella_Object key

iteratorNextCode

public java.lang.reflect.Method iteratorNextCode

iteratorFilterCode

public java.lang.reflect.Method iteratorFilterCode

iteratorEmptyCode

public java.lang.reflect.Method iteratorEmptyCode

iteratorNestedIterator

public Iterator iteratorNestedIterator

iteratorConsList

public Cons iteratorConsList

iteratorObject

public Stella_Object iteratorObject

iteratorSecondObject

public Stella_Object iteratorSecondObject

iteratorInteger

public int iteratorInteger

iteratorSecondInteger

public int iteratorSecondInteger
Constructor Detail

AllPurposeIterator

public AllPurposeIterator()
Method Detail

newAllPurposeIterator

public static AllPurposeIterator newAllPurposeIterator()

allTopdownSubcontextsNextP

public static boolean allTopdownSubcontextsNextP(AllPurposeIterator self)

allSubcontextsNextP

public static boolean allSubcontextsNextP(AllPurposeIterator self)

classTablesNextP

public static boolean classTablesNextP(AllPurposeIterator self)

classStorageSlotsNextP

public static boolean classStorageSlotsNextP(AllPurposeIterator self)

classMethodsNextP

public static boolean classMethodsNextP(AllPurposeIterator self)

slotsNextP

public static boolean slotsNextP(AllPurposeIterator self)

allClassesNextP

public static boolean allClassesNextP(AllPurposeIterator self)

allSurrogatesNextP

public static boolean allSurrogatesNextP(AllPurposeIterator self)

allVariablesNextP

public static boolean allVariablesNextP(AllPurposeIterator self)

allFunctionsNextP

public static boolean allFunctionsNextP(AllPurposeIterator self)

allSymbolsNextP

public static boolean allSymbolsNextP(AllPurposeIterator self)

selectedMetaObjectP

public static boolean selectedMetaObjectP(AllPurposeIterator self,
                                          Module objectmodule)

filteredConcatenatedIteratorNextP

public static boolean filteredConcatenatedIteratorNextP(AllPurposeIterator self)

iteratorConsListEmptyP

public static boolean iteratorConsListEmptyP(AllPurposeIterator self)

iteratorConsListNextP

public static boolean iteratorConsListNextP(AllPurposeIterator self)

filteredNestedIteratorNextP

public static boolean filteredNestedIteratorNextP(AllPurposeIterator self)

terminateAllPurposeIteratorP

public boolean terminateAllPurposeIteratorP()

emptyP

public boolean emptyP()
Description copied from class: Iterator
Return TRUE if the sequence represented by 'self' has no elements. Side-effect free.

Overrides:
emptyP in class Iterator
Returns:
boolean

nextP

public boolean nextP()
Apply the stored 'next?' function to 'self'.

Overrides:
nextP in class AbstractIterator
Returns:
boolean

vectorNextP

public static boolean vectorNextP(AllPurposeIterator self)

butLastNextP

public static boolean butLastNextP(AllPurposeIterator self)

allTaxonomyNodesNextP

public static boolean allTaxonomyNodesNextP(AllPurposeIterator self)

accessAllPurposeIteratorSlotValue

public static Stella_Object accessAllPurposeIteratorSlotValue(AllPurposeIterator self,
                                                              Symbol slotname,
                                                              Stella_Object value,
                                                              boolean setvalueP)

primaryType

public Surrogate primaryType()
Description copied from class: Stella_Object
Returns the primary type of self. Gets defined automatically for every non-abstract subclass of OBJECT.

Overrides:
primaryType in class Stella_Object
Returns:
Surrogate

free

public void free()
Description copied from class: Stella_Object
Default method. Deallocate storage for self.

Overrides:
free in class Stella_Object