/** * * @param fsLeafIndexImpl the leaf index this iterator is over * @param detectIllegalIndexUpdates may be null */ public FSIntIteratorImplBase(FSLeafIndexImpl<T> fsLeafIndexImpl, int[] detectIllegalIndexUpdates) { this.fsLeafIndexImpl = fsLeafIndexImpl; this.typeCode = (detectIllegalIndexUpdates == null) ? 0 : fsLeafIndexImpl.getTypeCode(); this.detectIllegalIndexUpdates = detectIllegalIndexUpdates; resetConcurrentModification(); }
private <T extends FeatureStructure> IntPointerIterator createLeafPointerIterator(IndexIteratorCachePair<? extends FeatureStructure> iicp) { FSLeafIndexImpl<T> leafIndex = (FSLeafIndexImpl<T>) iicp.fsLeafIndex; return leafIndex.pointerIterator(leafIndex, this.detectIllegalIndexUpdates, leafIndex.getTypeCode()); }
sortedTypeCodes[i] = leafIndex.getTypeCode();
int tc1 = fsLeafIndex.getTypeCode(); int tc2 = ((TypeImpl)(flatArray[i-1].getType())).getCode(); if (!subsumes(tc1, tc2)) {
/** * Constructor * * @param iicp the sorted index for a type being cached */ public FSIndexFlat(IndexIteratorCachePair<T> iicp) { this.iicp = iicp; indexUpdateCountsResetValues = iicp.createIndexUpdateCountsAtReset(); debugTypeCode = iicp.getFsLeafIndex().getTypeCode(); casResetCount = iicp.getCASImpl().getCasResets(); casId = iicp.getCASImpl().getCasId(); }
return null; int topCode = iicp.getFsLeafIndex().getTypeCode(); String m; if (topCode != debugTypeCode || topCode != iicp.getFsLeafIndex().getTypeCode()) { m = String.format("TypeCodesWrong: iicp[0]: %d, original=%d, leafindex=%d%n", topCode, debugTypeCode, iicp.getFsLeafIndex().getTypeCode()); } else m = "topCode still OK, was " + topCode;