IJPL-797 intellij.platform.util.base: dump API

GitOrigin-RevId: 8cee8cea39e9547a343f49cb0a14250a527284e3
This commit is contained in:
Daniil Ovchinnikov
2024-03-26 20:55:02 +01:00
committed by intellij-monorepo-bot
parent 2f98c30dc8
commit 3f76a5adc0
13 changed files with 766 additions and 14 deletions

View File

@@ -0,0 +1,724 @@
f:com.intellij.diagnostic.CoroutineDumperKt
- sf:dumpCoroutines(kotlinx.coroutines.CoroutineScope,Z,Z):java.lang.String
- bs:dumpCoroutines$default(kotlinx.coroutines.CoroutineScope,Z,Z,I,java.lang.Object):java.lang.String
f:com.intellij.diagnostic.ThreadDumper
- s:dumpThreadsToString():java.lang.String
f:com.intellij.filename.UniqueNameBuilder
- <init>(java.lang.String,java.lang.String):V
- addPath(java.lang.Object,java.lang.String):V
- contains(java.lang.Object):Z
- getSeparator():java.lang.String
- getShortPath(java.lang.Object):java.lang.String
- size():I
com.intellij.openapi.diagnostic.ControlFlowException
c:com.intellij.openapi.progress.ProcessCanceledException
- java.lang.RuntimeException
- com.intellij.openapi.diagnostic.ControlFlowException
- <init>():V
- p:<init>(java.lang.String):V
- <init>(java.lang.Throwable):V
*@:com.intellij.openapi.util.NlsSafe
- java.lang.annotation.Annotation
com.intellij.openapi.util.Segment
- sf:BY_START_OFFSET_THEN_END_OFFSET:java.util.Comparator
- sf:EMPTY_ARRAY:com.intellij.openapi.util.Segment[]
- a:getEndOffset():I
- a:getStartOffset():I
c:com.intellij.openapi.util.TextRange
- com.intellij.openapi.util.Segment
- java.io.Serializable
- sf:EMPTY_ARRAY:com.intellij.openapi.util.TextRange[]
- sf:EMPTY_RANGE:com.intellij.openapi.util.TextRange
- <init>(I,I):V
- p:<init>(I,I,Z):V
- s:allOf(java.lang.String):com.intellij.openapi.util.TextRange
- s:areSegmentsEqual(com.intellij.openapi.util.Segment,com.intellij.openapi.util.Segment):Z
- s:assertProperRange(I,I,java.lang.Object):V
- s:assertProperRange(com.intellij.openapi.util.Segment):V
- s:assertProperRange(com.intellij.openapi.util.Segment,java.lang.Object):V
- contains(I):Z
- contains(com.intellij.openapi.util.Segment):Z
- contains(com.intellij.openapi.util.TextRange):Z
- containsOffset(I):Z
- containsRange(I,I):Z
- s:containsRange(com.intellij.openapi.util.Segment,com.intellij.openapi.util.Segment):Z
- s:create(I,I):com.intellij.openapi.util.TextRange
- s:create(com.intellij.openapi.util.Segment):com.intellij.openapi.util.TextRange
- cutOut(com.intellij.openapi.util.TextRange):com.intellij.openapi.util.TextRange
- equals(java.lang.Object):Z
- equalsToRange(I,I):Z
- s:from(I,I):com.intellij.openapi.util.TextRange
- f:getEndOffset():I
- f:getLength():I
- f:getStartOffset():I
- grown(I):com.intellij.openapi.util.TextRange
- hashCode():I
- intersection(com.intellij.openapi.util.TextRange):com.intellij.openapi.util.TextRange
- intersects(I,I):Z
- intersects(com.intellij.openapi.util.Segment):Z
- intersects(com.intellij.openapi.util.TextRange):Z
- intersectsStrict(I,I):Z
- intersectsStrict(com.intellij.openapi.util.TextRange):Z
- isEmpty():Z
- s:isProperRange(I,I):Z
- replace(java.lang.String,java.lang.String):java.lang.String
- shiftLeft(I):com.intellij.openapi.util.TextRange
- shiftRight(I):com.intellij.openapi.util.TextRange
- subSequence(java.lang.CharSequence):java.lang.CharSequence
- substring(java.lang.String):java.lang.String
- toString():java.lang.String
- union(com.intellij.openapi.util.TextRange):com.intellij.openapi.util.TextRange
f:com.intellij.openapi.util.text.Formats
- <init>():V
- s:formatDuration(J):java.lang.String
- s:formatDuration(J,java.lang.String):java.lang.String
- s:formatDuration(java.time.Duration):java.lang.String
- s:formatFileSize(J):java.lang.String
- s:formatFileSize(J,java.lang.String):java.lang.String
f:com.intellij.openapi.util.text.LineTokenizer
- <init>(java.lang.CharSequence):V
- <init>(C[],I,I):V
- advance():V
- atEnd():Z
- s:calcLineCount(java.lang.CharSequence,Z):I
- getLength():I
- getLineSeparatorLength():I
- getOffset():I
- s:tokenize(java.lang.CharSequence,Z):java.lang.String[]
- s:tokenize(java.lang.CharSequence,Z,Z):java.lang.String[]
- s:tokenize(C[],I,I,Z):java.lang.String[]
- s:tokenize(C[],I,I,Z,Z):java.lang.String[]
- s:tokenize(C[],Z):java.lang.String[]
- s:tokenize(C[],Z,Z):java.lang.String[]
- s:tokenizeIntoList(java.lang.CharSequence,Z):java.util.List
- s:tokenizeIntoList(java.lang.CharSequence,Z,Z):java.util.List
f:com.intellij.openapi.util.text.NaturalComparator
- java.util.Comparator
- sf:INSTANCE:java.util.Comparator
- <init>():V
- b:compare(java.lang.Object,java.lang.Object):I
- compare(java.lang.String,java.lang.String):I
f:com.intellij.openapi.util.text.Strings
- sf:EMPTY_CHAR_SEQUENCE:java.lang.CharSequence
- <init>():V
- s:areSameInstance(java.lang.String,java.lang.String):Z
- s:capitalize(java.lang.String):java.lang.String
- s:charsEqualIgnoreCase(C,C):Z
- s:charsMatch(C,C,Z):Z
- s:compare(C,C,Z):I
- s:compare(java.lang.CharSequence,java.lang.CharSequence,Z):I
- s:contains(java.lang.CharSequence,I,I,C):Z
- s:contains(java.lang.CharSequence,java.lang.CharSequence):Z
- s:containsAnyChar(java.lang.String,java.lang.String):Z
- s:containsAnyChar(java.lang.String,java.lang.String,I,I):Z
- s:containsChar(java.lang.String,C):Z
- s:convertLineSeparators(java.lang.String):java.lang.String
- s:convertLineSeparators(java.lang.String,java.lang.String):java.lang.String
- s:convertLineSeparators(java.lang.String,java.lang.String,I[]):java.lang.String
- s:convertLineSeparators(java.lang.String,Z):java.lang.String
- s:countChars(java.lang.CharSequence,C):I
- s:countChars(java.lang.CharSequence,C,I,I,Z):I
- s:countChars(java.lang.CharSequence,C,I,Z):I
- s:endsWith(java.lang.CharSequence,java.lang.CharSequence):Z
- s:endsWithChar(java.lang.CharSequence,C):Z
- s:endsWithIgnoreCase(java.lang.CharSequence,java.lang.String):Z
- s:equalsIgnoreWhitespaces(java.lang.CharSequence,java.lang.CharSequence):Z
- s:equalsTrimWhitespaces(java.lang.CharSequence,java.lang.CharSequence):Z
- s:escapeToRegexp(java.lang.CharSequence,java.lang.StringBuilder):java.lang.StringBuilder
- s:escapeXmlEntities(java.lang.String):java.lang.String
- s:indexOf(java.lang.CharSequence,C):I
- s:indexOf(java.lang.CharSequence,C,I):I
- s:indexOf(java.lang.CharSequence,C,I,I):I
- s:indexOf(java.lang.CharSequence,C,I,I,Z):I
- s:indexOf(java.lang.CharSequence,java.lang.CharSequence):I
- s:indexOf(java.lang.CharSequence,java.lang.CharSequence,I):I
- s:indexOf(java.lang.CharSequence,java.lang.CharSequence,I,I):I
- s:indexOf(C[],C,I,I,Z):I
- s:indexOfAny(java.lang.CharSequence,java.lang.String):I
- s:indexOfAny(java.lang.CharSequence,java.lang.String,I,I):I
- s:indexOfAny(java.lang.String,java.lang.String):I
- s:indexOfAny(java.lang.String,java.lang.String,I,I):I
- s:indexOfIgnoreCase(java.lang.CharSequence,java.lang.CharSequence,I):I
- s:indexOfIgnoreCase(java.lang.String,C,I):I
- s:indexOfIgnoreCase(java.lang.String,java.lang.String,I):I
- s:isAscii(C):Z
- s:isCapitalized(java.lang.String):Z
- s:isDecimalDigit(C):Z
- s:isEmpty(java.lang.CharSequence):Z
- s:isEmpty(java.lang.String):Z
- s:isEmptyOrSpaces(java.lang.CharSequence):Z
- s:isNotEmpty(java.lang.String):Z
- s:isNotNegativeNumber(java.lang.CharSequence):Z
- s:isWhiteSpace(C):Z
- s:join(java.lang.Iterable,com.intellij.util.Function,java.lang.String):java.lang.String
- s:join(java.lang.Iterable,com.intellij.util.Function,java.lang.String,java.lang.StringBuilder):V
- s:join(java.lang.Iterable,java.lang.String):java.lang.String
- s:join(java.util.Collection,com.intellij.util.Function,java.lang.String):java.lang.String
- s:join(java.util.Collection,java.lang.String):java.lang.String
- s:join(java.util.Collection,java.lang.String,java.lang.StringBuilder):V
- s:join(I[],java.lang.String):java.lang.String
- s:join(java.lang.Object[],com.intellij.util.Function,java.lang.String):java.lang.String
- s:join(java.lang.String[]):java.lang.String
- s:notNullize(java.lang.String):java.lang.String
- s:notNullize(java.lang.String,java.lang.String):java.lang.String
- s:nullize(java.lang.String):java.lang.String
- s:nullize(java.lang.String,java.lang.String):java.lang.String
- s:nullize(java.lang.String,Z):java.lang.String
- s:pluralize(java.lang.String):java.lang.String
- s:replace(java.lang.String,java.util.List,java.util.List):java.lang.String
- s:startsWith(java.lang.CharSequence,I,java.lang.CharSequence):Z
- s:stringHashCode(java.lang.CharSequence):I
- s:stringHashCode(java.lang.CharSequence,I,I):I
- s:stringHashCode(java.lang.CharSequence,I,I,I):I
- s:stringHashCode(C[],I,I):I
- s:stringHashCodeIgnoreWhitespaces(java.lang.CharSequence):I
- s:stringHashCodeInsensitive(java.lang.CharSequence):I
- s:stringHashCodeInsensitive(java.lang.CharSequence,I,I):I
- s:stringHashCodeInsensitive(java.lang.CharSequence,I,I,I):I
- s:stringHashCodeInsensitive(C[],I,I):I
- s:toLowerCase(C):C
- s:toLowerCase(java.lang.String):java.lang.String
- s:toUpperCase(C):C
- s:toUpperCase(java.lang.String):java.lang.String
- s:trim(java.lang.String):java.lang.String
- s:trimEnd(java.lang.String,C):java.lang.String
- s:trimEnd(java.lang.String,java.lang.String):java.lang.String
- s:trimEnd(java.lang.String,java.lang.String,Z):java.lang.String
- s:trimStart(java.lang.String,java.lang.String):java.lang.String
- s:unescapeXmlEntities(java.lang.String):java.lang.String
- s:unpluralize(java.lang.String):java.lang.String
c:com.intellij.reference.SoftReference
- java.lang.ref.SoftReference
- java.util.function.Supplier
- <init>(java.lang.Object):V
- <init>(java.lang.Object,java.lang.ref.ReferenceQueue):V
- s:deref(java.util.function.Supplier):java.lang.Object
- s:dereference(java.lang.ref.Reference):java.lang.Object
com.intellij.util.ArrayFactory
- a:create(I):java.lang.Object[]
f:com.intellij.util.ArrayUtil
- sf:EMPTY_BYTE_ARRAY:B[]
- sf:EMPTY_CHAR_ARRAY:C[]
- sf:EMPTY_CHAR_SEQUENCE:java.lang.CharSequence
- sf:EMPTY_CLASS_ARRAY:java.lang.Class[]
- sf:EMPTY_DOUBLE_ARRAY:D[]
- sf:EMPTY_FILE_ARRAY:java.io.File[]
- sf:EMPTY_INT_ARRAY:I[]
- sf:EMPTY_LONG_ARRAY:J[]
- sf:EMPTY_OBJECT_ARRAY:java.lang.Object[]
- sf:EMPTY_RUNNABLE_ARRAY:java.lang.Runnable[]
- sf:EMPTY_STRING_ARRAY:java.lang.String[]
- sf:OBJECT_ARRAY_FACTORY:com.intellij.util.ArrayFactory
- sf:STRING_ARRAY_FACTORY:com.intellij.util.ArrayFactory
- s:append(B[],B):B[]
- s:append(I[],I):I[]
- s:append(J[],J):J[]
- s:append(java.lang.Object[],java.lang.Object):java.lang.Object[]
- s:append(java.lang.Object[],java.lang.Object,com.intellij.util.ArrayFactory):java.lang.Object[]
- s:append(java.lang.Object[],java.lang.Object,java.lang.Class):java.lang.Object[]
- s:append(Z[],Z):Z[]
- s:areEqual(java.lang.Object[],java.lang.Object[],java.util.function.BiPredicate):Z
- s:averageAmongMedians(I[],I):J
- s:averageAmongMedians(J[],I):J
- s:contains(java.lang.Object,java.lang.Object[]):Z
- s:contains(java.lang.String,java.lang.String[]):Z
- s:copy(java.util.Collection,java.lang.Object[],I):V
- s:copyOf(B[]):B[]
- s:copyOf(I[]):I[]
- s:copyOf(java.lang.Object[]):java.lang.Object[]
- s:copyOf(Z[]):Z[]
- s:ensureExactSize(I,java.lang.Object[]):java.lang.Object[]
- s:equals(java.lang.Object[],java.lang.Object[],java.util.Comparator):Z
- s:find(I[],I):I
- s:find(java.lang.Object[],java.lang.Object):I
- s:getComponentType(java.lang.Object[]):java.lang.Class
- s:getFirstElement(java.lang.Object[]):java.lang.Object
- s:getLastElement(I[],I):I
- s:getLastElement(java.lang.Object[]):java.lang.Object
- s:indexOf(java.util.List,java.lang.Object,java.util.function.BiPredicate):I
- s:indexOf(B[],B[],I):I
- s:indexOf(I[],I):I
- s:indexOf(J[],J):I
- s:indexOf(java.lang.Object[],java.lang.Object):I
- s:indexOf(java.lang.Object[],java.lang.Object,java.util.function.BiPredicate):I
- s:indexOfIdentity(java.lang.Object[],java.lang.Object):I
- s:insert(C[],I,C):C[]
- s:insert(I[],I,I):I[]
- s:insert(J[],I,J):J[]
- s:insert(java.lang.Object[],I,java.lang.Object):java.lang.Object[]
- s:intersection(I[],I[]):I[]
- s:isEmpty(java.lang.Object[]):Z
- s:lastIndexOf(I[],I):I
- s:lastIndexOf(java.lang.Object[],java.lang.Object):I
- s:lastIndexOfNot(I[],I):I
- s:lexicographicCompare(I[],I[]):I
- s:lexicographicCompare(java.lang.Comparable[],java.lang.Comparable[]):I
- s:lexicographicCompare(java.lang.String[],java.lang.String[]):I
- s:max(D[]):D
- s:max(I[]):I
- s:mergeArrayAndCollection(java.lang.Object[],java.util.Collection,com.intellij.util.ArrayFactory):java.lang.Object[]
- s:mergeArrays(B[],B[]):B[]
- s:mergeArrays(I[],I[]):I[]
- s:mergeArrays(java.lang.Object[],java.lang.Object[]):java.lang.Object[]
- s:mergeArrays(java.lang.Object[],java.lang.Object[],com.intellij.util.ArrayFactory):java.lang.Object[]
- s:mergeArrays(java.lang.String[],java.lang.String[]):java.lang.String[]
- s:mergeCollections(java.util.Collection,java.util.Collection,com.intellij.util.ArrayFactory):java.lang.Object[]
- s:mergeSortedArrays(I[],I[],Z):I[]
- s:min(I[]):I
- s:newArray(java.lang.Class,I):java.lang.Object[]
- s:newByteArray(I):B[]
- s:newIntArray(I):I[]
- s:newLongArray(I):J[]
- s:newObjectArray(I):java.lang.Object[]
- s:newStringArray(I):java.lang.String[]
- s:prepend(B,B[]):B[]
- s:prepend(java.lang.Object,java.lang.Object[]):java.lang.Object[]
- s:prepend(java.lang.Object,java.lang.Object[],com.intellij.util.ArrayFactory):java.lang.Object[]
- s:prepend(java.lang.Object,java.lang.Object[],java.lang.Class):java.lang.Object[]
- s:realloc(B[],I):B[]
- s:realloc(C[],I):C[]
- s:realloc(D[],I):D[]
- s:realloc(I[],I):I[]
- s:realloc(J[],I):J[]
- s:realloc(java.lang.Object[],I,com.intellij.util.ArrayFactory):java.lang.Object[]
- s:realloc(S[],I):S[]
- s:realloc(Z[],I):Z[]
- s:remove(I[],I):I[]
- s:remove(java.lang.Object[],I):java.lang.Object[]
- s:remove(java.lang.Object[],I,com.intellij.util.ArrayFactory):java.lang.Object[]
- s:remove(java.lang.Object[],java.lang.Object):java.lang.Object[]
- s:remove(java.lang.Object[],java.lang.Object,com.intellij.util.ArrayFactory):java.lang.Object[]
- s:remove(S[],I):S[]
- s:reverseArray(I[]):I[]
- s:reverseArray(java.lang.Object[]):java.lang.Object[]
- s:rotateLeft(java.lang.Object[],I,I):V
- s:rotateRight(java.lang.Object[],I,I):V
- s:startsWith(B[],I,B[]):Z
- s:startsWith(B[],B[]):Z
- s:startsWith(java.lang.Object[],java.lang.Object[]):Z
- s:stripTrailingNulls(java.lang.Object[]):java.lang.Object[]
- s:swap(C[],I,I):V
- s:swap(I[],I,I):V
- s:swap(java.lang.Object[],I,I):V
- s:swap(Z[],I,I):V
- s:toIntArray(java.util.Collection):I[]
- s:toObjectArray(java.lang.Class,java.lang.Object[]):java.lang.Object[]
- s:toObjectArray(java.util.Collection):java.lang.Object[]
- s:toObjectArray(java.util.Collection,java.lang.Class):java.lang.Object[]
- s:toStringArray(java.util.Collection):java.lang.String[]
com.intellij.util.Function
- java.util.function.Function
- apply(java.lang.Object):java.lang.Object
- a:fun(java.lang.Object):java.lang.Object
com.intellij.util.Function$Mono
- com.intellij.util.Function
c:com.intellij.util.IncorrectOperationException
- java.lang.RuntimeException
- <init>():V
- <init>(java.lang.String):V
- <init>(java.lang.String,java.lang.Exception):V
- <init>(java.lang.String,java.lang.Throwable):V
- <init>(java.lang.Throwable):V
f:com.intellij.util.IntPair
- f:first:I
- f:second:I
- <init>(I,I):V
- equals(java.lang.Object):Z
- hashCode():I
- toString():java.lang.String
f:com.intellij.util.ObjectUtilsRt
- <init>():V
- s:reachabilityFence(java.lang.Object):V
com.intellij.util.Processor
- a:process(java.lang.Object):Z
c:com.intellij.util.SmartList
- java.util.AbstractList
- java.util.RandomAccess
- <init>():V
- <init>(java.lang.Object):V
- <init>(java.util.Collection):V
- <init>(java.lang.Object[]):V
- add(I,java.lang.Object):V
- add(java.lang.Object):Z
- contains(java.lang.Object):Z
- equals(java.lang.Object):Z
- forEach(java.util.function.Consumer):V
- get(I):java.lang.Object
- getModificationCount():I
- indexOf(java.lang.Object):I
- iterator():java.util.Iterator
- remove(I):java.lang.Object
- p:removeRange(I,I):V
- set(I,java.lang.Object):java.lang.Object
- size():I
- sort(java.util.Comparator):V
- toArray(java.lang.Object[]):java.lang.Object[]
- trimToSize():V
f:com.intellij.util.SystemProperties
- s:getBooleanProperty(java.lang.String,Z):Z
- s:getFloatProperty(java.lang.String,F):F
- s:getIntProperty(java.lang.String,I):I
- s:getJavaHome():java.lang.String
- s:getLineSeparator():java.lang.String
- s:getLongProperty(java.lang.String,J):J
- s:getUserHome():java.lang.String
- s:getUserName():java.lang.String
- s:setProperty(java.lang.String,java.lang.String):java.lang.String
f:com.intellij.util.containers.CollectionFactory
- <init>():V
- s:createCaseInsensitiveStringMap():java.util.Map
- s:createCaseInsensitiveStringMap(I):java.util.Map
- s:createCaseInsensitiveStringMap(java.util.Map):java.util.Map
- s:createCaseInsensitiveStringSet():java.util.Set
- s:createCaseInsensitiveStringSet(I):java.util.Set
- s:createCaseInsensitiveStringSet(java.util.Collection):java.util.Set
- s:createCharSequenceMap(I,F,Z):java.util.Map
- s:createCharSequenceMap(Z):java.util.Map
- s:createCharSequenceMap(Z,I,F):java.util.Map
- s:createCharSequenceSet(java.util.List):java.util.Set
- s:createCharSequenceSet(Z):java.util.Set
- s:createCharSequenceSet(Z,I):java.util.Set
- s:createCharSequenceSet(Z,I,F):java.util.Set
- s:createConcurrentSoftKeySoftValueMap(I,F,I):java.util.concurrent.ConcurrentMap
- s:createConcurrentSoftMap():java.util.concurrent.ConcurrentMap
- s:createConcurrentSoftMap(I,F,I,com.intellij.util.containers.HashingStrategy):java.util.concurrent.ConcurrentMap
- s:createConcurrentSoftMap(java.util.function.BiConsumer):java.util.concurrent.ConcurrentMap
- s:createConcurrentSoftValueMap():java.util.concurrent.ConcurrentMap
- s:createConcurrentSoftValueMap(java.util.function.BiConsumer):java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakCaseInsensitiveMap():java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakIdentityMap():java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakKeySoftValueIdentityMap(I,F,I):java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakKeySoftValueMap():java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakKeySoftValueMap(I,F,I,com.intellij.util.containers.HashingStrategy):java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakKeyWeakValueIdentityMap():java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakKeyWeakValueMap():java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakKeyWeakValueMap(com.intellij.util.containers.HashingStrategy):java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakMap():java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakMap(I,F,I,com.intellij.util.containers.HashingStrategy):java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakMap(com.intellij.util.containers.HashingStrategy):java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakValueMap():java.util.concurrent.ConcurrentMap
- s:createConcurrentWeakValueMap(java.util.function.BiConsumer):java.util.concurrent.ConcurrentMap
- s:createCustomHashingStrategyMap(I,com.intellij.util.containers.HashingStrategy):java.util.Map
- s:createCustomHashingStrategyMap(com.intellij.util.containers.HashingStrategy):java.util.Map
- s:createCustomHashingStrategySet(com.intellij.util.containers.HashingStrategy):java.util.Set
- s:createFilePathLinkedMap():java.util.Map
- s:createFilePathLinkedSet():java.util.Set
- s:createFilePathMap():java.util.Map
- s:createFilePathMap(I):java.util.Map
- s:createFilePathMap(I,Z):java.util.Map
- s:createFilePathSet():java.util.Set
- s:createFilePathSet(I):java.util.Set
- s:createFilePathSet(I,Z):java.util.Set
- s:createFilePathSet(java.util.Collection):java.util.Set
- s:createFilePathSet(java.util.Collection,Z):java.util.Set
- s:createFilePathSet(java.lang.String[],Z):java.util.Set
- s:createLinkedCustomHashingStrategyMap(com.intellij.util.containers.HashingStrategy):java.util.Map
- s:createLinkedCustomHashingStrategySet(com.intellij.util.containers.HashingStrategy):java.util.Set
- s:createSmallMemoryFootprintLinkedMap():java.util.Map
- s:createSmallMemoryFootprintLinkedSet():java.util.Set
- s:createSmallMemoryFootprintMap():java.util.Map
- s:createSmallMemoryFootprintMap(I):java.util.Map
- s:createSmallMemoryFootprintMap(I,F):java.util.Map
- s:createSmallMemoryFootprintMap(java.util.Map):java.util.Map
- s:createSmallMemoryFootprintSet():java.util.Set
- s:createSmallMemoryFootprintSet(I):java.util.Set
- s:createSmallMemoryFootprintSet(java.util.Collection):java.util.Set
- s:createSoftKeySoftValueMap():java.util.Map
- s:createSoftMap():java.util.Map
- s:createWeakIdentityMap(I,F):java.util.Map
- s:createWeakKeySoftValueMap():java.util.Map
- s:createWeakKeyWeakValueMap():java.util.Map
- s:createWeakMap():java.util.Map
- s:createWeakMap(I,F,com.intellij.util.containers.HashingStrategy):java.util.Map
- s:trimMap(java.util.Map):V
- s:trimSet(java.util.Set):V
c:com.intellij.util.containers.ConcurrentWeakKeySoftValueHashMap
- java.util.concurrent.ConcurrentMap
- p:<init>(I,F,I):V
- p:<init>(I,F,I,com.intellij.util.containers.HashingStrategy):V
- clear():V
- containsKey(java.lang.Object):Z
- containsValue(java.lang.Object):Z
- p:createValueReference(java.lang.Object,java.lang.ref.ReferenceQueue):com.intellij.util.containers.ConcurrentWeakKeySoftValueHashMap$ValueReference
- entrySet():java.util.Set
- get(java.lang.Object):java.lang.Object
- isEmpty():Z
- keySet():java.util.Set
- put(java.lang.Object,java.lang.Object):java.lang.Object
- putAll(java.util.Map):V
- putIfAbsent(java.lang.Object,java.lang.Object):java.lang.Object
- remove(java.lang.Object):java.lang.Object
- remove(java.lang.Object,java.lang.Object):Z
- replace(java.lang.Object,java.lang.Object):java.lang.Object
- replace(java.lang.Object,java.lang.Object,java.lang.Object):Z
- size():I
- values():java.util.Collection
com.intellij.util.containers.ConcurrentWeakKeySoftValueHashMap$KeyReference
- java.util.function.Supplier
- a:equals(java.lang.Object):Z
- a:get():java.lang.Object
- a:getValueReference():com.intellij.util.containers.ConcurrentWeakKeySoftValueHashMap$ValueReference
- a:hashCode():I
com.intellij.util.containers.ConcurrentWeakKeySoftValueHashMap$ValueReference
- java.util.function.Supplier
- a:get():java.lang.Object
- a:getKeyReference():com.intellij.util.containers.ConcurrentWeakKeySoftValueHashMap$KeyReference
f:com.intellij.util.containers.FList
- java.util.AbstractList
- s:createFromReversed(java.lang.Iterable):com.intellij.util.containers.FList
- s:emptyList():com.intellij.util.containers.FList
- equals(java.lang.Object):Z
- get(I):java.lang.Object
- getHead():java.lang.Object
- getTail():com.intellij.util.containers.FList
- hashCode():I
- iterator():java.util.Iterator
- prepend(java.lang.Object):com.intellij.util.containers.FList
- s:singleton(java.lang.Object):com.intellij.util.containers.FList
- size():I
- without(java.lang.Object):com.intellij.util.containers.FList
f:com.intellij.util.containers.FileCollectionFactory
- <init>():V
- s:createCanonicalFileLinkedSet():java.util.Set
- s:createCanonicalFileMap():java.util.Map
- s:createCanonicalFileMap(I):java.util.Map
- s:createCanonicalFileMap(java.util.Map):java.util.Map
- s:createCanonicalFilePathLinkedMap():java.util.Map
- s:createCanonicalFilePathSet():java.util.Set
- s:createCanonicalFileSet():java.util.Set
- s:createCanonicalFileSet(java.util.Collection):java.util.Set
- s:createCanonicalPathLinkedMap():java.util.Map
- s:createCanonicalPathSet():java.util.Set
- s:createCanonicalPathSet(java.util.Collection):java.util.Set
com.intellij.util.containers.HashingStrategy
- s:canonical():com.intellij.util.containers.HashingStrategy
- s:caseInsensitive():com.intellij.util.containers.HashingStrategy
- s:caseInsensitiveCharSequence():com.intellij.util.containers.HashingStrategy
- s:caseSensitiveCharSequence():com.intellij.util.containers.HashingStrategy
- a:equals(java.lang.Object,java.lang.Object):Z
- a:hashCode(java.lang.Object):I
- s:identity():com.intellij.util.containers.HashingStrategy
a:com.intellij.util.containers.Interner
- <init>():V
- a:clear():V
- s:createInterner():com.intellij.util.containers.Interner
- s:createStringInterner():com.intellij.util.containers.Interner
- s:createWeakInterner():com.intellij.util.containers.Interner
- a:getValues():java.util.Set
- a:intern(java.lang.Object):java.lang.Object
com.intellij.util.containers.PeekableIterator
- java.util.Iterator
- sf:EMPTY:com.intellij.util.containers.PeekableIterator
- a:peek():java.lang.Object
c:com.intellij.util.containers.PeekableIteratorWrapper
- com.intellij.util.containers.PeekableIterator
- <init>(java.util.Iterator):V
- hasNext():Z
- next():java.lang.Object
- peek():java.lang.Object
- remove():V
f:com.intellij.util.containers.SoftArrayHashMap
- java.lang.Cloneable
- <init>():V
- clear():V
- clone():com.intellij.util.containers.SoftArrayHashMap
- b:clone():java.lang.Object
- containsKey(java.lang.Object[]):Z
- 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
- <init>():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
- pf:myChars:C[]
- pf:myEnd:I
- pf:myStart:I
- <init>(C[]):V
- <init>(C[],I,I):V
- f:charAt(I):C
- equals(java.lang.Object):Z
- getChars():C[]
- getChars(C[],I):V
- hashCode():I
- f:length():I
- readCharsTo(I,C[],I,I):I
- subSequence(I,I):java.lang.CharSequence
- toString():java.lang.String
com.intellij.util.text.CharArrayExternalizable
- java.lang.CharSequence
- a:getChars(I,I,C[],I):V
f:com.intellij.util.text.CharArrayUtil
- s:containLineBreaks(java.lang.CharSequence):Z
- s:containLineBreaks(java.lang.CharSequence,I,I):Z
- s:containsOnlyWhiteSpaces(java.lang.CharSequence):Z
- s:createImmutableCharSequence(java.lang.CharSequence):com.intellij.util.text.ImmutableCharSequence
- s:equals(C[],I,I,C[],I,I):Z
- s:fromSequence(java.lang.CharSequence):C[]
- s:fromSequence(java.lang.CharSequence,I,I):C[]
- s:fromSequenceWithoutCopying(java.lang.CharSequence):C[]
- s:getChars(java.lang.CharSequence,C[],I):V
- s:getChars(java.lang.CharSequence,C[],I,I):V
- s:getChars(java.lang.CharSequence,C[],I,I,I):V
- s:getIndents(java.lang.CharSequence,I):com.intellij.openapi.util.TextRange[]
- s:indexOf(java.lang.CharSequence,java.lang.CharSequence,I):I
- s:indexOf(java.lang.CharSequence,java.lang.CharSequence,I,I):I
- s:indexOf(C[],C,I,I):I
- s:indexOf(C[],java.lang.String,I):I
- s:isEmptyOrSpaces(java.lang.CharSequence,I,I):Z
- s:lastIndexOf(java.lang.CharSequence,java.lang.String,I):I
- s:lastIndexOf(C[],C,I,I):I
- s:lastIndexOf(C[],java.lang.String,I):I
- s:readerFromCharSequence(java.lang.CharSequence):java.io.Reader
- s:regionMatches(java.lang.CharSequence,I,I,java.lang.CharSequence):Z
- s:regionMatches(java.lang.CharSequence,I,I,java.lang.CharSequence,I,I):Z
- s:regionMatches(java.lang.CharSequence,I,I,java.lang.CharSequence,I,I,Z):Z
- s:regionMatches(java.lang.CharSequence,I,java.lang.CharSequence):Z
- s:regionMatches(C[],I,I,java.lang.CharSequence):Z
- s:shiftBackward(java.lang.CharSequence,I,I,java.lang.String):I
- s:shiftBackward(java.lang.CharSequence,I,java.lang.String):I
- s:shiftBackward(C[],I,java.lang.String):I
- s:shiftBackwardUntil(java.lang.CharSequence,I,java.lang.String):I
- s:shiftForward(java.lang.CharSequence,I,I,java.lang.String):I
- s:shiftForward(java.lang.CharSequence,I,java.lang.String):I
- s:shiftForward(C[],I,java.lang.String):I
- s:shiftForwardCarefully(java.lang.CharSequence,I,java.lang.String):I
- s:shiftForwardUntil(java.lang.CharSequence,I,java.lang.String):I
c:com.intellij.util.text.CharSequenceBackedByChars
- com.intellij.util.text.CharArrayCharSequence
- <init>(java.nio.CharBuffer):V
- <init>(C[]):V
- <init>(C[],I,I):V
- getByteBuffer():java.nio.ByteBuffer
- subSequence(I,I):java.lang.CharSequence
f:com.intellij.util.text.CharSequenceReader
- java.io.Reader
- <init>(java.lang.CharSequence):V
- close():V
- read():I
- read(C[],I,I):I
c:com.intellij.util.text.CharSequenceSubSequence
- com.intellij.util.text.CharArrayExternalizable
- java.lang.CharSequence
- <init>(java.lang.CharSequence):V
- <init>(java.lang.CharSequence,I,I):V
- f:charAt(I):C
- equals(java.lang.Object):Z
- getChars(I,I,C[],I):V
- hashCode():I
- f:length():I
- subSequence(I,I):java.lang.CharSequence
- toString():java.lang.String
a:com.intellij.util.text.ImmutableCharSequence
- java.lang.CharSequence
- <init>():V
- s:asImmutable(java.lang.CharSequence):java.lang.CharSequence
- a:concat(java.lang.CharSequence):com.intellij.util.text.ImmutableCharSequence
- a:delete(I,I):com.intellij.util.text.ImmutableCharSequence
- a:insert(I,java.lang.CharSequence):com.intellij.util.text.ImmutableCharSequence
- replace(I,I,java.lang.CharSequence):com.intellij.util.text.ImmutableCharSequence
- a:subtext(I,I):com.intellij.util.text.ImmutableCharSequence
- a:toString():java.lang.String
com.intellij.util.text.Matcher
- a:matches(java.lang.String):Z
f:com.intellij.util.text.MergingCharSequence
- java.lang.CharSequence
- <init>(java.lang.CharSequence,java.lang.CharSequence):V
- charAt(I):C
- length():I
- subSequence(I,I):java.lang.CharSequence
- toString():java.lang.String
f:com.intellij.util.text.NameUtilCore
- <init>():V
- s:isWordStart(java.lang.String,I):Z
- s:nameToWords(java.lang.String):java.lang.String[]
- s:nextWord(java.lang.String,I):I
- s:splitNameIntoWords(java.lang.String):java.lang.String[]
- s:uniqName(java.lang.String,java.util.function.Predicate):java.lang.String
f:com.intellij.util.text.SemVer
- java.lang.Comparable
- <init>(java.lang.String,I,I,I):V
- <init>(java.lang.String,I,I,I,java.lang.String):V
- compareTo(com.intellij.util.text.SemVer):I
- b:compareTo(java.lang.Object):I
- equals(java.lang.Object):Z
- getMajor():I
- getMinor():I
- getParsedVersion():java.lang.String
- getPatch():I
- getPreRelease():java.lang.String
- getRawVersion():java.lang.String
- hashCode():I
- isGreaterOrEqualThan(I,I,I):Z
- isGreaterOrEqualThan(com.intellij.util.text.SemVer):Z
- isGreaterThan(com.intellij.util.text.SemVer):Z
- s:parseFromText(java.lang.String):com.intellij.util.text.SemVer
- toString():java.lang.String
f:com.intellij.util.text.StringOperation
- s:applyOperations(java.lang.CharSequence,java.util.Collection):java.lang.CharSequence
- equals(java.lang.Object):Z
- getRange():com.intellij.openapi.util.TextRange
- getReplacement():java.lang.CharSequence
- hashCode():I
- s:insert(I,java.lang.CharSequence):com.intellij.util.text.StringOperation
- s:remove(I,I):com.intellij.util.text.StringOperation
- s:remove(com.intellij.openapi.util.TextRange):com.intellij.util.text.StringOperation
- s:replace(I,I,java.lang.CharSequence):com.intellij.util.text.StringOperation
- s:replace(com.intellij.openapi.util.TextRange,java.lang.CharSequence):com.intellij.util.text.StringOperation
f:com.intellij.util.text.StringSearcher
- <init>(java.lang.String,Z,Z):V
- <init>(java.lang.String,Z,Z,Z):V
- <init>(java.lang.String,Z,Z,Z,Z):V
- equals(java.lang.Object):Z
- findAllOccurrences(java.lang.CharSequence):I[]
- getPattern():java.lang.String
- getPatternLength():I
- hashCode():I
- isCaseSensitive():Z
- isHandleEscapeSequences():Z
- isJavaIdentifier():Z
- processOccurrences(java.lang.CharSequence,java.util.function.IntPredicate):Z
- scan(java.lang.CharSequence):I
- scan(java.lang.CharSequence,I,I):I
- scan(java.lang.CharSequence,C[],I,I):I
- toString():java.lang.String

