From 35445d8587fd1f7092a72aa5b9a078d3422b4d68 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Wed, 23 Nov 2016 15:11:02 +0100 Subject: [PATCH] three implementation specific methods were removed from api --- .../ChangeTrackingValueContainer.java | 4 ++-- .../util/indexing/FileBasedIndexImpl.java | 6 ++--- .../util/indexing/FileId2ValueMapping.java | 2 +- ...l.java => InvertedIndexValueIterator.java} | 2 +- .../util/indexing/MapIndexStorage.java | 2 +- .../indexing/UpdatableValueContainer.java | 7 ++++++ .../util/indexing/ValueContainerImpl.java | 23 +++++++++--------- .../util/indexing/ValueContainerMap.java | 10 ++++---- .../containers/ChangeBufferingList.java | 10 ++++---- .../util/indexing/containers/IdBitSet.java | 6 ++--- .../util/indexing/containers/IdSet.java | 5 ++-- .../indexing/containers/IntIdsIterator.java | 24 +++++++++++++++++++ .../containers/RandomAccessIntContainer.java | 3 +-- .../containers/SortedFileIdSetIterator.java | 9 ++++--- .../util/indexing/containers/SortedIdSet.java | 7 +++--- .../containers/TroveSetIntIterator.java | 7 +++--- .../util/indexing/ValueContainer.java | 9 ------- 17 files changed, 77 insertions(+), 59 deletions(-) rename platform/lang-impl/src/com/intellij/util/indexing/{ValueIteratorImpl.java => InvertedIndexValueIterator.java} (90%) create mode 100644 platform/lang-impl/src/com/intellij/util/indexing/containers/IntIdsIterator.java diff --git a/platform/lang-impl/src/com/intellij/util/indexing/ChangeTrackingValueContainer.java b/platform/lang-impl/src/com/intellij/util/indexing/ChangeTrackingValueContainer.java index 6679a10040ab..048a4adde898 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/ChangeTrackingValueContainer.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/ChangeTrackingValueContainer.java @@ -158,7 +158,7 @@ class ChangeTrackingValueContainer extends UpdatableValueContainer needsCompacting(); } - public @Nullable ValueContainer getAddedDelta() { + public @Nullable UpdatableValueContainer getAddedDelta() { return myAdded; } @@ -174,7 +174,7 @@ class ChangeTrackingValueContainer extends UpdatableValueContainer } } - final ValueContainer toAppend = getAddedDelta(); + final UpdatableValueContainer toAppend = getAddedDelta(); if (toAppend != null && toAppend.size() > 0) { toAppend.saveTo(out, externalizer); } diff --git a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java index 7f770c9c17b6..e2fb9c6cbeea 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java @@ -914,9 +914,9 @@ public class FileBasedIndexImpl extends FileBasedIndex { @NotNull K dataKey, @Nullable VirtualFile restrictToFile, @NotNull GlobalSearchScope scope, - @NotNull Processor> valueProcessor) { + @NotNull Processor> valueProcessor) { final Boolean result = processExceptions(indexId, restrictToFile, scope, - index -> valueProcessor.process((ValueIteratorImpl)index.getData(dataKey).getValueIterator())); + index -> valueProcessor.process((InvertedIndexValueIterator)index.getData(dataKey).getValueIterator())); return result == null || result.booleanValue(); } @@ -1065,7 +1065,7 @@ public class FileBasedIndexImpl extends FileBasedIndex { final TIntHashSet copy = new TIntHashSet(); final ValueContainer container = index.getData(dataKey); - for (ValueIteratorImpl valueIt = (ValueIteratorImpl)container.getValueIterator(); valueIt.hasNext(); ) { + for (InvertedIndexValueIterator valueIt = (InvertedIndexValueIterator)container.getValueIterator(); valueIt.hasNext(); ) { final V value = valueIt.next(); if (valueChecker != null && !valueChecker.value(value)) { continue; diff --git a/platform/lang-impl/src/com/intellij/util/indexing/FileId2ValueMapping.java b/platform/lang-impl/src/com/intellij/util/indexing/FileId2ValueMapping.java index 48f5e6127a0f..eed732eac356 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/FileId2ValueMapping.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/FileId2ValueMapping.java @@ -73,7 +73,7 @@ class FileId2ValueMapping { valueContainer.removeValue(inputId, mapped); } if (DebugAssertions.EXTRA_SANITY_CHECKS && myOnePerFileValidationEnabled) { - for (final ValueIteratorImpl valueIterator = valueContainer.getValueIterator(); valueIterator.hasNext();) { + for (final InvertedIndexValueIterator valueIterator = valueContainer.getValueIterator(); valueIterator.hasNext();) { valueIterator.next(); DebugAssertions.assertTrue(!valueIterator.getValueAssociationPredicate().contains(inputId)); } diff --git a/platform/lang-impl/src/com/intellij/util/indexing/ValueIteratorImpl.java b/platform/lang-impl/src/com/intellij/util/indexing/InvertedIndexValueIterator.java similarity index 90% rename from platform/lang-impl/src/com/intellij/util/indexing/ValueIteratorImpl.java rename to platform/lang-impl/src/com/intellij/util/indexing/InvertedIndexValueIterator.java index 93e91e53b4ca..c7ed86d94f9b 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/ValueIteratorImpl.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/InvertedIndexValueIterator.java @@ -20,7 +20,7 @@ import org.jetbrains.annotations.NotNull; /** * Created by Maxim.Mossienko on 11/22/2016. */ -interface ValueIteratorImpl extends ValueContainer.ValueIterator { +interface InvertedIndexValueIterator extends ValueContainer.ValueIterator { @NotNull IntPredicate getValueAssociationPredicate(); diff --git a/platform/lang-impl/src/com/intellij/util/indexing/MapIndexStorage.java b/platform/lang-impl/src/com/intellij/util/indexing/MapIndexStorage.java index 7dc4c304040a..e0fdf9f73472 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/MapIndexStorage.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/MapIndexStorage.java @@ -53,7 +53,7 @@ public final class MapIndexStorage implements IndexStorage> myMap; + private PersistentMap> myMap; private AppendableStorageBackedByResizableMappedFile myKeyHashToVirtualFileMapping; private SLRUCache> myCache; private volatile int myLastScannedId; diff --git a/platform/lang-impl/src/com/intellij/util/indexing/UpdatableValueContainer.java b/platform/lang-impl/src/com/intellij/util/indexing/UpdatableValueContainer.java index 9b5770ec0c71..2b41f52b93eb 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/UpdatableValueContainer.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/UpdatableValueContainer.java @@ -16,6 +16,11 @@ package com.intellij.util.indexing; +import com.intellij.util.io.DataExternalizer; + +import java.io.DataOutput; +import java.io.IOException; + /** * @author Eugene Zhuravlev * Date: Feb 27, 2008 @@ -35,4 +40,6 @@ public abstract class UpdatableValueContainer extends ValueContainer{ void setNeedsCompacting(boolean value) { myNeedsCompacting = value; } + + public abstract void saveTo(DataOutput out, DataExternalizer externalizer) throws IOException; } diff --git a/platform/lang-impl/src/com/intellij/util/indexing/ValueContainerImpl.java b/platform/lang-impl/src/com/intellij/util/indexing/ValueContainerImpl.java index d39fa1f150bb..d1e5b76bbe72 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/ValueContainerImpl.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/ValueContainerImpl.java @@ -21,6 +21,7 @@ import com.intellij.util.SmartList; import com.intellij.util.containers.EmptyIterator; import com.intellij.util.indexing.containers.ChangeBufferingList; import com.intellij.util.indexing.containers.IdSet; +import com.intellij.util.indexing.containers.IntIdsIterator; import com.intellij.util.io.DataExternalizer; import com.intellij.util.io.DataInputOutputUtil; import gnu.trove.THashMap; @@ -84,7 +85,7 @@ class ValueContainerImpl extends UpdatableValueContainer implement if (myInputIdMapping == null) return; List fileSetObjects = null; List valueObjects = null; - for (final ValueIteratorImpl valueIterator = getValueIterator(); valueIterator.hasNext();) { + for (final InvertedIndexValueIterator valueIterator = getValueIterator(); valueIterator.hasNext();) { final Value value = valueIterator.next(); if (valueIterator.getValueAssociationPredicate().contains(inputId)) { @@ -142,10 +143,10 @@ class ValueContainerImpl extends UpdatableValueContainer implement @NotNull @Override - public ValueIteratorImpl getValueIterator() { + public InvertedIndexValueIterator getValueIterator() { if (myInputIdMapping != null) { if (!(myInputIdMapping instanceof THashMap)) { - return new ValueIteratorImpl() { + return new InvertedIndexValueIterator() { private Value value = (Value)myInputIdMapping; @NotNull @@ -184,7 +185,7 @@ class ValueContainerImpl extends UpdatableValueContainer implement } }; } else { - return new ValueIteratorImpl() { + return new InvertedIndexValueIterator() { private Value current; private Object currentValue; private final THashMap myMapping = ((THashMap)myInputIdMapping); @@ -233,7 +234,7 @@ class ValueContainerImpl extends UpdatableValueContainer implement } } - static class EmptyValueIterator extends EmptyIterator implements ValueIteratorImpl { + static class EmptyValueIterator extends EmptyIterator implements InvertedIndexValueIterator { @NotNull @Override @@ -311,7 +312,7 @@ class ValueContainerImpl extends UpdatableValueContainer implement } } - private static final IntIterator EMPTY_ITERATOR = new IntIterator() { + private static final IntIterator EMPTY_ITERATOR = new IntIdsIterator() { @Override public boolean hasNext() { return false; @@ -333,7 +334,7 @@ class ValueContainerImpl extends UpdatableValueContainer implement } @Override - public IntIterator createCopyInInitialState() { + public IntIdsIterator createCopyInInitialState() { return this; } }; @@ -410,7 +411,7 @@ class ValueContainerImpl extends UpdatableValueContainer implement public void saveTo(DataOutput out, DataExternalizer externalizer) throws IOException { DataInputOutputUtil.writeINT(out, size()); - for (final ValueIteratorImpl valueIterator = getValueIterator(); valueIterator.hasNext();) { + for (final InvertedIndexValueIterator valueIterator = getValueIterator(); valueIterator.hasNext();) { final Value value = valueIterator.next(); externalizer.save(out, value); Object fileSetObject = valueIterator.getFileSetObject(); @@ -420,7 +421,7 @@ class ValueContainerImpl extends UpdatableValueContainer implement } else { // serialize positive file ids with delta encoding ChangeBufferingList originalInput = (ChangeBufferingList)fileSetObject; - IntIterator intIterator = originalInput.sortedIntIterator(); + IntIdsIterator intIterator = originalInput.sortedIntIterator(); if (DebugAssertions.DEBUG) DebugAssertions.assertTrue(intIterator.hasAscendingOrder()); if (intIterator.size() == 1) { @@ -498,7 +499,7 @@ class ValueContainerImpl extends UpdatableValueContainer implement } } - private static class SingleValueIterator implements IntIterator { + private static class SingleValueIterator implements IntIdsIterator { private final int myValue; private boolean myValueRead = false; @@ -529,7 +530,7 @@ class ValueContainerImpl extends UpdatableValueContainer implement } @Override - public IntIterator createCopyInInitialState() { + public IntIdsIterator createCopyInInitialState() { return new SingleValueIterator(myValue); } } diff --git a/platform/lang-impl/src/com/intellij/util/indexing/ValueContainerMap.java b/platform/lang-impl/src/com/intellij/util/indexing/ValueContainerMap.java index e6789513ee35..6ff8441d813c 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/ValueContainerMap.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/ValueContainerMap.java @@ -26,7 +26,7 @@ import java.io.*; * @author Dmitry Avdeev * Date: 8/10/11 */ -class ValueContainerMap extends PersistentHashMap> { +class ValueContainerMap extends PersistentHashMap> { @NotNull private final DataExternalizer myValueExternalizer; private final boolean myKeyIsUniqueForIndexedFile; @@ -46,7 +46,7 @@ class ValueContainerMap extends PersistentHashMap container) throws IOException { + protected void doPut(Key key, UpdatableValueContainer container) throws IOException { synchronized (myEnumerator) { ChangeTrackingValueContainer valueContainer = (ChangeTrackingValueContainer)container; @@ -68,7 +68,7 @@ class ValueContainerMap extends PersistentHashMap implements DataExternalizer> { + private static final class ValueContainerExternalizer implements DataExternalizer> { @NotNull private final DataExternalizer myValueExternalizer; private ValueContainerExternalizer(@NotNull DataExternalizer valueExternalizer) { @@ -76,13 +76,13 @@ class ValueContainerMap extends PersistentHashMap container) throws IOException { + public void save(@NotNull final DataOutput out, @NotNull final UpdatableValueContainer container) throws IOException { container.saveTo(out, myValueExternalizer); } @NotNull @Override - public ValueContainerImpl read(@NotNull final DataInput in) throws IOException { + public UpdatableValueContainer read(@NotNull final DataInput in) throws IOException { final ValueContainerImpl valueContainer = new ValueContainerImpl<>(); valueContainer.readFrom((DataInputStream)in, myValueExternalizer); diff --git a/platform/lang-impl/src/com/intellij/util/indexing/containers/ChangeBufferingList.java b/platform/lang-impl/src/com/intellij/util/indexing/containers/ChangeBufferingList.java index 6464b8a51493..8758edbcd0f8 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/containers/ChangeBufferingList.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/containers/ChangeBufferingList.java @@ -282,7 +282,7 @@ public class ChangeBufferingList implements Cloneable { return predicate; } - public ValueContainer.IntIterator intIterator() { + public IntIdsIterator intIterator() { RandomAccessIntContainer intContainer = randomAccessContainer; if (intContainer == null && !hasRemovals) { int[] currentChanges = changes; @@ -298,8 +298,8 @@ public class ChangeBufferingList implements Cloneable { return getRandomAccessContainer().intIterator(); } - public ValueContainer.IntIterator sortedIntIterator() { - ValueContainer.IntIterator intIterator = intIterator(); + public IntIdsIterator sortedIntIterator() { + IntIdsIterator intIterator = intIterator(); if (!intIterator.hasAscendingOrder()) { intIterator = SortedFileIdSetIterator.getTransientIterator(intIterator); @@ -311,7 +311,7 @@ public class ChangeBufferingList implements Cloneable { return checkSet; } - private static class ChangesIterator implements ValueContainer.IntIterator { + private static class ChangesIterator implements IntIdsIterator { private int cursor; private final int length; private final int[] changes; @@ -346,7 +346,7 @@ public class ChangeBufferingList implements Cloneable { } @Override - public ValueContainer.IntIterator createCopyInInitialState() { + public IntIdsIterator createCopyInInitialState() { return new ChangesIterator(changes, length, sorted); } } diff --git a/platform/lang-impl/src/com/intellij/util/indexing/containers/IdBitSet.java b/platform/lang-impl/src/com/intellij/util/indexing/containers/IdBitSet.java index 266341b3cb9f..ba685a1ef414 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/containers/IdBitSet.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/containers/IdBitSet.java @@ -122,7 +122,7 @@ class IdBitSet implements Cloneable, RandomAccessIntContainer { } @Override - public ValueContainer.IntIterator intIterator() { + public IntIdsIterator intIterator() { return new Iterator(); } @@ -197,7 +197,7 @@ class IdBitSet implements Cloneable, RandomAccessIntContainer { return calcCapacity(((roundToNearest(max) - roundToNearest(min)) >> SHIFT) + 1) * 8; } - private class Iterator implements ValueContainer.IntIterator { + private class Iterator implements IntIdsIterator { private int nextSetBit = nextSetBit(0); @Override @@ -223,7 +223,7 @@ class IdBitSet implements Cloneable, RandomAccessIntContainer { } @Override - public ValueContainer.IntIterator createCopyInInitialState() { + public IntIdsIterator createCopyInInitialState() { return new Iterator(); } } diff --git a/platform/lang-impl/src/com/intellij/util/indexing/containers/IdSet.java b/platform/lang-impl/src/com/intellij/util/indexing/containers/IdSet.java index 23ad57050113..7c326679aec3 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/containers/IdSet.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/containers/IdSet.java @@ -16,7 +16,6 @@ package com.intellij.util.indexing.containers; import com.intellij.util.indexing.IntPredicate; -import com.intellij.util.indexing.ValueContainer; import gnu.trove.TIntHashSet; public class IdSet extends TIntHashSet implements RandomAccessIntContainer { @@ -47,7 +46,7 @@ public class IdSet extends TIntHashSet implements RandomAccessIntContainer { } @Override - public ValueContainer.IntIterator intIterator() { + public IntIdsIterator intIterator() { return new IntSetIterator(); } @@ -57,7 +56,7 @@ public class IdSet extends TIntHashSet implements RandomAccessIntContainer { } @Override - public ValueContainer.IntIterator createCopyInInitialState() { + public IntIdsIterator createCopyInInitialState() { return new IntSetIterator(); } } diff --git a/platform/lang-impl/src/com/intellij/util/indexing/containers/IntIdsIterator.java b/platform/lang-impl/src/com/intellij/util/indexing/containers/IntIdsIterator.java new file mode 100644 index 000000000000..84433d1dd80f --- /dev/null +++ b/platform/lang-impl/src/com/intellij/util/indexing/containers/IntIdsIterator.java @@ -0,0 +1,24 @@ +/* + * Copyright 2000-2016 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.util.indexing.containers; + +import com.intellij.util.indexing.ValueContainer; + +public interface IntIdsIterator extends ValueContainer.IntIterator { + boolean hasAscendingOrder(); + + IntIdsIterator createCopyInInitialState(); +} diff --git a/platform/lang-impl/src/com/intellij/util/indexing/containers/RandomAccessIntContainer.java b/platform/lang-impl/src/com/intellij/util/indexing/containers/RandomAccessIntContainer.java index 1bdb1e42ce14..1646fcc45d54 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/containers/RandomAccessIntContainer.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/containers/RandomAccessIntContainer.java @@ -16,7 +16,6 @@ package com.intellij.util.indexing.containers; import com.intellij.util.indexing.IntPredicate; -import com.intellij.util.indexing.ValueContainer; /** * Created by Maxim.Mossienko on 5/27/2014. @@ -25,7 +24,7 @@ interface RandomAccessIntContainer { Object clone(); boolean add(int value); boolean remove(int value); - ValueContainer.IntIterator intIterator(); + IntIdsIterator intIterator(); IntPredicate intPredicate(); void compact(); int size(); diff --git a/platform/lang-impl/src/com/intellij/util/indexing/containers/SortedFileIdSetIterator.java b/platform/lang-impl/src/com/intellij/util/indexing/containers/SortedFileIdSetIterator.java index f42373c139c7..7a877e063fd5 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/containers/SortedFileIdSetIterator.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/containers/SortedFileIdSetIterator.java @@ -16,12 +16,11 @@ package com.intellij.util.indexing.containers; import com.intellij.openapi.util.ThreadLocalCachedIntArray; -import com.intellij.util.indexing.ValueContainer; /** * Created by Maxim.Mossienko on 6/12/2014. */ -public class SortedFileIdSetIterator implements ValueContainer.IntIterator { +public class SortedFileIdSetIterator implements IntIdsIterator { private final int[] myBits; private final int myBitsLength; private final int myOffset; @@ -59,12 +58,12 @@ public class SortedFileIdSetIterator implements ValueContainer.IntIterator { } @Override - public ValueContainer.IntIterator createCopyInInitialState() { + public IntIdsIterator createCopyInInitialState() { return new SortedFileIdSetIterator(myBits, myBitsLength, myOffset, mySize); } - public static ValueContainer.IntIterator getTransientIterator(ValueContainer.IntIterator intIterator) { - final ValueContainer.IntIterator intIteratorCloned = intIterator.createCopyInInitialState(); + public static IntIdsIterator getTransientIterator(IntIdsIterator intIterator) { + final IntIdsIterator intIteratorCloned = intIterator.createCopyInInitialState(); int max = 0, min = Integer.MAX_VALUE; while(intIterator.hasNext()) { diff --git a/platform/lang-impl/src/com/intellij/util/indexing/containers/SortedIdSet.java b/platform/lang-impl/src/com/intellij/util/indexing/containers/SortedIdSet.java index 2bd87c729310..889ec57570d0 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/containers/SortedIdSet.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/containers/SortedIdSet.java @@ -16,7 +16,6 @@ package com.intellij.util.indexing.containers; import com.intellij.util.indexing.IntPredicate; -import com.intellij.util.indexing.ValueContainer; import gnu.trove.TIntProcedure; /** @@ -90,7 +89,7 @@ public class SortedIdSet implements Cloneable, RandomAccessIntContainer { } @Override - public ValueContainer.IntIterator intIterator() { + public IntIdsIterator intIterator() { return new Iterator(); } @@ -105,7 +104,7 @@ public class SortedIdSet implements Cloneable, RandomAccessIntContainer { }; } - private class Iterator implements ValueContainer.IntIterator { + private class Iterator implements IntIdsIterator { private int myCursor; Iterator() { @@ -135,7 +134,7 @@ public class SortedIdSet implements Cloneable, RandomAccessIntContainer { } @Override - public ValueContainer.IntIterator createCopyInInitialState() { + public IntIdsIterator createCopyInInitialState() { return new Iterator(); } } diff --git a/platform/lang-impl/src/com/intellij/util/indexing/containers/TroveSetIntIterator.java b/platform/lang-impl/src/com/intellij/util/indexing/containers/TroveSetIntIterator.java index 8279f14997ec..29400574a108 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/containers/TroveSetIntIterator.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/containers/TroveSetIntIterator.java @@ -16,17 +16,16 @@ package com.intellij.util.indexing.containers; import com.intellij.util.containers.EmptyIntHashSet; -import com.intellij.util.indexing.ValueContainer; import gnu.trove.TIntHashSet; import gnu.trove.TIntIterator; import org.jetbrains.annotations.NotNull; -public class TroveSetIntIterator implements ValueContainer.IntIterator { +public class TroveSetIntIterator implements IntIdsIterator { @NotNull public static final TroveSetIntIterator EMPTY = new TroveSetIntIterator(EmptyIntHashSet.INSTANCE); @NotNull private final TIntHashSet mySet; @NotNull private final TIntIterator mySetIterator; - @NotNull private final int mySize; + private final int mySize; public TroveSetIntIterator(@NotNull TIntHashSet set) { mySet = set; @@ -55,7 +54,7 @@ public class TroveSetIntIterator implements ValueContainer.IntIterator { } @Override - public ValueContainer.IntIterator createCopyInInitialState() { + public IntIdsIterator createCopyInInitialState() { return new TroveSetIntIterator(mySet); } } diff --git a/platform/util/src/com/intellij/util/indexing/ValueContainer.java b/platform/util/src/com/intellij/util/indexing/ValueContainer.java index 2a4076885c1c..ad71e8d2c195 100644 --- a/platform/util/src/com/intellij/util/indexing/ValueContainer.java +++ b/platform/util/src/com/intellij/util/indexing/ValueContainer.java @@ -16,11 +16,8 @@ package com.intellij.util.indexing; -import com.intellij.util.io.DataExternalizer; import org.jetbrains.annotations.NotNull; -import java.io.DataOutput; -import java.io.IOException; import java.util.Iterator; /** @@ -34,10 +31,6 @@ public abstract class ValueContainer { int next(); int size(); - - boolean hasAscendingOrder(); - - IntIterator createCopyInInitialState(); } @NotNull @@ -63,6 +56,4 @@ public abstract class ValueContainer { } return true; } - - public abstract void saveTo(DataOutput out, DataExternalizer externalizer) throws IOException; }