diff --git a/platform/core-api/api-dump-unreviewed.txt b/platform/core-api/api-dump-unreviewed.txt index 4cd042c56061..0c4805499513 100644 --- a/platform/core-api/api-dump-unreviewed.txt +++ b/platform/core-api/api-dump-unreviewed.txt @@ -3278,10 +3278,6 @@ com.intellij.openapi.vfs.VirtualFilePathWrapper - a:canCloseFile(com.intellij.openapi.vfs.VirtualFile):Z *f:com.intellij.openapi.vfs.VirtualFilePreCloseCheck$Companion - f:getEP_NAME():com.intellij.openapi.extensions.ExtensionPointName -f:com.intellij.openapi.vfs.VirtualFilePrefixTreeFactory -- com.intellij.util.containers.prefix.map.AbstractPrefixTreeFactory -- sf:INSTANCE:com.intellij.openapi.vfs.VirtualFilePrefixTreeFactory -- convertToList(com.intellij.openapi.vfs.VirtualFile):java.util.List c:com.intellij.openapi.vfs.VirtualFilePropertyEvent - com.intellij.openapi.vfs.VirtualFileEvent - (java.lang.Object,com.intellij.openapi.vfs.VirtualFile,java.lang.String,java.lang.Object,java.lang.Object):V diff --git a/platform/core-api/src/com/intellij/openapi/vfs/VirtualFileUtil.kt b/platform/core-api/src/com/intellij/openapi/vfs/VirtualFileUtil.kt index 501603711fc2..7a4a810cd31c 100644 --- a/platform/core-api/src/com/intellij/openapi/vfs/VirtualFileUtil.kt +++ b/platform/core-api/src/com/intellij/openapi/vfs/VirtualFileUtil.kt @@ -20,6 +20,7 @@ import com.intellij.util.concurrency.annotations.RequiresBackgroundThread import com.intellij.util.concurrency.annotations.RequiresReadLock import com.intellij.util.concurrency.annotations.RequiresWriteLock import com.intellij.util.containers.prefix.map.AbstractPrefixTreeFactory +import org.jetbrains.annotations.ApiStatus import org.jetbrains.annotations.ApiStatus.Experimental import org.jetbrains.annotations.SystemIndependent import java.io.IOException @@ -206,6 +207,7 @@ fun Path.refreshAndFindVirtualDirectory(): VirtualFile? { return file } +@ApiStatus.Internal object VirtualFilePrefixTreeFactory : AbstractPrefixTreeFactory() { override fun convertToList(element: VirtualFile): List { diff --git a/platform/util/api-dump-unreviewed.txt b/platform/util/api-dump-unreviewed.txt index 01f6a4c976b5..c8651ce63d1a 100644 --- a/platform/util/api-dump-unreviewed.txt +++ b/platform/util/api-dump-unreviewed.txt @@ -39,15 +39,7 @@ f:com.intellij.Patches - sf:TEXT_LAYOUT_IS_SLOW:Z - ():V *f:com.intellij.concurrency.ThreadContext -- sf:captureThreadContext(java.lang.Runnable):java.lang.Runnable -- sf:captureThreadContext(java.util.concurrent.Callable):java.util.concurrent.Callable -- sf:captureThreadContext(java.util.function.Consumer):java.util.function.Consumer -- sf:captureThreadContext(java.util.function.Function):java.util.function.Function -- sf:captureThreadContext(java.util.function.Supplier):java.util.function.Supplier - sf:currentThreadContext():kotlin.coroutines.CoroutineContext -- sf:currentThreadContextOrNull():kotlin.coroutines.CoroutineContext -- *sf:escapeCancellation(kotlinx.coroutines.Job,kotlin.jvm.functions.Function0):java.lang.Object -- sf:getContextSkeleton(kotlin.coroutines.CoroutineContext):java.util.Set - sf:installThreadContext(kotlin.coroutines.CoroutineContext,Z):com.intellij.openapi.application.AccessToken - bs:installThreadContext$default(kotlin.coroutines.CoroutineContext,Z,I,java.lang.Object):com.intellij.openapi.application.AccessToken - sf:resetThreadContext():com.intellij.openapi.application.AccessToken @@ -62,17 +54,6 @@ f:com.intellij.execution.CommandLineUtil - s:toCommandLine(java.lang.String,java.util.List):java.util.List - s:toCommandLine(java.lang.String,java.util.List,com.intellij.execution.Platform):java.util.List - s:toCommandLine(java.util.List):java.util.List -f:com.intellij.execution.CommandLineWrapperUtil -- sf:CLASSPATH_JAR_FILE_NAME_PREFIX:java.lang.String -- ():V -- s:createArgumentFile(java.util.List,java.nio.charset.Charset):java.io.File -- s:createClasspathJarFile(java.util.jar.Manifest,java.util.List):java.io.File -- s:createWrapperFile(java.util.List,java.nio.charset.Charset):java.io.File -- s:fillClasspathJarFile(java.util.jar.Manifest,java.lang.String,java.io.File):V -- s:fillClasspathJarFile(java.util.jar.Manifest,java.util.List,Z,java.io.File):V -- s:writeArgumentsFile(java.io.File,java.util.List,java.lang.String,java.nio.charset.Charset):V -- s:writeArgumentsFile(java.io.File,java.util.List,java.nio.charset.Charset):V -- s:writeWrapperFile(java.io.File,java.util.List,java.lang.String,java.nio.charset.Charset):V e:com.intellij.execution.Platform - java.lang.Enum - sf:UNIX:com.intellij.execution.Platform @@ -235,14 +216,6 @@ f:com.intellij.execution.process.WinProcessManager - s:getProcessId(java.lang.Process):I - s:kill(I,Z):Z - s:kill(java.lang.Process,Z):Z -f:com.intellij.execution.rmi.RemoteUtil -- s:castToLocal(java.lang.Object,java.lang.Class):java.lang.Object -- s:castToRemote(java.lang.Object,java.lang.Class):java.lang.Object -- s:castToRemoteNotNull(java.lang.Object,java.lang.Class):java.lang.Object -- s:executeWithClassLoader(com.intellij.openapi.util.ThrowableComputable,java.lang.ClassLoader):java.lang.Object -- s:handleRemoteResult(java.lang.Object,java.lang.Class,java.lang.Object):java.lang.Object -- s:substituteClassLoader(java.lang.Object,java.lang.ClassLoader):java.lang.Object -- s:unwrap(java.lang.Throwable):java.lang.Throwable f:com.intellij.jna.JnaLoader - ():V - s:isLoaded():Z @@ -265,14 +238,9 @@ com.intellij.openapi.Disposable$Parent com.intellij.openapi.Forceable - a:force():V - a:isDirty():Z -a:com.intellij.openapi.WeakReferenceDisposable -- java.lang.ref.WeakReference -- com.intellij.openapi.Disposable -- (java.lang.Object):V -- f:dispose():V -- pa:disposeReferent(java.lang.Object):V f:com.intellij.openapi.WeakReferenceDisposableWrapper -- com.intellij.openapi.WeakReferenceDisposable +- com.intellij.openapi.Disposable +- java.lang.ref.WeakReference - (com.intellij.openapi.Disposable):V a:com.intellij.openapi.application.AccessToken - java.lang.AutoCloseable @@ -446,13 +414,8 @@ a:com.intellij.openapi.diagnostic.Logger com.intellij.openapi.diagnostic.Logger$Factory - a:getLoggerInstance(java.lang.String):com.intellij.openapi.diagnostic.Logger f:com.intellij.openapi.diagnostic.LoggerKt -- sf:currentClassLogger():com.intellij.openapi.diagnostic.Logger - sf:debug(com.intellij.openapi.diagnostic.Logger,java.lang.Exception,kotlin.jvm.functions.Function0):V - bs:debug$default(com.intellij.openapi.diagnostic.Logger,java.lang.Exception,kotlin.jvm.functions.Function0,I,java.lang.Object):V -- sf:fileLogger():com.intellij.openapi.diagnostic.Logger -- sf:getOrLogException(java.lang.Object,com.intellij.openapi.diagnostic.Logger):java.lang.Object -- sf:ifTraceEnabled(com.intellij.openapi.diagnostic.Logger,kotlin.jvm.functions.Function0):java.lang.Object -- sf:runAndLogException(com.intellij.openapi.diagnostic.Logger,kotlin.jvm.functions.Function0):java.lang.Object - sf:trace(com.intellij.openapi.diagnostic.Logger,kotlin.jvm.functions.Function0):V - sf:traceThrowable(com.intellij.openapi.diagnostic.Logger,kotlin.jvm.functions.Function0):V *:com.intellij.openapi.diagnostic.ReportingClassSubstitutor @@ -600,9 +563,6 @@ com.intellij.openapi.util.Factory - get():java.lang.Object com.intellij.openapi.util.Getter - java.util.function.Supplier -f:com.intellij.openapi.util.GlobUtilKt -- sf:getPathMatcher(java.lang.String,Z):java.nio.file.PathMatcher -- bs:getPathMatcher$default(java.lang.String,Z,I,java.lang.Object):java.nio.file.PathMatcher a:com.intellij.openapi.util.IconPathPatcher - ():V - getContextClass(java.lang.String):java.lang.Class @@ -787,10 +747,6 @@ e:com.intellij.openapi.util.LowMemoryWatcher$LowMemoryWatcherType - sf:ONLY_AFTER_GC:com.intellij.openapi.util.LowMemoryWatcher$LowMemoryWatcherType - s:valueOf(java.lang.String):com.intellij.openapi.util.LowMemoryWatcher$LowMemoryWatcherType - s:values():com.intellij.openapi.util.LowMemoryWatcher$LowMemoryWatcherType[] -f:com.intellij.openapi.util.LowMemoryWatcherManager -- (java.util.concurrent.ExecutorService):V -- shutdown():V -- waitForInitComplete(I,java.util.concurrent.TimeUnit):V com.intellij.openapi.util.ModificationTracker - sf:EVER_CHANGED:com.intellij.openapi.util.ModificationTracker - sf:NEVER_CHANGED:com.intellij.openapi.util.ModificationTracker @@ -1053,9 +1009,6 @@ f:com.intellij.openapi.util.SystemInfo - s:isJavaVersionAtLeast(I,I,I):Z - s:isJavaVersionAtLeast(java.lang.String):Z - s:isOsVersionAtLeast(java.lang.String):Z -f:com.intellij.openapi.util.ThreadLocalCachedIntArray -- ():V -- getBuffer(I):I[] com.intellij.openapi.util.Throwable2Computable - a:compute():java.lang.Object com.intellij.openapi.util.ThrowableNotNullFunction @@ -1101,14 +1054,6 @@ c:com.intellij.openapi.util.UnprotectedUserDataHolder - getUserDataUnprotected(com.intellij.openapi.util.Key):java.lang.Object - putUserData(com.intellij.openapi.util.Key,java.lang.Object):V - putUserDataUnprotected(com.intellij.openapi.util.Key,java.lang.Object):V -f:com.intellij.openapi.util.UpdatedReference -- (java.lang.Object):V -- (java.lang.Object,J):V -- getT():java.lang.Object -- getTime():J -- isTimeToUpdate(J):Z -- updateT(java.lang.Object):V -- updateTs():V a:com.intellij.openapi.util.UserDataCache - p:():V - (java.lang.String):V @@ -1229,10 +1174,6 @@ com.intellij.openapi.util.io.ByteSequence - a:length():I - a:subSequence(I,I):com.intellij.openapi.util.io.ByteSequence - a:toBytes():B[] -f:com.intellij.openapi.util.io.CanonicalPathPrefixTreeFactory -- com.intellij.util.containers.prefix.map.AbstractPrefixTreeFactory -- sf:INSTANCE:com.intellij.openapi.util.io.CanonicalPathPrefixTreeFactory -- convertToList(java.lang.String):java.util.List com.intellij.openapi.util.io.CaseSensitivityAttribute - java.nio.file.attribute.BasicFileAttributes - a:getCaseSensitivity():com.intellij.openapi.util.io.FileAttributes$CaseSensitivity @@ -1467,19 +1408,9 @@ a:com.intellij.openapi.util.io.NioFiles$StatsCollectingVisitor - preVisitDirectory(java.nio.file.Path,java.nio.file.attribute.BasicFileAttributes):java.nio.file.FileVisitResult - visitFile(java.nio.file.Path,java.nio.file.attribute.BasicFileAttributes):java.nio.file.FileVisitResult - visitFileFailed(java.nio.file.Path,java.io.IOException):java.nio.file.FileVisitResult -f:com.intellij.openapi.util.io.NioPathPrefixTreeFactory -- com.intellij.util.containers.prefix.map.AbstractPrefixTreeFactory -- sf:INSTANCE:com.intellij.openapi.util.io.NioPathPrefixTreeFactory -- convertToList(java.nio.file.Path):java.util.List f:com.intellij.openapi.util.io.NioPathUtil -- sf:findOrCreateDirectory(java.nio.file.Path):java.nio.file.Path -- sf:findOrCreateDirectory(java.nio.file.Path,java.lang.String):java.nio.file.Path -- sf:findOrCreateFile(java.nio.file.Path):java.nio.file.Path -- sf:findOrCreateFile(java.nio.file.Path,java.lang.String):java.nio.file.Path - sf:getResolvedPath(java.nio.file.Path,java.lang.String):java.nio.file.Path -- sf:relativizeToClosestAncestor(java.nio.file.Path,java.lang.String):kotlin.Pair - sf:toCanonicalPath(java.nio.file.Path):java.lang.String -- sf:toNioPath(java.lang.String):java.nio.file.Path - sf:toNioPathOrNull(java.lang.String):java.nio.file.Path f:com.intellij.openapi.util.io.OSAgnosticPathUtil - sf:COMPARATOR:java.util.Comparator @@ -1505,10 +1436,6 @@ f:com.intellij.openapi.util.io.StreamUtil - s:readText(java.io.Reader):java.lang.String - s:readTextAndConvertSeparators(java.io.Reader):C[] - s:readTextFrom(java.io.Reader):java.lang.String -f:com.intellij.openapi.util.io.WindowsRegistryUtil -- s:readRegistryBranch(java.lang.String):java.util.List -- s:readRegistryDefault(java.lang.String):java.lang.String -- s:readRegistryValue(java.lang.String,java.lang.String):java.lang.String f:com.intellij.openapi.util.registry.Registry - sf:Companion:com.intellij.openapi.util.registry.Registry$Companion - sf:REGISTRY_BUNDLE:java.lang.String @@ -1993,48 +1920,6 @@ a:com.intellij.openapi.util.text.TrigramBuilder$TrigramProcessor - java.util.function.IntPredicate - ():V - consumeTrigramsCount(I):Z -f:com.intellij.platform.util.ArgsParser -- (java.util.List):V -- f:arg(java.lang.String,java.lang.String):com.intellij.platform.util.ArgsParser$ArgInfo -- f:tryReadAll():V -- f:usage(Z,I):java.lang.String -- bs:usage$default(com.intellij.platform.util.ArgsParser,Z,I,I,java.lang.Object):java.lang.String -f:com.intellij.platform.util.ArgsParser$ArgInfo -- (com.intellij.platform.util.ArgsParser,java.lang.String,java.lang.String):V -- f:boolean(kotlin.jvm.functions.Function0):com.intellij.platform.util.ArgsParser$TypedArg -- bs:boolean$default(com.intellij.platform.util.ArgsParser$ArgInfo,kotlin.jvm.functions.Function0,I,java.lang.Object):com.intellij.platform.util.ArgsParser$TypedArg -- f:booleanOrNull():com.intellij.platform.util.ArgsParser$TypedArg -- f:deprecated(java.lang.String):com.intellij.platform.util.ArgsParser$ArgInfo -- f:file(kotlin.jvm.functions.Function0):com.intellij.platform.util.ArgsParser$TypedArg -- bs:file$default(com.intellij.platform.util.ArgsParser$ArgInfo,kotlin.jvm.functions.Function0,I,java.lang.Object):com.intellij.platform.util.ArgsParser$TypedArg -- f:fileOrNull():com.intellij.platform.util.ArgsParser$TypedArg -- f:files():com.intellij.platform.util.ArgsParser$TypedArg -- f:flag():com.intellij.platform.util.ArgsParser$TypedArg -- f:getDeprecated():java.lang.String -- f:getDescription():java.lang.String -- f:getHidden():Z -- f:getName():java.lang.String -- f:getOptional():Z -- f:hidden():com.intellij.platform.util.ArgsParser$ArgInfo -- f:int(kotlin.jvm.functions.Function0):com.intellij.platform.util.ArgsParser$TypedArg -- f:notEmptyFiles():com.intellij.platform.util.ArgsParser$TypedArg -- f:notEmptyStrings():com.intellij.platform.util.ArgsParser$TypedArg -- f:optional():com.intellij.platform.util.ArgsParser$ArgInfo -- f:setDeprecated(java.lang.String):V -- f:setHidden(Z):V -- f:setOptional(Z):V -- f:string(kotlin.jvm.functions.Function0):com.intellij.platform.util.ArgsParser$TypedArg -- bs:string$default(com.intellij.platform.util.ArgsParser$ArgInfo,kotlin.jvm.functions.Function0,I,java.lang.Object):com.intellij.platform.util.ArgsParser$TypedArg -- f:stringOrNull():com.intellij.platform.util.ArgsParser$TypedArg -- f:strings():com.intellij.platform.util.ArgsParser$TypedArg -- f:toIntOrNull():com.intellij.platform.util.ArgsParser$TypedArg -f:com.intellij.platform.util.ArgsParser$TypedArg -- (com.intellij.platform.util.ArgsParser$ArgInfo,kotlin.jvm.functions.Function0):V -- f:andApply(kotlin.jvm.functions.Function1):com.intellij.platform.util.ArgsParser$TypedArg -- f:andMap(kotlin.jvm.functions.Function1):com.intellij.platform.util.ArgsParser$TypedArg -- f:getInfo():com.intellij.platform.util.ArgsParser$ArgInfo -- f:getValue():java.lang.Object -- f:getValue(java.lang.Object,kotlin.reflect.KProperty):java.lang.Object f:com.intellij.serialization.ClassUtil - s:getRawType(java.lang.reflect.Type):java.lang.Class - s:isMutableCollection(java.lang.Object):Z @@ -2824,11 +2709,6 @@ f:com.intellij.util.concurrency.BoundedTaskExecutor - isTerminated():Z - shutdown():V - shutdownNow():java.util.List -a:com.intellij.util.concurrency.CountingThreadFactory -- java.util.concurrent.ThreadFactory -- pf:counter:java.util.concurrent.atomic.AtomicInteger -- ():V -- getCount():I c:com.intellij.util.concurrency.FixedFuture - java.util.concurrent.Future - (java.lang.Object):V @@ -2922,27 +2802,6 @@ f:com.intellij.util.containers.BooleanStack - pop():Z - push(Z):V - size():I -f:com.intellij.util.containers.CacheOneStepIterator -- java.util.Iterator -- (java.util.Iterator):V -- hasNext():Z -- next():java.lang.Object -- remove():V -f:com.intellij.util.containers.CharTrie -- ():V -- clear():V -- findSubNode(I,C):I -- getChars(I):C[] -- getHashCode(java.lang.CharSequence):I -- getHashCode(C[]):I -- getHashCode(C[],I,I):I -- getHashCodeForReversedChars(C[]):I -- getHashCodeForReversedChars(C[],I,I):I -- getMaximumMatch(java.lang.CharSequence,I,I):J -- getReversedChars(I):C[] -- getReversedString(I):java.lang.String -- getString(I):java.lang.String -- size():I c:com.intellij.util.containers.ClassMap - pf:myMap:java.util.Map - ():V @@ -4203,26 +4062,6 @@ c:com.intellij.util.containers.hash.LinkedHashMap - p:removeEldestEntry(java.util.Map$Entry,java.lang.Object,java.lang.Object):Z - size():I - values():java.util.Collection -c:com.intellij.util.containers.hash.LongLinkedHashMap -- (I,F,Z):V -- clear():V -- containsKey(J):Z -- doRemoveEldestEntry():V -- entrySet():java.util.Set -- get(J):java.lang.Object -- getFirstKey():J -- getLastKey():J -- getLastValue():java.lang.Object -- isEmpty():Z -- put(J,java.lang.Object):java.lang.Object -- remove(J):java.lang.Object -- p:removeEldestEntry(com.intellij.util.containers.hash.LongLinkedHashMap$Entry):Z -- size():I -- values():java.util.Collection -f:com.intellij.util.containers.hash.LongLinkedHashMap$Entry -- getKey():J -- getValue():java.lang.Object -- setValue(java.lang.Object):java.lang.Object f:com.intellij.util.diff.DiffTree - s:diff(com.intellij.util.diff.FlyweightCapableTreeStructure,com.intellij.util.diff.FlyweightCapableTreeStructure,com.intellij.util.diff.ShallowNodeComparator,com.intellij.util.diff.DiffTreeChangeBuilder,java.lang.CharSequence):V com.intellij.util.diff.DiffTreeChangeBuilder diff --git a/platform/util/base/api-dump.txt b/platform/util/base/api-dump.txt index 91ec95fbbf71..906916208275 100644 --- a/platform/util/base/api-dump.txt +++ b/platform/util/base/api-dump.txt @@ -542,49 +542,6 @@ f:com.intellij.util.containers.SoftArrayHashMap - get(java.lang.Object[]):java.lang.Object - processLeafEntries(java.util.function.BiPredicate):Z - put(java.lang.Object[],java.lang.Object):V -com.intellij.util.containers.prefix.factory.PrefixTreeFactory -- a:convertToList(java.lang.Object):java.util.List -- a:createMap(java.lang.Iterable):com.intellij.util.containers.prefix.map.MutablePrefixTreeMap -- a:createMap(kotlin.sequences.Sequence):com.intellij.util.containers.prefix.map.MutablePrefixTreeMap -- a:createMap(kotlin.Pair[]):com.intellij.util.containers.prefix.map.MutablePrefixTreeMap -- a:createSet(java.lang.Iterable):com.intellij.util.containers.prefix.set.MutablePrefixTreeSet -- a:createSet(kotlin.sequences.Sequence):com.intellij.util.containers.prefix.set.MutablePrefixTreeSet -- a:createSet(java.lang.Object[]):com.intellij.util.containers.prefix.set.MutablePrefixTreeSet -a:com.intellij.util.containers.prefix.map.AbstractPrefixTreeFactory -- com.intellij.util.containers.prefix.factory.PrefixTreeFactory -- ():V -- createMap(java.lang.Iterable):com.intellij.util.containers.prefix.map.MutablePrefixTreeMap -- createMap(kotlin.sequences.Sequence):com.intellij.util.containers.prefix.map.MutablePrefixTreeMap -- createMap(kotlin.Pair[]):com.intellij.util.containers.prefix.map.MutablePrefixTreeMap -- createSet(java.lang.Iterable):com.intellij.util.containers.prefix.set.MutablePrefixTreeSet -- createSet(kotlin.sequences.Sequence):com.intellij.util.containers.prefix.set.MutablePrefixTreeSet -- createSet(java.lang.Object[]):com.intellij.util.containers.prefix.set.MutablePrefixTreeSet -com.intellij.util.containers.prefix.map.MutablePrefixTreeMap -- com.intellij.util.containers.prefix.map.PrefixTreeMap -- a:remove(java.lang.Object):java.lang.Object -- a:set(java.lang.Object,java.lang.Object):java.lang.Object -com.intellij.util.containers.prefix.map.PrefixTreeMap -- java.util.Map -- kotlin.jvm.internal.markers.KMappedMarker -- a:getAncestorEntries(java.lang.Object):java.util.Set -- a:getAncestorKeys(java.lang.Object):java.util.Set -- a:getAncestorValues(java.lang.Object):java.util.List -- a:getDescendantEntries(java.lang.Object):java.util.Set -- a:getDescendantKeys(java.lang.Object):java.util.Set -- a:getDescendantValues(java.lang.Object):java.util.List -- a:getRootEntries():java.util.Set -- a:getRootKeys():java.util.Set -- a:getRootValues():java.util.List -com.intellij.util.containers.prefix.set.MutablePrefixTreeSet -- com.intellij.util.containers.prefix.set.PrefixTreeSet -- a:add(java.lang.Object):V -- a:remove(java.lang.Object):V -com.intellij.util.containers.prefix.set.PrefixTreeSet -- java.util.Set -- kotlin.jvm.internal.markers.KMappedMarker -- a:getAncestors(java.lang.Object):java.util.Set -- a:getDescendants(java.lang.Object):java.util.Set -- a:getRoots():java.util.Set c:com.intellij.util.text.CharArrayCharSequence - java.lang.CharSequence - pf:myChars:C[] diff --git a/platform/util/base/src/com/intellij/util/containers/prefix/factory/PrefixTreeFactory.kt b/platform/util/base/src/com/intellij/util/containers/prefix/factory/PrefixTreeFactory.kt index 2ce9f2a1b5c2..51155a4ee10b 100644 --- a/platform/util/base/src/com/intellij/util/containers/prefix/factory/PrefixTreeFactory.kt +++ b/platform/util/base/src/com/intellij/util/containers/prefix/factory/PrefixTreeFactory.kt @@ -3,7 +3,9 @@ package com.intellij.util.containers.prefix.factory import com.intellij.util.containers.prefix.map.MutablePrefixTreeMap import com.intellij.util.containers.prefix.set.MutablePrefixTreeSet +import org.jetbrains.annotations.ApiStatus +@ApiStatus.Internal interface PrefixTreeFactory { fun convertToList(element: Key): List diff --git a/platform/util/base/src/com/intellij/util/containers/prefix/map/AbstractPrefixTreeFactory.kt b/platform/util/base/src/com/intellij/util/containers/prefix/map/AbstractPrefixTreeFactory.kt index 2120ae6b86aa..239efb1668d2 100644 --- a/platform/util/base/src/com/intellij/util/containers/prefix/map/AbstractPrefixTreeFactory.kt +++ b/platform/util/base/src/com/intellij/util/containers/prefix/map/AbstractPrefixTreeFactory.kt @@ -4,7 +4,9 @@ package com.intellij.util.containers.prefix.map import com.intellij.util.containers.prefix.factory.PrefixTreeFactory import com.intellij.util.containers.prefix.set.MutablePrefixTreeSet import com.intellij.util.containers.prefix.set.PrefixTreeSetImpl +import org.jetbrains.annotations.ApiStatus +@ApiStatus.Internal abstract class AbstractPrefixTreeFactory : PrefixTreeFactory { override fun createSet(elements: Sequence): MutablePrefixTreeSet { diff --git a/platform/util/base/src/com/intellij/util/containers/prefix/map/MutablePrefixTreeMap.kt b/platform/util/base/src/com/intellij/util/containers/prefix/map/MutablePrefixTreeMap.kt index b416fd65c6f2..6d0765115bc7 100644 --- a/platform/util/base/src/com/intellij/util/containers/prefix/map/MutablePrefixTreeMap.kt +++ b/platform/util/base/src/com/intellij/util/containers/prefix/map/MutablePrefixTreeMap.kt @@ -9,6 +9,7 @@ import org.jetbrains.annotations.ApiStatus * @see PrefixTreeMap */ @ApiStatus.NonExtendable +@ApiStatus.Internal interface MutablePrefixTreeMap : PrefixTreeMap { operator fun set(key: Key, value: Value): Value? diff --git a/platform/util/base/src/com/intellij/util/containers/prefix/map/PrefixTreeMap.kt b/platform/util/base/src/com/intellij/util/containers/prefix/map/PrefixTreeMap.kt index 45163eee7930..800ab6a7e5ef 100644 --- a/platform/util/base/src/com/intellij/util/containers/prefix/map/PrefixTreeMap.kt +++ b/platform/util/base/src/com/intellij/util/containers/prefix/map/PrefixTreeMap.kt @@ -7,6 +7,7 @@ import org.jetbrains.annotations.ApiStatus * @see com.intellij.util.containers.prefix.set.PrefixTreeSet */ @ApiStatus.NonExtendable +@ApiStatus.Internal interface PrefixTreeMap : Map { /** diff --git a/platform/util/base/src/com/intellij/util/containers/prefix/set/MutablePrefixTreeSet.kt b/platform/util/base/src/com/intellij/util/containers/prefix/set/MutablePrefixTreeSet.kt index 28b3593f8999..324c1f69d52a 100644 --- a/platform/util/base/src/com/intellij/util/containers/prefix/set/MutablePrefixTreeSet.kt +++ b/platform/util/base/src/com/intellij/util/containers/prefix/set/MutablePrefixTreeSet.kt @@ -4,6 +4,7 @@ package com.intellij.util.containers.prefix.set import org.jetbrains.annotations.ApiStatus @ApiStatus.NonExtendable +@ApiStatus.Internal interface MutablePrefixTreeSet : PrefixTreeSet { fun add(element: Key) diff --git a/platform/util/base/src/com/intellij/util/containers/prefix/set/PrefixTreeSet.kt b/platform/util/base/src/com/intellij/util/containers/prefix/set/PrefixTreeSet.kt index 930ac0777765..c28becc523ae 100644 --- a/platform/util/base/src/com/intellij/util/containers/prefix/set/PrefixTreeSet.kt +++ b/platform/util/base/src/com/intellij/util/containers/prefix/set/PrefixTreeSet.kt @@ -13,6 +13,7 @@ import org.jetbrains.annotations.ApiStatus * @see com.intellij.util.containers.prefix.map.PrefixTreeMap */ @ApiStatus.NonExtendable +@ApiStatus.Internal interface PrefixTreeSet : Set { /** diff --git a/platform/util/src/com/intellij/concurrency/threadContext.kt b/platform/util/src/com/intellij/concurrency/threadContext.kt index 6df6d1b2f3fd..c3725aa33b5f 100644 --- a/platform/util/src/com/intellij/concurrency/threadContext.kt +++ b/platform/util/src/com/intellij/concurrency/threadContext.kt @@ -12,6 +12,7 @@ import com.intellij.util.SystemProperties import com.intellij.util.concurrency.* import kotlinx.coroutines.* import kotlinx.coroutines.internal.intellij.IntellijCoroutines +import org.jetbrains.annotations.ApiStatus import org.jetbrains.annotations.ApiStatus.Experimental import org.jetbrains.annotations.ApiStatus.Internal import org.jetbrains.annotations.TestOnly @@ -103,6 +104,7 @@ private inline fun currentThreadContextOrFallback(getter: (CoroutineContext?) -> @VisibleForTesting @TestOnly +@ApiStatus.Internal fun currentThreadContextOrNull(): CoroutineContext? { return currentThreadContextOrFallback { null } } @@ -300,6 +302,7 @@ fun resetThreadContext(): AccessToken { * it still would be cancellable on project closing or component unloading, but it would not be bound to the context cancellation. */ @Experimental +@ApiStatus.Internal fun escapeCancellation(job: Job, action: () -> T): T { return installThreadContext(currentThreadContext() + job + BlockingJob(job), true).use { action() @@ -407,6 +410,7 @@ fun withThreadLocal(variable: ThreadLocal, update: (value: T) -> T): Acce * This method should be used with executors from [java.util.concurrent.Executors] or with [java.util.concurrent.CompletionStage] methods. * Do not use this method with executors returned from [com.intellij.util.concurrency.AppExecutorUtil], they already capture the context. */ +@ApiStatus.Internal fun captureThreadContext(runnable: Runnable): Runnable { return captureRunnableThreadContext(runnable) } @@ -414,6 +418,7 @@ fun captureThreadContext(runnable: Runnable): Runnable { /** * Same as [captureThreadContext] but for [Supplier] */ +@ApiStatus.Internal fun captureThreadContext(s : Supplier) : Supplier { val c = captureCallableThreadContext(s::get) return Supplier(c::call) @@ -422,6 +427,7 @@ fun captureThreadContext(s : Supplier) : Supplier { /** * Same as [captureThreadContext] but for [Consumer] */ +@ApiStatus.Internal fun captureThreadContext(c : Consumer) : Consumer { val f = capturePropagationContext(c::accept) return Consumer(f::apply) @@ -430,6 +436,7 @@ fun captureThreadContext(c : Consumer) : Consumer { /** * Same as [captureThreadContext] but for [Function] */ +@ApiStatus.Internal fun captureThreadContext(f : Function) : Function { return capturePropagationContext(f) } @@ -449,6 +456,7 @@ interface InternalCoroutineContextKey : CoroutineC * Strips off internal elements from thread contexts. * If you need to compare contexts by equality, most likely you need to use this method. */ +@ApiStatus.Internal fun getContextSkeleton(context: CoroutineContext): Set { checkContextInstalled() return context.fold(HashSet()) { acc, element -> @@ -470,6 +478,7 @@ fun getContextSkeleton(context: CoroutineContext): Set /** * Same as [captureCallableThreadContext] but for [Callable]. */ +@ApiStatus.Internal fun captureThreadContext(callable: Callable): Callable { return captureCallableThreadContext(callable) } diff --git a/platform/util/src/com/intellij/execution/CommandLineWrapperUtil.java b/platform/util/src/com/intellij/execution/CommandLineWrapperUtil.java index a9bdf0e2ecfc..5f73afb80955 100644 --- a/platform/util/src/com/intellij/execution/CommandLineWrapperUtil.java +++ b/platform/util/src/com/intellij/execution/CommandLineWrapperUtil.java @@ -4,6 +4,7 @@ package com.intellij.execution; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.lang.ClassPath; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -15,6 +16,7 @@ import java.util.jar.Attributes; import java.util.jar.JarOutputStream; import java.util.jar.Manifest; +@ApiStatus.Internal public final class CommandLineWrapperUtil { public static final String CLASSPATH_JAR_FILE_NAME_PREFIX = ClassPath.CLASSPATH_JAR_FILE_NAME_PREFIX; diff --git a/platform/util/src/com/intellij/execution/rmi/RemoteUtil.java b/platform/util/src/com/intellij/execution/rmi/RemoteUtil.java index dbcd258d9af7..548f4fd4ff07 100644 --- a/platform/util/src/com/intellij/execution/rmi/RemoteUtil.java +++ b/platform/util/src/com/intellij/execution/rmi/RemoteUtil.java @@ -7,6 +7,7 @@ import com.intellij.openapi.util.ThrowableComputable; import com.intellij.util.ObjectUtils; import com.intellij.util.ReflectionUtil; import com.intellij.util.containers.ConcurrentFactoryMap; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -19,6 +20,7 @@ import java.util.concurrent.ConcurrentMap; /** * @author Gregory.Shrago */ +@ApiStatus.Internal public final class RemoteUtil { RemoteUtil() { } diff --git a/platform/util/src/com/intellij/openapi/WeakReferenceDisposable.java b/platform/util/src/com/intellij/openapi/WeakReferenceDisposable.java index 2845eaebc24f..2db2c3e3049e 100644 --- a/platform/util/src/com/intellij/openapi/WeakReferenceDisposable.java +++ b/platform/util/src/com/intellij/openapi/WeakReferenceDisposable.java @@ -2,6 +2,7 @@ package com.intellij.openapi; import com.intellij.openapi.util.Disposer; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import java.lang.ref.Reference; @@ -13,6 +14,7 @@ import java.lang.ref.WeakReference; * * @author eldar */ +@ApiStatus.Internal public abstract class WeakReferenceDisposable extends WeakReference implements Disposable { private static final ReferenceQueue ourRefQueue = new ReferenceQueue<>(); diff --git a/platform/util/src/com/intellij/openapi/diagnostic/logger.kt b/platform/util/src/com/intellij/openapi/diagnostic/logger.kt index 083a667d5700..3e013db7d9de 100644 --- a/platform/util/src/com/intellij/openapi/diagnostic/logger.kt +++ b/platform/util/src/com/intellij/openapi/diagnostic/logger.kt @@ -2,6 +2,7 @@ package com.intellij.openapi.diagnostic import com.intellij.openapi.progress.ProcessCanceledException +import org.jetbrains.annotations.ApiStatus import org.jetbrains.annotations.ApiStatus.Internal import org.jetbrains.annotations.NonNls import java.lang.invoke.MethodHandles @@ -30,6 +31,7 @@ inline fun T.thisLogger(): Logger = Logger.getInstance(T::clas * This function MUST be inline in order to properly obtain the calling class. */ @Suppress("NOTHING_TO_INLINE") +@ApiStatus.Internal inline fun currentClassLogger(): Logger { val clazz = MethodHandles.lookup().lookupClass() return Logger.getInstance(clazz) @@ -51,6 +53,7 @@ inline fun currentClassLogger(): Logger { * ``` */ @Suppress("NOTHING_TO_INLINE") +@ApiStatus.Internal inline fun fileLogger(): Logger { return currentClassLogger() } @@ -74,20 +77,15 @@ inline fun Logger.traceThrowable(lazyThrowable: () -> Throwable) { } } -inline fun Logger.ifTraceEnabled(lazyValue: () -> T): T? { - if (isTraceEnabled) { - return lazyValue() - } - return null -} - /** Consider using [Result.getOrLogException] for more straight-forward API instead. */ +@ApiStatus.Internal inline fun Logger.runAndLogException(runnable: () -> T): T? { return runCatching { runnable() }.getOrLogException(this) } +@ApiStatus.Internal fun Result.getOrLogException(logger: Logger): T? { return getOrLogException { logger.error(it) diff --git a/platform/util/src/com/intellij/openapi/progress/PceCancellationException.java b/platform/util/src/com/intellij/openapi/progress/PceCancellationException.java deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/platform/util/src/com/intellij/openapi/util/LowMemoryWatcherManager.java b/platform/util/src/com/intellij/openapi/util/LowMemoryWatcherManager.java index b3bcc2f7cac5..b71375082f39 100644 --- a/platform/util/src/com/intellij/openapi/util/LowMemoryWatcherManager.java +++ b/platform/util/src/com/intellij/openapi/util/LowMemoryWatcherManager.java @@ -5,6 +5,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.util.ConcurrencyUtil; import com.intellij.util.SystemProperties; import com.intellij.util.concurrency.SequentialTaskExecutor; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.TestOnly; @@ -18,6 +19,7 @@ import java.lang.management.MemoryType; import java.util.concurrent.*; import java.util.function.Consumer; +@ApiStatus.Internal public final class LowMemoryWatcherManager { private static @NotNull Logger getLogger() { return Logger.getInstance(LowMemoryWatcherManager.class); diff --git a/platform/util/src/com/intellij/openapi/util/ThreadLocalCachedIntArray.java b/platform/util/src/com/intellij/openapi/util/ThreadLocalCachedIntArray.java index 8bc6e9418166..8eaa77ab5f2b 100644 --- a/platform/util/src/com/intellij/openapi/util/ThreadLocalCachedIntArray.java +++ b/platform/util/src/com/intellij/openapi/util/ThreadLocalCachedIntArray.java @@ -1,8 +1,11 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.openapi.util; +import org.jetbrains.annotations.ApiStatus; + import java.lang.ref.SoftReference; +@ApiStatus.Internal public final class ThreadLocalCachedIntArray { private final ThreadLocal> myThreadLocal = new ThreadLocal<>(); diff --git a/platform/util/src/com/intellij/openapi/util/UpdatedReference.java b/platform/util/src/com/intellij/openapi/util/UpdatedReference.java deleted file mode 100644 index 81b62612b716..000000000000 --- a/platform/util/src/com/intellij/openapi/util/UpdatedReference.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.openapi.util; - -public final class UpdatedReference { - private T myT; - private long myTime; - - public UpdatedReference(T t) { - myT = t; - myTime = System.currentTimeMillis(); - } - - public UpdatedReference(T t, long time) { - myT = t; - myTime = time; - } - - public boolean isTimeToUpdate(final long interval) { - return (System.currentTimeMillis() - myTime) > interval; - } - - public void updateT(final T t) { - myT = t; - myTime = System.currentTimeMillis(); - } - - public T getT() { - return myT; - } - - public void updateTs() { - myTime = System.currentTimeMillis(); - } - - public long getTime() { - return myTime; - } -} diff --git a/platform/util/src/com/intellij/openapi/util/globUtil.kt b/platform/util/src/com/intellij/openapi/util/globUtil.kt index 1ea5d9624a9d..4270275b5629 100644 --- a/platform/util/src/com/intellij/openapi/util/globUtil.kt +++ b/platform/util/src/com/intellij/openapi/util/globUtil.kt @@ -1,6 +1,7 @@ // Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.openapi.util +import org.jetbrains.annotations.ApiStatus import java.nio.file.FileSystem import java.nio.file.FileSystems import java.nio.file.Path @@ -31,6 +32,7 @@ import java.util.regex.PatternSyntaxException * @param globPattern the passed argument doesn't need to have `glob:` prefix (though no difference if it does have this prefix) * @throws PatternSyntaxException if [ignorePatternSyntaxException] is `false` and the [globPattern] is invalid */ +@ApiStatus.Internal fun getPathMatcher(globPattern: String, ignorePatternSyntaxException: Boolean = true): PathMatcher { val patterns: List = transformIntoJdkFriendlyGlobs(globPattern.removePrefix("glob:")) diff --git a/platform/util/src/com/intellij/openapi/util/io/NioPathUtil.kt b/platform/util/src/com/intellij/openapi/util/io/NioPathUtil.kt index 26d8d9a9631f..a7313f4e2add 100644 --- a/platform/util/src/com/intellij/openapi/util/io/NioPathUtil.kt +++ b/platform/util/src/com/intellij/openapi/util/io/NioPathUtil.kt @@ -4,6 +4,7 @@ package com.intellij.openapi.util.io import com.intellij.util.containers.prefix.map.AbstractPrefixTreeFactory +import org.jetbrains.annotations.ApiStatus import java.io.IOException import java.nio.file.InvalidPathException import java.nio.file.Path @@ -38,6 +39,7 @@ fun Path.getResolvedPath(relativePath: String): Path { * * for [this] = `/1/2/3/4/5` and [relativePath] = `a/b`, * returns pair with base path = `/1/2/3/4/5` and relative path = `a/b`. */ +@ApiStatus.Internal fun Path.relativizeToClosestAncestor(relativePath: String): Pair { val normalizedPath = getResolvedPath(relativePath) val normalizedBasePath = checkNotNull(FileUtil.findAncestor(this, normalizedPath)) { @@ -51,6 +53,7 @@ fun Path.relativizeToClosestAncestor(relativePath: String): Pair { return normalizedBasePath to normalizedRelativePath } +@ApiStatus.Internal fun Path.findOrCreateFile(): Path { parent?.createDirectories() if (!exists()) { @@ -62,6 +65,7 @@ fun Path.findOrCreateFile(): Path { return this } +@ApiStatus.Internal fun Path.findOrCreateDirectory(): Path { createDirectories() if (!isDirectory()) { @@ -70,15 +74,18 @@ fun Path.findOrCreateDirectory(): Path { return this } +@ApiStatus.Internal fun Path.findOrCreateFile(relativePath: String): Path { return getResolvedPath(relativePath).findOrCreateFile() } +@ApiStatus.Internal fun Path.findOrCreateDirectory(relativePath: String): Path { return getResolvedPath(relativePath).findOrCreateDirectory() } @Deprecated("Do not use", level = DeprecationLevel.ERROR) +@ApiStatus.Internal fun String.toNioPath(): Path { return Paths.get(FileUtilRt.toSystemDependentName(this)) } @@ -92,6 +99,7 @@ fun String.toNioPathOrNull(): Path? { } } +@ApiStatus.Internal object NioPathPrefixTreeFactory : AbstractPrefixTreeFactory() { override fun convertToList(element: Path): List { @@ -99,6 +107,7 @@ object NioPathPrefixTreeFactory : AbstractPrefixTreeFactory() { } } +@ApiStatus.Internal object CanonicalPathPrefixTreeFactory : AbstractPrefixTreeFactory() { override fun convertToList(element: String): List { diff --git a/platform/util/src/com/intellij/openapi/util/io/WindowsRegistryUtil.java b/platform/util/src/com/intellij/openapi/util/io/WindowsRegistryUtil.java index 8c58fd8b971f..93969da4a590 100644 --- a/platform/util/src/com/intellij/openapi/util/io/WindowsRegistryUtil.java +++ b/platform/util/src/com/intellij/openapi/util/io/WindowsRegistryUtil.java @@ -15,6 +15,7 @@ import java.util.List; /** @deprecated please use {@link com.sun.jna.platform.win32.Advapi32Util JNA} instead. */ @Deprecated +@ApiStatus.Internal public final class WindowsRegistryUtil { private WindowsRegistryUtil() { } diff --git a/platform/util/src/com/intellij/platform/util/args.kt b/platform/util/src/com/intellij/platform/util/args.kt index 05e9a3d5cfc8..940b417bf342 100644 --- a/platform/util/src/com/intellij/platform/util/args.kt +++ b/platform/util/src/com/intellij/platform/util/args.kt @@ -2,6 +2,7 @@ package com.intellij.platform.util import com.intellij.openapi.diagnostic.logger +import org.jetbrains.annotations.ApiStatus import java.io.File import java.nio.file.Path import java.nio.file.Paths @@ -86,6 +87,7 @@ private class ArgsReader( } } +@ApiStatus.Internal class ArgsParser(args: List) { private val args = Args(args) private val arguments = mutableListOf>() diff --git a/platform/util/src/com/intellij/util/concurrency/CountingThreadFactory.java b/platform/util/src/com/intellij/util/concurrency/CountingThreadFactory.java index 19b54ee1e8dd..1d3c163a4630 100644 --- a/platform/util/src/com/intellij/util/concurrency/CountingThreadFactory.java +++ b/platform/util/src/com/intellij/util/concurrency/CountingThreadFactory.java @@ -1,9 +1,12 @@ // Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.util.concurrency; +import org.jetbrains.annotations.ApiStatus; + import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicInteger; +@ApiStatus.Internal public abstract class CountingThreadFactory implements ThreadFactory { protected final AtomicInteger counter = new AtomicInteger(); diff --git a/platform/util/src/com/intellij/util/concurrency/Propagation.java b/platform/util/src/com/intellij/util/concurrency/Propagation.java deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/platform/util/src/com/intellij/util/concurrency/propagation.kt b/platform/util/src/com/intellij/util/concurrency/propagation.kt index 62e1aee65f9e..c1a1fc74ab90 100644 --- a/platform/util/src/com/intellij/util/concurrency/propagation.kt +++ b/platform/util/src/com/intellij/util/concurrency/propagation.kt @@ -20,6 +20,7 @@ import com.intellij.openapi.util.Ref import com.intellij.util.SystemProperties import com.intellij.util.concurrency.SchedulingWrapper.MyScheduledFutureTask import kotlinx.coroutines.* +import org.jetbrains.annotations.ApiStatus import org.jetbrains.annotations.ApiStatus.Internal import org.jetbrains.annotations.NonNls import org.jetbrains.annotations.TestOnly @@ -44,6 +45,7 @@ private object Holder { } @TestOnly +@ApiStatus.Internal fun runWithContextPropagationEnabled(runnable: Runnable) { val propagateThreadContext = Holder.propagateThreadContext Holder.propagateThreadContext = true @@ -56,6 +58,7 @@ fun runWithContextPropagationEnabled(runnable: Runnable) { } @TestOnly +@ApiStatus.Internal fun runWithImplicitBlockingContextEnabled(runnable: Runnable) { val propagateThreadContext = Holder.useImplicitBlockingContext Holder.useImplicitBlockingContext = true @@ -277,6 +280,7 @@ internal fun capturePropagationContext(r: Runnable, forceUseContextJob : Boolean return command } +@ApiStatus.Internal fun capturePropagationContext(r: Runnable, expired: Condition<*>): JBPair> { var command = captureClientIdInRunnable(r) if (isContextAwareComputation(r)) { @@ -293,6 +297,7 @@ fun capturePropagationContext(r: Runnable, expired: Condition<*>): JBPair captureBiConsumerThreadContext(f: BiConsumer): BiConsumer { val (childContext, childContinuation) = createChildContext(f.toString()) var f = captureClientIdInBiConsumer(f) @@ -381,6 +386,7 @@ internal fun capturePropagationContext( } } +@ApiStatus.Internal fun contextAwareCallable(r: Runnable): Callable<*> = ContextAwareCallable { r.run() } diff --git a/platform/util/src/com/intellij/util/containers/CacheOneStepIterator.java b/platform/util/src/com/intellij/util/containers/CacheOneStepIterator.java index dac9e1b1dfe9..6581e6d17de8 100644 --- a/platform/util/src/com/intellij/util/containers/CacheOneStepIterator.java +++ b/platform/util/src/com/intellij/util/containers/CacheOneStepIterator.java @@ -1,9 +1,12 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.util.containers; +import org.jetbrains.annotations.ApiStatus; + import java.util.Iterator; // only for those who cannot return null +@ApiStatus.Internal public final class CacheOneStepIterator implements Iterator { private final Iterator myProbableIterator; private T myPreCalculated; diff --git a/platform/util/src/com/intellij/util/containers/CharTrie.java b/platform/util/src/com/intellij/util/containers/CharTrie.java index cd5e168a30d0..8999654d8b6d 100644 --- a/platform/util/src/com/intellij/util/containers/CharTrie.java +++ b/platform/util/src/com/intellij/util/containers/CharTrie.java @@ -3,8 +3,10 @@ package com.intellij.util.containers; import com.intellij.util.ArrayFactory; import com.intellij.util.ArrayUtil; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; +@ApiStatus.Internal public final class CharTrie { private int myAllNodesSize; private char[] myAllNodesChars; diff --git a/platform/util/src/com/intellij/util/containers/hash/LongLinkedHashMap.java b/platform/util/src/com/intellij/util/containers/hash/LongLinkedHashMap.java index 3fb8a1569ec2..7ed9889a707e 100644 --- a/platform/util/src/com/intellij/util/containers/hash/LongLinkedHashMap.java +++ b/platform/util/src/com/intellij/util/containers/hash/LongLinkedHashMap.java @@ -2,6 +2,7 @@ package com.intellij.util.containers.hash; import it.unimi.dsi.fastutil.HashCommon; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -14,6 +15,7 @@ import java.util.*; * NOTE: not the same as {@link java.util.LinkedHashMap} -- this implementation supports .accessOrder, * which re-orders entries on .get() */ +@ApiStatus.Internal public class LongLinkedHashMap { private static final long NULL_KEY = 0L; diff --git a/platform/warmup/api-dump.txt b/platform/warmup/api-dump.txt index 7ac7491a6158..47f11f82e11c 100644 --- a/platform/warmup/api-dump.txt +++ b/platform/warmup/api-dump.txt @@ -18,44 +18,14 @@ f:com.intellij.warmup.util.ConsoleLog - bs:error$default(com.intellij.warmup.util.ConsoleLog,java.lang.String,java.lang.Throwable,I,java.lang.Object):V - f:info(java.lang.String):V - f:warn(java.lang.String):V -com.intellij.warmup.util.HeadlessConfigurableArgs -- a:getPathToConfigurationFile():java.nio.file.Path -c:com.intellij.warmup.util.HeadlessConfigurableArgsImpl -- com.intellij.warmup.util.HeadlessConfigurableArgs -- (com.intellij.platform.util.ArgsParser):V -- getPathToConfigurationFile():java.nio.file.Path f:com.intellij.warmup.util.LoggingKt - sf:withLoggingProgressReporter(kotlin.jvm.functions.Function2,kotlin.coroutines.Continuation):java.lang.Object - sf:withLoggingProgresses(kotlin.jvm.functions.Function3,kotlin.coroutines.Continuation):java.lang.Object -com.intellij.warmup.util.OpenProjectArgs -- com.intellij.warmup.util.HeadlessConfigurableArgs -- a:getConfigureProject():Z -- a:getConvertProject():Z -- a:getDisabledConfigurators():java.util.Set -- a:getProjectDir():java.nio.file.Path -c:com.intellij.warmup.util.OpenProjectArgsImpl -- com.intellij.warmup.util.HeadlessConfigurableArgsImpl -- com.intellij.warmup.util.OpenProjectArgs -- (com.intellij.platform.util.ArgsParser):V -- getConfigureProject():Z -- getConvertProject():Z -- getDisabledConfigurators():java.util.Set -- getProjectDir():java.nio.file.Path -f:com.intellij.warmup.util.ProjectUtilKt -- sf:importOrOpenProjectAsync(com.intellij.warmup.util.OpenProjectArgs,kotlin.coroutines.Continuation):java.lang.Object f:com.intellij.warmup.util.UtilsKt - sf:runAndCatchNotNull(java.lang.String,kotlin.jvm.functions.Function0):java.lang.Object f:com.intellij.warmup.util.Utils_time_loggerKt - sf:runTaskAndLogTime(java.lang.String,kotlin.jvm.functions.Function2,kotlin.coroutines.Continuation):java.lang.Object com.intellij.warmup.util.WarmupProjectArgs -- com.intellij.warmup.util.OpenProjectArgs - a:getBuild():Z - a:getIndexGitLog():Z - a:getRebuild():Z -f:com.intellij.warmup.util.WarmupProjectArgsImpl -- com.intellij.warmup.util.OpenProjectArgsImpl -- com.intellij.warmup.util.WarmupProjectArgs -- (com.intellij.platform.util.ArgsParser):V -- getBuild():Z -- getIndexGitLog():Z -- getRebuild():Z diff --git a/platform/warmup/src/com/intellij/warmup/util/HeadlessConfigurableArgs.kt b/platform/warmup/src/com/intellij/warmup/util/HeadlessConfigurableArgs.kt index c35907b8cd4b..b4ba24616f55 100644 --- a/platform/warmup/src/com/intellij/warmup/util/HeadlessConfigurableArgs.kt +++ b/platform/warmup/src/com/intellij/warmup/util/HeadlessConfigurableArgs.kt @@ -3,12 +3,15 @@ package com.intellij.warmup.util import com.intellij.ide.environment.impl.EnvironmentKeyStubGenerator import com.intellij.platform.util.ArgsParser +import org.jetbrains.annotations.ApiStatus import java.nio.file.Path +@ApiStatus.Internal interface HeadlessConfigurableArgs { val pathToConfigurationFile: Path? } +@ApiStatus.Internal open class HeadlessConfigurableArgsImpl(parser: ArgsParser) : HeadlessConfigurableArgs { override val pathToConfigurationFile: Path? by parser.arg("environment-keys-file", diff --git a/platform/warmup/src/com/intellij/warmup/util/OpenProjectArgs.kt b/platform/warmup/src/com/intellij/warmup/util/OpenProjectArgs.kt index 63f938fba1e1..a9a435e94257 100644 --- a/platform/warmup/src/com/intellij/warmup/util/OpenProjectArgs.kt +++ b/platform/warmup/src/com/intellij/warmup/util/OpenProjectArgs.kt @@ -2,9 +2,11 @@ package com.intellij.warmup.util import com.intellij.platform.util.ArgsParser +import org.jetbrains.annotations.ApiStatus import java.nio.file.Files import java.nio.file.Path +@ApiStatus.Internal interface OpenProjectArgs : HeadlessConfigurableArgs { val projectDir: Path @@ -14,6 +16,7 @@ interface OpenProjectArgs : HeadlessConfigurableArgs { val disabledConfigurators: Set } +@ApiStatus.Internal open class OpenProjectArgsImpl(parser: ArgsParser) : HeadlessConfigurableArgsImpl(parser), OpenProjectArgs { override val projectDir by parser.arg("project-dir", "project home directory").file() diff --git a/platform/warmup/src/com/intellij/warmup/util/ProjectUtil.kt b/platform/warmup/src/com/intellij/warmup/util/ProjectUtil.kt index 2704c5d24b3d..4b9e9baf285e 100644 --- a/platform/warmup/src/com/intellij/warmup/util/ProjectUtil.kt +++ b/platform/warmup/src/com/intellij/warmup/util/ProjectUtil.kt @@ -21,8 +21,10 @@ import com.intellij.warmup.waitIndexInitialization import kotlinx.coroutines.CancellationException import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import org.jetbrains.annotations.ApiStatus import java.util.* +@ApiStatus.Internal suspend fun importOrOpenProjectAsync(args: OpenProjectArgs): Project { WarmupLogger.logInfo("Opening project from ${args.projectDir}...") // most of the sensible operations would run in the same thread diff --git a/platform/warmup/src/com/intellij/warmup/util/WarmupProjectArgs.kt b/platform/warmup/src/com/intellij/warmup/util/WarmupProjectArgs.kt index 8cef4f5dbc69..1cce5504246b 100644 --- a/platform/warmup/src/com/intellij/warmup/util/WarmupProjectArgs.kt +++ b/platform/warmup/src/com/intellij/warmup/util/WarmupProjectArgs.kt @@ -2,6 +2,7 @@ package com.intellij.warmup.util import com.intellij.platform.util.ArgsParser +import org.jetbrains.annotations.ApiStatus interface WarmupProjectArgs : OpenProjectArgs { val build: Boolean @@ -9,6 +10,7 @@ interface WarmupProjectArgs : OpenProjectArgs { val indexGitLog: Boolean } +@ApiStatus.Internal class WarmupProjectArgsImpl(parser: ArgsParser) : WarmupProjectArgs, OpenProjectArgsImpl(parser) { override val build: Boolean by parser.arg("build", "Build opened project. Cannot be specified together with --rebuild").flag() diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/util/GradlePathPrefixTreeFactory.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/util/GradlePathPrefixTreeFactory.kt index 6575fd986513..b0f5154cb791 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/util/GradlePathPrefixTreeFactory.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/util/GradlePathPrefixTreeFactory.kt @@ -2,7 +2,9 @@ package org.jetbrains.plugins.gradle.util import com.intellij.util.containers.prefix.map.AbstractPrefixTreeFactory +import org.jetbrains.annotations.ApiStatus +@ApiStatus.Internal object GradlePathPrefixTreeFactory : AbstractPrefixTreeFactory() { override fun convertToList(element: String): List {