View File

@@ -1,7 +1,7 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. // 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.diagnostic; package com.intellij.diagnostic;
import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.ApiStatus.Internal;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -10,12 +10,12 @@ import java.lang.management.ThreadInfo;
/** /**
* Represents thread dump of the IDE captured by its performance diagnostic tool. * Represents thread dump of the IDE captured by its performance diagnostic tool.
*/ */
@Internal
public final class ThreadDump { public final class ThreadDump {
private final String myRawDump; private final String myRawDump;
private final StackTraceElement[] myEdtStack; private final StackTraceElement[] myEdtStack;
private final ThreadInfo[] myThreadInfos; private final ThreadInfo[] myThreadInfos;
@ApiStatus.Internal
public ThreadDump(@NotNull String rawDump, StackTraceElement @Nullable [] edtStack, ThreadInfo @NotNull [] threadInfos) { public ThreadDump(@NotNull String rawDump, StackTraceElement @Nullable [] edtStack, ThreadInfo @NotNull [] threadInfos) {
myRawDump = rawDump; myRawDump = rawDump;
myEdtStack = edtStack; myEdtStack = edtStack;

View File

@@ -32,6 +32,7 @@ public final class ThreadDumper {
return writer.toString(); return writer.toString();
} }
@Internal
public static @NotNull String dumpEdtStackTrace(ThreadInfo @NotNull [] threadInfos) { public static @NotNull String dumpEdtStackTrace(ThreadInfo @NotNull [] threadInfos) {
StringWriter writer = new StringWriter(); StringWriter writer = new StringWriter();
if (threadInfos.length > 0) { if (threadInfos.length > 0) {
@@ -41,6 +42,7 @@ public final class ThreadDumper {
return writer.toString(); return writer.toString();
} }
@Internal
public static @NotNull ThreadInfo @NotNull [] getThreadInfos() { public static @NotNull ThreadInfo @NotNull [] getThreadInfos() {
return getThreadInfos(ManagementFactory.getThreadMXBean(), true); return getThreadInfos(ManagementFactory.getThreadMXBean(), true);
} }
@@ -49,11 +51,12 @@ public final class ThreadDumper {
* @param stripCoroutineDump whether to remove stackframes from coroutine dump that have no useful debug information. * @param stripCoroutineDump whether to remove stackframes from coroutine dump that have no useful debug information.
* Enabling this flag should significantly reduce coroutine dump size. * Enabling this flag should significantly reduce coroutine dump size.
*/ */
@Internal
public static @NotNull ThreadDump getThreadDumpInfo(ThreadInfo @NotNull [] threadInfos, boolean stripCoroutineDump) { public static @NotNull ThreadDump getThreadDumpInfo(ThreadInfo @NotNull [] threadInfos, boolean stripCoroutineDump) {
sort(threadInfos); sort(threadInfos);
StringWriter writer = new StringWriter(); StringWriter writer = new StringWriter();
StackTraceElement[] edtStack = dumpThreadInfos(threadInfos, writer); StackTraceElement[] edtStack = dumpThreadInfos(threadInfos, writer);
String coroutineDump = CoroutineDumperKt.dumpCoroutines(null, stripCoroutineDump); String coroutineDump = CoroutineDumperKt.dumpCoroutines(null, stripCoroutineDump, true);
if (coroutineDump != null) { if (coroutineDump != null) {
if (stripCoroutineDump) { if (stripCoroutineDump) {
writer.write("\n" + COROUTINE_DUMP_HEADER_STRIPPED + "\n"); writer.write("\n" + COROUTINE_DUMP_HEADER_STRIPPED + "\n");
@@ -66,6 +69,7 @@ public final class ThreadDumper {
return new ThreadDump(writer.toString(), edtStack, threadInfos); return new ThreadDump(writer.toString(), edtStack, threadInfos);
} }
@Internal
public static ThreadInfo @NotNull [] getThreadInfos(@NotNull ThreadMXBean threadMXBean, boolean sort) { public static ThreadInfo @NotNull [] getThreadInfos(@NotNull ThreadMXBean threadMXBean, boolean sort) {
ThreadInfo[] threads; ThreadInfo[] threads;
try { try {
@@ -88,10 +92,12 @@ public final class ThreadDumper {
return threads; return threads;
} }
@Internal
public static boolean isEDT(@NotNull ThreadInfo info) { public static boolean isEDT(@NotNull ThreadInfo info) {
return isEDT(info.getThreadName()); return isEDT(info.getThreadName());
} }
@Internal
public static boolean isEDT(@Nullable String threadName) { public static boolean isEDT(@Nullable String threadName) {
return threadName != null && (Boolean.getBoolean("jb.dispatching.on.main.thread")? threadName.contains("AppKit") return threadName != null && (Boolean.getBoolean("jb.dispatching.on.main.thread")? threadName.contains("AppKit")
: threadName.startsWith("AWT-EventQueue")); : threadName.startsWith("AWT-EventQueue"));
@@ -110,6 +116,7 @@ public final class ThreadDumper {
return edtStack; return edtStack;
} }
@Internal
public static ThreadInfo @NotNull [] sort(@NotNull ThreadInfo @NotNull [] threads) { public static ThreadInfo @NotNull [] sort(@NotNull ThreadInfo @NotNull [] threads) {
Arrays.sort(threads, Comparator Arrays.sort(threads, Comparator
.comparing((ThreadInfo threadInfo) -> !isEDT(threadInfo.getThreadName())) // show EDT first .comparing((ThreadInfo threadInfo) -> !isEDT(threadInfo.getThreadName())) // show EDT first
@@ -155,6 +162,7 @@ public final class ThreadDumper {
} }
} }
@Internal
public static void dumpCallStack(@NotNull Thread thread, @NotNull Writer f, StackTraceElement @NotNull [] stackTraceElements) { public static void dumpCallStack(@NotNull Thread thread, @NotNull Writer f, StackTraceElement @NotNull [] stackTraceElements) {
try { try {
@NonNls StringBuilder sb = new StringBuilder("\"").append(thread.getName()).append("\""); @NonNls StringBuilder sb = new StringBuilder("\"").append(thread.getName()).append("\"");
@@ -185,6 +193,7 @@ public final class ThreadDumper {
* *
* @param fullThreadDump lines comprising a thread dump as formatted by {@link #dumpCallStack(ThreadInfo, Writer, StackTraceElement[])} * @param fullThreadDump lines comprising a thread dump as formatted by {@link #dumpCallStack(ThreadInfo, Writer, StackTraceElement[])}
*/ */
@Internal
public static @Nullable String getEdtStackForCrash(@NotNull String fullThreadDump, @NotNull String exceptionType) { public static @Nullable String getEdtStackForCrash(@NotNull String fullThreadDump, @NotNull String exceptionType) {
// We know that the AWT-EventQueue-* thread is dumped out first (see #sort above), and for each thread, there are at the very least // We know that the AWT-EventQueue-* thread is dumped out first (see #sort above), and for each thread, there are at the very least
// 3 lines printed out before the stack trace. If we don't see any of this, then return early // 3 lines printed out before the stack trace. If we don't see any of this, then return early

View File

@@ -29,10 +29,12 @@ fun isCoroutineDumpHeader(line: String): Boolean {
return line == COROUTINE_DUMP_HEADER || line == COROUTINE_DUMP_HEADER_STRIPPED return line == COROUTINE_DUMP_HEADER || line == COROUTINE_DUMP_HEADER_STRIPPED
} }
@Internal
fun isCoroutineDumpEnabled(): Boolean { fun isCoroutineDumpEnabled(): Boolean {
return DebugProbes.isInstalled return DebugProbes.isInstalled
} }
@Internal
fun enableCoroutineDump(): Result<Unit> { fun enableCoroutineDump(): Result<Unit> {
return runCatching { return runCatching {
DebugProbes.enableCreationStackTraces = false DebugProbes.enableCreationStackTraces = false
@@ -45,7 +47,7 @@ fun enableCoroutineDump(): Result<Unit> {
* @param deduplicateTrees deduplicate identical coroutine job trees in the dump. If there are multiple identical repetitions of a job tree, * @param deduplicateTrees deduplicate identical coroutine job trees in the dump. If there are multiple identical repetitions of a job tree,
* such tree will have `-[x<number> of]` prefix in the dump. * such tree will have `-[x<number> of]` prefix in the dump.
*/ */
@JvmOverloads //@JvmOverloads
fun dumpCoroutines(scope: CoroutineScope? = null, stripDump: Boolean = true, deduplicateTrees: Boolean = true): String? { fun dumpCoroutines(scope: CoroutineScope? = null, stripDump: Boolean = true, deduplicateTrees: Boolean = true): String? {
if (!isCoroutineDumpEnabled()) { if (!isCoroutineDumpEnabled()) {
return null return null

View File

@@ -1,11 +1,15 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
@file:Internal
package com.intellij.diagnostic package com.intellij.diagnostic
import com.intellij.diagnostic.StackframeShrinkVerdict.* import com.intellij.diagnostic.StackframeShrinkVerdict.*
import org.jetbrains.annotations.ApiStatus.Internal
import org.jetbrains.annotations.VisibleForTesting import org.jetbrains.annotations.VisibleForTesting
// Here "library" stands for kotlinx.coroutines library // Here "library" stands for kotlinx.coroutines library
@Internal
@VisibleForTesting @VisibleForTesting
fun stripCoroutineTrace(trace: List<StackTraceElement>): List<StackTraceElement> { fun stripCoroutineTrace(trace: List<StackTraceElement>): List<StackTraceElement> {
if (trace.isEmpty()) { if (trace.isEmpty()) {

View File

@@ -1,11 +1,14 @@
// 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. // 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.text; package com.intellij.openapi.util.text;
import org.jetbrains.annotations.ApiStatus.Internal;
/** /**
* This interface implementations must have {@code hashCode} values equal to those for String. * This interface implementations must have {@code hashCode} values equal to those for String.
* *
* @see com.intellij.openapi.util.text.StringUtil#stringHashCode(CharSequence) * @see com.intellij.openapi.util.text.StringUtil#stringHashCode(CharSequence)
*/ */
@Internal
public interface CharSequenceWithStringHash extends CharSequence { public interface CharSequenceWithStringHash extends CharSequence {
@Override @Override
int hashCode(); int hashCode();

View File

@@ -1,7 +1,8 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. // 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.text; package com.intellij.openapi.util.text;
import org.intellij.lang.annotations.Language; import org.intellij.lang.annotations.Language;
import org.jetbrains.annotations.ApiStatus.Internal;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.util.Arrays; import java.util.Arrays;
@@ -12,6 +13,7 @@ import java.util.stream.Collectors;
/** /**
* A utility class to suggest variable names for literals based on their content * A utility class to suggest variable names for literals based on their content
*/ */
@Internal // consider integrating into NameUtilCore
public final class LiteralNameSuggester { public final class LiteralNameSuggester {
private static final class PatternBasedSuggestions { private static final class PatternBasedSuggestions {
private final @NotNull Pattern pattern; private final @NotNull Pattern pattern;

View File

@@ -26,6 +26,7 @@
package com.intellij.openapi.util.text; package com.intellij.openapi.util.text;
import com.intellij.util.containers.CollectionFactory; import com.intellij.util.containers.CollectionFactory;
import org.jetbrains.annotations.ApiStatus.Internal;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -46,6 +47,7 @@ import java.util.regex.Pattern;
* @author gregsh * @author gregsh
* @noinspection SpellCheckingInspection, HardCodedStringLiteral * @noinspection SpellCheckingInspection, HardCodedStringLiteral
*/ */
@Internal
public final class Pluralizer { public final class Pluralizer {
static final Pluralizer PLURALIZER; static final Pluralizer PLURALIZER;

View File

@@ -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. // 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.smRunner package com.intellij.smRunner
import org.jetbrains.annotations.ApiStatus.Internal
import java.util.concurrent.atomic.AtomicReference import java.util.concurrent.atomic.AtomicReference
import kotlin.math.min import kotlin.math.min
@@ -28,6 +29,7 @@ import kotlin.math.min
* *
* If [cutNewLineBeforeServiceMessage] is set, each service message must have "\n" prefix which is cut. * If [cutNewLineBeforeServiceMessage] is set, each service message must have "\n" prefix which is cut.
*/ */
@Internal
abstract class OutputEventSplitterBase<T>(private val serviceMessagePrefix: String, abstract class OutputEventSplitterBase<T>(private val serviceMessagePrefix: String,
private val bufferTextUntilNewLine: Boolean, private val bufferTextUntilNewLine: Boolean,
private val cutNewLineBeforeServiceMessage: Boolean) { private val cutNewLineBeforeServiceMessage: Boolean) {

View File

@@ -4,7 +4,7 @@ package com.intellij.util.containers;
import com.intellij.util.IncorrectOperationException; import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public final class RefValueHashMapUtil { final class RefValueHashMapUtil {
public static @NotNull IncorrectOperationException pointlessContainsKey() { public static @NotNull IncorrectOperationException pointlessContainsKey() {
return new IncorrectOperationException("containsKey() makes no sense for weak/soft map because GC can clear the value any moment now"); return new IncorrectOperationException("containsKey() makes no sense for weak/soft map because GC can clear the value any moment now");
} }

View File

@@ -4,6 +4,7 @@ package com.intellij.util.text;
import com.intellij.ReviseWhenPortedToJDK; import com.intellij.ReviseWhenPortedToJDK;
import com.intellij.openapi.util.text.CharSequenceWithStringHash; import com.intellij.openapi.util.text.CharSequenceWithStringHash;
import com.intellij.openapi.util.text.Strings; import com.intellij.openapi.util.text.Strings;
import org.jetbrains.annotations.ApiStatus.Internal;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
@@ -11,6 +12,7 @@ import java.nio.charset.StandardCharsets;
/** /**
* Treats byte array as a sequence of chars in {@link StandardCharsets#US_ASCII} encoding * Treats byte array as a sequence of chars in {@link StandardCharsets#US_ASCII} encoding
*/ */
@Internal
@ReviseWhenPortedToJDK("9") @ReviseWhenPortedToJDK("9")
public final class ByteArrayCharSequence implements CharSequenceWithStringHash { public final class ByteArrayCharSequence implements CharSequenceWithStringHash {
private final int myStart; private final int myStart;

View File

@@ -1,7 +1,8 @@
// 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. // 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.util.text; package com.intellij.util.text;
import org.jetbrains.annotations.ApiStatus.Internal;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**
@@ -12,6 +13,7 @@ import org.jetbrains.annotations.NotNull;
* @see CharArrayUtil#getChars(CharSequence, char[], int) * @see CharArrayUtil#getChars(CharSequence, char[], int)
* @see CharArrayUtil#fromSequenceWithoutCopying(CharSequence) * @see CharArrayUtil#fromSequenceWithoutCopying(CharSequence)
*/ */
@Internal
public interface CharSequenceBackedByArray extends CharSequence { public interface CharSequenceBackedByArray extends CharSequence {
// NOT guaranteed to return the array of the length of the original charSequence.length() - may be more for performance reasons. // NOT guaranteed to return the array of the length of the original charSequence.length() - may be more for performance reasons.
char @NotNull [] getChars(); char @NotNull [] getChars();

View File

@@ -1,16 +1,16 @@
// 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. // 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.util.text; package com.intellij.util.text;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.io.Reader; import java.io.Reader;
public class UnsyncCharArrayReader extends Reader { class UnsyncCharArrayReader extends Reader {
private final char[] myText; private final char[] myText;
private final int myLength; private final int myLength;
private int myCurPos; private int myCurPos;
public UnsyncCharArrayReader(final char[] text, int offset, int length) { UnsyncCharArrayReader(final char[] text, int offset, int length) {
myText = text; myText = text;
myLength = length; myLength = length;
myCurPos = offset; myCurPos = offset;