diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/psiUtil/jetPsiUtil.kt b/compiler/frontend/src/org/jetbrains/jet/lang/psi/psiUtil/jetPsiUtil.kt index 6c8d36c3a76..29638e7979b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/psiUtil/jetPsiUtil.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/psiUtil/jetPsiUtil.kt @@ -94,8 +94,8 @@ public fun JetClass.isAbstract(): Boolean = isTrait() || hasModifier(JetTokens.A [suppress("UNCHECKED_CAST")] public fun PsiElement.replaced(newElement: T): T = replace(newElement) as T -public fun JetElement.blockExpressionsOrSingle(): Iterator = - if (this is JetBlockExpression) getStatements().iterator() else SingleIterator(this) +public fun JetElement.blockExpressionsOrSingle(): Stream = + if (this is JetBlockExpression) getStatements().stream() else listOf(this).stream() public fun JetElement.outermostLastBlockElement(predicate: (JetElement) -> Boolean = { true }): JetElement? { return JetPsiUtil.getOutermostLastBlockElement(this) { e -> e != null && predicate(e) } diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightMethodForDeclaration.kt b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightMethodForDeclaration.kt index a513b7b90fc..8e15f922e40 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightMethodForDeclaration.kt +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightMethodForDeclaration.kt @@ -52,7 +52,7 @@ public class KotlinLightMethodForDeclaration( cacheManager.createCachedValue({ val parameterBuilder = LightParameterListBuilder(getManager(), JetLanguage.INSTANCE) - for ((index, parameter) in delegate.getParameterList().getParameters().withIndices_tmp()) { + for ((index, parameter) in delegate.getParameterList().getParameters().withIndices()) { parameterBuilder.addParameter(KotlinLightParameter(parameter, index, this)) } diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt index 32769fa325b..17cce121c59 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt @@ -132,7 +132,7 @@ public class LazyJavaClassMemberScope( val methods = jClass.getMethods() val result = ArrayList(methods.size()) - for ((index, method) in methods.withIndices_tmp()) { + for ((index, method) in methods.withIndices()) { assert(method.getValueParameters().isEmpty(), "Annotation method can't have parameters: " + method) val jReturnType = method.getReturnType() ?: throw AssertionError("Annotation method has no return type: " + method) diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt index 3d58a889495..4c2f7eed70f 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaMemberScope.kt @@ -173,7 +173,7 @@ public abstract class LazyJavaMemberScope( jValueParameters: List ): ResolvedValueParameters { var synthesizedNames = false - val descriptors = jValueParameters.withIndices_tmp().map_tmp { + val descriptors = jValueParameters.withIndices().map { pair -> val (index, javaParameter) = pair diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt index 1f3da087553..25ca250653d 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/types/LazyJavaTypeResolver.kt @@ -191,7 +191,7 @@ class LazyJavaTypeResolver( return typeParameters.map { p -> TypeProjectionImpl(ErrorUtils.createErrorType(p.getName().asString())) } } var howTheProjectionIsUsed = if (attr.howThisTypeIsUsed == SUPERTYPE) SUPERTYPE_ARGUMENT else TYPE_ARGUMENT - return javaType.getTypeArguments().withIndices_tmp().map_tmp { + return javaType.getTypeArguments().withIndices().map { javaTypeParameter -> val (i, t) = javaTypeParameter val parameter = if (i >= typeParameters.size) diff --git a/core/util.runtime/src/org/jetbrains/jet/utils/Compatibility.kt b/core/util.runtime/src/org/jetbrains/jet/utils/Compatibility.kt deleted file mode 100644 index cda7ce880b2..00000000000 --- a/core/util.runtime/src/org/jetbrains/jet/utils/Compatibility.kt +++ /dev/null @@ -1,87 +0,0 @@ -package org.jetbrains.jet.utils - -import java.util.ArrayList -import kotlin.support.AbstractIterator - -//TODO: Remove after updating to new stdlib -[deprecated("use streams instead")] -fun Iterable.firstOrNull_tmp() : T? { - val iterator = this.iterator() - return if (iterator.hasNext()) iterator.next() else null -} - -[deprecated("use streams instead")] -public inline fun Map.filter_tmp(predicate: (Map.Entry)->Boolean) : List> { - return filterTo_tmp(ArrayList>(), predicate) -} - -[deprecated("use streams instead")] -public inline fun >> Map.filterTo_tmp(collection: C, predicate: (Map.Entry) -> Boolean) : C { - for (element in this) if (predicate(element)) collection.add(element) - return collection -} - -[deprecated("use streams instead")] -public fun Iterator.zip_tmp(iterator: Iterator): Iterator> = PairIterator_tmp(this, iterator) -[deprecated("use streams instead")] -public fun Iterable.zip_tmp(second: Iterable): Iterable> { - val list = ArrayList>() - for (item in iterator().zip_tmp(second.iterator())) { - list.add(item) - } - return list -} - -[deprecated("use streams instead")] -public fun Iterator.map_tmp(transform : (T) -> R) : Iterator { - return MapIterator_tmp(this, transform) -} - -[deprecated("use streams instead")] -class MapIterator_tmp(val iterator : Iterator, val transform: (T) -> R) : AbstractIterator() { - override protected fun computeNext() : Unit { - if (iterator.hasNext()) { - setNext((transform)(iterator.next())) - } else { - done() - } - } -} - -[deprecated("use streams instead")] -public fun Iterable.withIndices_tmp() : Iterator> { - return IndexIterator_tmp(iterator()) -} - -[deprecated("use streams instead")] -public fun Array.withIndices_tmp() : Iterator> { - return IndexIterator_tmp(iterator()) -} - -[deprecated("use streams instead")] -class IndexIterator_tmp(val iterator : Iterator): Iterator> { - private var index : Int = 0 - - override fun next(): Pair { - return Pair(index++, iterator.next()) - } - - override fun hasNext(): Boolean { - return iterator.hasNext() - } -} - -[deprecated("use streams instead")] -public class PairIterator_tmp( - val iterator1 : Iterator, val iterator2 : Iterator -): AbstractIterator>() { - protected override fun computeNext() { - if (iterator1.hasNext() && iterator2.hasNext()) { - setNext(Pair(iterator1.next(), iterator2.next())) - } - else { - done() - } - } -} - diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/KotlinCopyPasteReferenceProcessor.kt b/idea/src/org/jetbrains/jet/plugin/codeInsight/KotlinCopyPasteReferenceProcessor.kt index 7c5449ca523..b8d6485a3bf 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/KotlinCopyPasteReferenceProcessor.kt +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/KotlinCopyPasteReferenceProcessor.kt @@ -60,8 +60,6 @@ import org.jetbrains.jet.lang.psi.JetTypeReference import com.intellij.util.containers.ContainerUtil import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils import org.jetbrains.jet.plugin.imports.* -import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor -import org.jetbrains.jet.utils.* //NOTE: this class is based on CopyPasteReferenceProcessor and JavaCopyPasteReferenceProcessor public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor { @@ -358,7 +356,7 @@ private val ReferenceData.fqName: FqName private fun zip(first: IntArray, second: IntArray): Iterable> { assert(first.size == second.size) - return first.toList().zip_tmp(second.toList()) + return first.zip(second.toList()) } private fun PsiElement.isInCopiedArea(fileCopiedFrom: JetFile, startOffsets: IntArray, endOffsets: IntArray): Boolean { diff --git a/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceExplicitFunctionLiteralParamWithItIntention.kt b/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceExplicitFunctionLiteralParamWithItIntention.kt index 01610cb1c65..d89c75e8b9c 100644 --- a/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceExplicitFunctionLiteralParamWithItIntention.kt +++ b/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceExplicitFunctionLiteralParamWithItIntention.kt @@ -31,7 +31,6 @@ import org.jetbrains.jet.lang.descriptors.impl.AnonymousFunctionDescriptor import org.jetbrains.jet.lang.resolve.BindingContextUtils import org.jetbrains.jet.plugin.references.JetReference import org.jetbrains.jet.lang.descriptors.VariableDescriptor -import org.jetbrains.jet.utils.firstOrNull_tmp public class ReplaceExplicitFunctionLiteralParamWithItIntention() : PsiElementBaseIntentionAction() { override fun invoke(project: Project, editor: Editor, element: PsiElement) { @@ -75,7 +74,7 @@ public class ReplaceExplicitFunctionLiteralParamWithItIntention() : PsiElementBa } is JetSimpleNameExpression -> { val reference = expression.getReference() as JetReference? - val variableDescriptor = reference?.resolveToDescriptors()?.firstOrNull_tmp() as? VariableDescriptor? + val variableDescriptor = reference?.resolveToDescriptors()?.firstOrNull() as? VariableDescriptor? if (variableDescriptor != null) { val containingDescriptor = variableDescriptor.getContainingDeclaration() if (containingDescriptor is AnonymousFunctionDescriptor) { diff --git a/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt b/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt index b907b32a6fd..e6ade302640 100644 --- a/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt +++ b/idea/src/org/jetbrains/jet/plugin/intentions/ReplaceItWithExplicitFunctionLiteralParamIntention.kt @@ -33,7 +33,6 @@ import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor import org.jetbrains.jet.lang.resolve.BindingContextUtils import org.jetbrains.jet.lang.psi.JetFunctionLiteral import org.jetbrains.jet.plugin.references.JetReference -import org.jetbrains.jet.utils.firstOrNull_tmp public class ReplaceItWithExplicitFunctionLiteralParamIntention() : PsiElementBaseIntentionAction() { override fun invoke(project: Project, editor: Editor, element: PsiElement) { @@ -64,7 +63,7 @@ public class ReplaceItWithExplicitFunctionLiteralParamIntention() : PsiElementBa val bindingContext = AnalyzerFacadeWithCache.getContextForElement(simpleNameExpression) val reference = simpleNameExpression.getReference() as JetReference? - val simpleNameTarget = reference?.resolveToDescriptors()?.firstOrNull_tmp() as? ValueParameterDescriptor? + val simpleNameTarget = reference?.resolveToDescriptors()?.firstOrNull() as? ValueParameterDescriptor? if (simpleNameTarget == null || bindingContext.get(BindingContext.AUTO_CREATED_IT, simpleNameTarget) != true) { return false } diff --git a/idea/src/org/jetbrains/jet/plugin/intentions/branchedTransformations/branchedTransformationUtils.kt b/idea/src/org/jetbrains/jet/plugin/intentions/branchedTransformations/branchedTransformationUtils.kt index 6b14e32117d..12e17eaf7b1 100644 --- a/idea/src/org/jetbrains/jet/plugin/intentions/branchedTransformations/branchedTransformationUtils.kt +++ b/idea/src/org/jetbrains/jet/plugin/intentions/branchedTransformations/branchedTransformationUtils.kt @@ -329,7 +329,7 @@ public fun JetWhenExpression.canMergeWithNext(): Boolean { val conditions1 = e1.getConditions().toList() val conditions2 = e2.getConditions().toList() return conditions1.size == conditions2.size && - (conditions1 zip_tmp conditions2).all { pair -> JetPsiMatcher.checkElementMatch(pair.first, pair.second)} + (conditions1 zip conditions2).all { pair -> JetPsiMatcher.checkElementMatch(pair.first, pair.second)} } fun JetWhenEntry.declarationNames(): Set = @@ -354,7 +354,7 @@ public fun JetWhenExpression.canMergeWithNext(): Boolean { val entries1 = getEntries() val entries2 = sibling.getEntries() - return entries1.size == entries2.size && (entries1 zip_tmp entries2).all { pair -> + return entries1.size == entries2.size && (entries1 zip entries2).all { pair -> checkConditions(pair.first, pair.second) && checkBodies(pair.first, pair.second) } } @@ -374,7 +374,7 @@ public fun JetWhenExpression.mergeWithNext() { } val sibling = PsiTreeUtil.skipSiblingsForward(this, javaClass()) as JetWhenExpression - for ((entry1, entry2) in getEntries() zip_tmp sibling.getEntries()) { + for ((entry1, entry2) in getEntries() zip sibling.getEntries()) { entry1.getExpression() mergeWith entry2.getExpression() } diff --git a/idea/src/org/jetbrains/jet/plugin/util/JetPsiPrecedences.kt b/idea/src/org/jetbrains/jet/plugin/util/JetPsiPrecedences.kt index 1e600e01137..14711838b3e 100644 --- a/idea/src/org/jetbrains/jet/plugin/util/JetPsiPrecedences.kt +++ b/idea/src/org/jetbrains/jet/plugin/util/JetPsiPrecedences.kt @@ -31,7 +31,7 @@ public object JetPsiPrecedences { private val precedence: Map { val builder = HashMap() - for ((i, record) in JetExpressionParsing.Precedence.values().withIndices_tmp()) { + for ((i, record) in JetExpressionParsing.Precedence.values().withIndices()) { for (elementType in record.getOperations().getTypes()) { builder[elementType] = i }