diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/TypeRefHelpers.kt b/compiler/frontend/src/org/jetbrains/jet/lang/psi/TypeRefHelpers.kt index a826fe4681d..2b7d25ecb67 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/TypeRefHelpers.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/TypeRefHelpers.kt @@ -24,12 +24,12 @@ import org.jetbrains.jet.lang.psi.JetPsiFactory import com.intellij.psi.PsiWhiteSpace import com.intellij.psi.PsiErrorElement import org.jetbrains.jet.lang.psi.JetCallableDeclaration -import org.jetbrains.jet.utils.addToStdlib.firstOrNullIsInstance +import org.jetbrains.jet.utils.addToStdlib.firstIsInstanceOrNull fun getTypeReference(declaration: JetCallableDeclaration): JetTypeReference? { return declaration.getFirstChild()!!.siblings(forward = true) .dropWhile { it.getNode()!!.getElementType() != JetTokens.COLON } - .firstOrNullIsInstance() + .firstIsInstanceOrNull() } fun setTypeReference(declaration: JetCallableDeclaration, addAfter: PsiElement?, typeRef: JetTypeReference?): JetTypeReference? { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeResolver.kt b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeResolver.kt index eb343a65b59..8875e952082 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeResolver.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeResolver.kt @@ -34,7 +34,7 @@ import org.jetbrains.jet.storage.StorageManager import org.jetbrains.jet.context.LazinessToken import org.jetbrains.jet.lang.resolve.lazy.LazyEntity import org.jetbrains.jet.lang.resolve.lazy.ForceResolveUtil -import org.jetbrains.jet.utils.addToStdlib.firstOrNullIsInstance +import org.jetbrains.jet.utils.addToStdlib.firstIsInstanceOrNull public class TypeResolver( private val annotationResolver: AnnotationResolver, @@ -276,7 +276,7 @@ public class TypeResolver( public fun resolveClass(scope: JetScope, userType: JetUserType, trace: BindingTrace): ClassifierDescriptor? { val classifierDescriptor = qualifiedExpressionResolver.lookupDescriptorsForUserType(userType, scope, trace) - .firstOrNullIsInstance() + .firstIsInstanceOrNull() if (classifierDescriptor != null) { ImportsResolver.reportPlatformClassMappedToKotlin(moduleDescriptor, trace, userType, classifierDescriptor) } diff --git a/compiler/util/src/org/jetbrains/jet/utils/addToStdlib.kt b/compiler/util/src/org/jetbrains/jet/utils/addToStdlib.kt index d80dee86026..9ca54e306ba 100644 --- a/compiler/util/src/org/jetbrains/jet/utils/addToStdlib.kt +++ b/compiler/util/src/org/jetbrains/jet/utils/addToStdlib.kt @@ -36,19 +36,19 @@ public fun T?.singletonOrEmptyList(): List = if (this != null) Colle public fun T?.singletonOrEmptySet(): Set = if (this != null) Collections.singleton(this) else Collections.emptySet() [suppress("NOTHING_TO_INLINE")] -public inline fun Stream<*>.firstOrNullIsInstance(): T? { +public inline fun Stream<*>.firstIsInstanceOrNull(): T? { for (element in this) if (element is T) return element return null } [suppress("NOTHING_TO_INLINE")] -public inline fun Iterable<*>.firstOrNullIsInstance(): T? { +public inline fun Iterable<*>.firstIsInstanceOrNull(): T? { for (element in this) if (element is T) return element return null } [suppress("NOTHING_TO_INLINE")] -public inline fun Array<*>.firstOrNullIsInstance(): T? { +public inline fun Array<*>.firstIsInstanceOrNull(): T? { for (element in this) if (element is T) return element return null } diff --git a/idea/ide-common/src/org/jetbrains/jet/lang/resolve/lazy/PartialBodyResolveFilter.kt b/idea/ide-common/src/org/jetbrains/jet/lang/resolve/lazy/PartialBodyResolveFilter.kt index 870c1769d63..de10e08a3dc 100644 --- a/idea/ide-common/src/org/jetbrains/jet/lang/resolve/lazy/PartialBodyResolveFilter.kt +++ b/idea/ide-common/src/org/jetbrains/jet/lang/resolve/lazy/PartialBodyResolveFilter.kt @@ -26,7 +26,7 @@ import java.util.HashMap import com.intellij.psi.PsiElement import org.jetbrains.jet.JetNodeTypes import org.jetbrains.jet.lang.psi.psiUtil.isProbablyNothing -import org.jetbrains.jet.utils.addToStdlib.firstOrNullIsInstance +import org.jetbrains.jet.utils.addToStdlib.firstIsInstanceOrNull import org.jetbrains.jet.lang.psi.psiUtil.isAncestor //TODO: do resolve anonymous object's body @@ -432,7 +432,7 @@ class PartialBodyResolveFilter( } private fun JetBlockExpression.lastStatement(): JetExpression? - = getLastChild()?.siblings(forward = false)?.firstOrNullIsInstance() + = getLastChild()?.siblings(forward = false)?.firstIsInstanceOrNull() //TODO: declarations with special names (e.g. "get") private class NameFilter { diff --git a/idea/src/org/jetbrains/jet/plugin/completion/CompletionSession.kt b/idea/src/org/jetbrains/jet/plugin/completion/CompletionSession.kt index 34d63ed7ed5..3515980c7bc 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/CompletionSession.kt +++ b/idea/src/org/jetbrains/jet/plugin/completion/CompletionSession.kt @@ -36,7 +36,7 @@ import org.jetbrains.jet.lang.resolve.java.descriptor.SamConstructorDescriptorKi import org.jetbrains.jet.lang.resolve.scopes.DescriptorKindFilter import org.jetbrains.jet.lang.resolve.calls.smartcasts.SmartCastUtils import org.jetbrains.jet.lang.resolve.bindingContextUtil.getDataFlowInfo -import org.jetbrains.jet.utils.addToStdlib.firstOrNullIsInstance +import org.jetbrains.jet.utils.addToStdlib.firstIsInstanceOrNull class CompletionSessionConfiguration( val completeNonImportedDeclarations: Boolean, @@ -50,7 +50,7 @@ abstract class CompletionSessionBase(protected val configuration: CompletionSess protected val parameters: CompletionParameters, resultSet: CompletionResultSet) { protected val position: PsiElement = parameters.getPosition() - protected val jetReference: JetSimpleNameReference? = position.getParent()?.getReferences()?.filterIsInstance(javaClass())?.firstOrNull() + protected val jetReference: JetSimpleNameReference? = position.getParent()?.getReferences()?.firstIsInstanceOrNull() private val file = position.getContainingFile() as JetFile protected val resolutionFacade: ResolutionFacade = file.getResolutionFacade() protected val moduleDescriptor: ModuleDescriptor = resolutionFacade.findModuleDescriptor(file) diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/createFromUsage/createVariable/CreateParameterActionFactory.kt b/idea/src/org/jetbrains/jet/plugin/quickfix/createFromUsage/createVariable/CreateParameterActionFactory.kt index 0cc0f0c5220..0c05574bff2 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/createFromUsage/createVariable/CreateParameterActionFactory.kt +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/createFromUsage/createVariable/CreateParameterActionFactory.kt @@ -13,7 +13,6 @@ import org.jetbrains.jet.lang.psi.JetSimpleNameExpression import org.jetbrains.jet.lang.psi.psiUtil.getQualifiedElement import org.jetbrains.jet.lang.psi.JetClass import org.jetbrains.jet.plugin.quickfix.createFromUsage.callableBuilder.guessTypes -import org.jetbrains.jet.plugin.caches.resolve.analyzeFully import org.jetbrains.jet.lang.resolve.BindingContext import org.jetbrains.jet.lang.descriptors.ClassDescriptor import org.jetbrains.jet.lang.descriptors.FunctionDescriptor @@ -41,6 +40,7 @@ import org.jetbrains.jet.lang.psi.JetNamedFunction import org.jetbrains.jet.lang.psi.psiUtil.getAssignmentByLHS import org.jetbrains.jet.plugin.quickfix.createFromUsage.callableBuilder.getExpressionForTypeGuess import org.jetbrains.jet.plugin.caches.resolve.analyzeFullyAndGetResult +import org.jetbrains.jet.utils.addToStdlib.firstIsInstanceOrNull object CreateParameterActionFactory: JetSingleIntentionActionFactory() { private fun JetType.hasTypeParametersToAdd(functionDescriptor: FunctionDescriptor, context: BindingContext): Boolean { @@ -86,7 +86,7 @@ object CreateParameterActionFactory: JetSingleIntentionActionFactory() { fun chooseContainingClass(it: PsiElement): JetClass? { parameterInfo.setValOrVar(if (varExpected) JetValVar.Var else JetValVar.Val) - return it.parents(false).filterIsInstance(javaClass()).firstOrNull() as? JetClass + return it.parents(false).firstIsInstanceOrNull() as? JetClass } // todo: skip lambdas for now because Change Signature doesn't apply to them yet