Commit c2189e6f authored by Nicolay Mitropolsky's avatar Nicolay Mitropolsky
Browse files

KtUtils in *projectModel-api* rearranged

parent a18a5368
Showing with 18 additions and 16 deletions
+18 -16
......@@ -3,8 +3,8 @@
package com.intellij.util
import java.util.*
import com.intellij.openapi.util.Pair as JBPair
import com.intellij.util.containers.toArray as toArrayFromContainers
operator fun <A> JBPair<A, *>.component1(): A = first
operator fun <A> JBPair<*, A>.component2(): A = second
......@@ -14,13 +14,8 @@ fun <A : Any, B : Any> JBPair<A?, B?>.toNotNull(): Pair<A, B> {
return requireNotNull(first) to requireNotNull(second)
}
inline fun <reified E : Enum<E>, V> enumMapOf(): MutableMap<E, V> = EnumMap<E, V>(E::class.java)
fun <E> Collection<E>.toArray(empty: Array<E>): Array<E> {
@Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN", "UNCHECKED_CAST")
return (this as java.util.Collection<E>).toArray(empty)
}
fun <T> lazyPub(initializer: () -> T): Lazy<T> = lazy(LazyThreadSafetyMode.PUBLICATION, initializer)
@Deprecated(message = "moved to com.intellij.util.containers",
replaceWith = ReplaceWith("toArray", "com.intellij.util.containers.toArray"))
fun <E> Collection<E>.toArray(empty: Array<E>): Array<E> = toArrayFromContainers(empty)
inline fun <reified T> Any?.castSafelyTo(): T? = this as? T
\ No newline at end of file
......@@ -4,8 +4,6 @@ package com.intellij.util.containers
import com.intellij.util.SmartList
import com.intellij.util.lang.CompoundRuntimeException
import gnu.trove.THashSet
import java.io.FileInputStream
import java.nio.file.Path
import java.util.*
import java.util.stream.Stream
......@@ -185,4 +183,11 @@ inline fun <T> Collection<T>.filterSmart(predicate: (T) -> Boolean): List<T> {
inline fun <T> Collection<T>.filterSmartMutable(predicate: (T) -> Boolean): MutableList<T> {
return filterTo(if (size <= 1) SmartList() else ArrayList(), predicate)
}
inline fun <reified E : Enum<E>, V> enumMapOf(): MutableMap<E, V> = EnumMap<E, V>(E::class.java)
fun <E> Collection<E>.toArray(empty: Array<E>): Array<E> {
@Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN", "UNCHECKED_CAST")
return (this as java.util.Collection<E>).toArray(empty)
}
\ No newline at end of file
......@@ -16,3 +16,5 @@ package com.intellij.util
fun <T> recursionSafeLazy(recursionKey: Any? = null, initializer: () -> T): Lazy<T?> {
return RecursionPreventingSafePublicationLazy(recursionKey, initializer)
}
fun <T> lazyPub(initializer: () -> T): Lazy<T> = lazy(LazyThreadSafetyMode.PUBLICATION, initializer)
\ No newline at end of file
......@@ -6,7 +6,7 @@ import com.intellij.codeInspection.ProblemHighlightType
import com.intellij.psi.JavaPsiFacade
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiType
import com.intellij.util.toArray
import com.intellij.util.containers.toArray
import org.jetbrains.plugins.groovy.GroovyBundle.message
import org.jetbrains.plugins.groovy.highlighting.HighlightSink
import org.jetbrains.plugins.groovy.lang.psi.api.GroovyMethodResult
......
......@@ -12,7 +12,7 @@ import com.intellij.psi.util.CachedValueProvider.Result
import com.intellij.psi.util.CachedValuesManager
import com.intellij.psi.util.PsiTreeUtil.findFirstParent
import com.intellij.psi.util.PsiTreeUtil.getParentOfType
import com.intellij.util.toArray
import com.intellij.util.containers.toArray
import org.jetbrains.plugins.groovy.lang.parser.GroovyElementTypes
import org.jetbrains.plugins.groovy.lang.psi.GrControlFlowOwner
import org.jetbrains.plugins.groovy.lang.psi.GrReferenceElement
......
......@@ -6,7 +6,7 @@ import com.intellij.psi.PsiNamedElement
import com.intellij.psi.ResolveState
import com.intellij.psi.scope.NameHint
import com.intellij.psi.scope.ProcessorWithHints
import com.intellij.util.enumMapOf
import com.intellij.util.containers.enumMapOf
import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult
import org.jetbrains.plugins.groovy.lang.psi.util.elementInfo
import org.jetbrains.plugins.groovy.lang.resolve.*
......
......@@ -4,7 +4,7 @@ package org.jetbrains.plugins.groovy.lang.typing
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiType
import com.intellij.util.toArray
import com.intellij.util.containers.toArray
import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral
import org.jetbrains.plugins.groovy.lang.psi.impl.GrClosureType
import org.jetbrains.plugins.groovy.lang.psi.impl.signatures.GrClosureSignatureUtil.getReturnType
......
......@@ -8,7 +8,7 @@ import com.intellij.psi.impl.light.LightPsiClassBuilder
import com.intellij.psi.util.MethodSignature
import com.intellij.psi.util.MethodSignatureUtil.METHOD_PARAMETERS_ERASURE_EQUALITY
import com.intellij.util.containers.FactoryMap
import com.intellij.util.toArray
import com.intellij.util.containers.toArray
import gnu.trove.THashSet
import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrField
import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment