Renamed firstOrNullIsInstance
This commit is contained in:
@@ -24,12 +24,12 @@ import org.jetbrains.jet.lang.psi.JetPsiFactory
|
|||||||
import com.intellij.psi.PsiWhiteSpace
|
import com.intellij.psi.PsiWhiteSpace
|
||||||
import com.intellij.psi.PsiErrorElement
|
import com.intellij.psi.PsiErrorElement
|
||||||
import org.jetbrains.jet.lang.psi.JetCallableDeclaration
|
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? {
|
fun getTypeReference(declaration: JetCallableDeclaration): JetTypeReference? {
|
||||||
return declaration.getFirstChild()!!.siblings(forward = true)
|
return declaration.getFirstChild()!!.siblings(forward = true)
|
||||||
.dropWhile { it.getNode()!!.getElementType() != JetTokens.COLON }
|
.dropWhile { it.getNode()!!.getElementType() != JetTokens.COLON }
|
||||||
.firstOrNullIsInstance<JetTypeReference>()
|
.firstIsInstanceOrNull<JetTypeReference>()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setTypeReference(declaration: JetCallableDeclaration, addAfter: PsiElement?, typeRef: JetTypeReference?): JetTypeReference? {
|
fun setTypeReference(declaration: JetCallableDeclaration, addAfter: PsiElement?, typeRef: JetTypeReference?): JetTypeReference? {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ import org.jetbrains.jet.storage.StorageManager
|
|||||||
import org.jetbrains.jet.context.LazinessToken
|
import org.jetbrains.jet.context.LazinessToken
|
||||||
import org.jetbrains.jet.lang.resolve.lazy.LazyEntity
|
import org.jetbrains.jet.lang.resolve.lazy.LazyEntity
|
||||||
import org.jetbrains.jet.lang.resolve.lazy.ForceResolveUtil
|
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(
|
public class TypeResolver(
|
||||||
private val annotationResolver: AnnotationResolver,
|
private val annotationResolver: AnnotationResolver,
|
||||||
@@ -276,7 +276,7 @@ public class TypeResolver(
|
|||||||
|
|
||||||
public fun resolveClass(scope: JetScope, userType: JetUserType, trace: BindingTrace): ClassifierDescriptor? {
|
public fun resolveClass(scope: JetScope, userType: JetUserType, trace: BindingTrace): ClassifierDescriptor? {
|
||||||
val classifierDescriptor = qualifiedExpressionResolver.lookupDescriptorsForUserType(userType, scope, trace)
|
val classifierDescriptor = qualifiedExpressionResolver.lookupDescriptorsForUserType(userType, scope, trace)
|
||||||
.firstOrNullIsInstance<ClassifierDescriptor>()
|
.firstIsInstanceOrNull<ClassifierDescriptor>()
|
||||||
if (classifierDescriptor != null) {
|
if (classifierDescriptor != null) {
|
||||||
ImportsResolver.reportPlatformClassMappedToKotlin(moduleDescriptor, trace, userType, classifierDescriptor)
|
ImportsResolver.reportPlatformClassMappedToKotlin(moduleDescriptor, trace, userType, classifierDescriptor)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,19 +36,19 @@ public fun <T: Any> T?.singletonOrEmptyList(): List<T> = if (this != null) Colle
|
|||||||
public fun <T: Any> T?.singletonOrEmptySet(): Set<T> = if (this != null) Collections.singleton(this) else Collections.emptySet()
|
public fun <T: Any> T?.singletonOrEmptySet(): Set<T> = if (this != null) Collections.singleton(this) else Collections.emptySet()
|
||||||
|
|
||||||
[suppress("NOTHING_TO_INLINE")]
|
[suppress("NOTHING_TO_INLINE")]
|
||||||
public inline fun <reified T : Any> Stream<*>.firstOrNullIsInstance(): T? {
|
public inline fun <reified T : Any> Stream<*>.firstIsInstanceOrNull(): T? {
|
||||||
for (element in this) if (element is T) return element
|
for (element in this) if (element is T) return element
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
[suppress("NOTHING_TO_INLINE")]
|
[suppress("NOTHING_TO_INLINE")]
|
||||||
public inline fun <reified T : Any> Iterable<*>.firstOrNullIsInstance(): T? {
|
public inline fun <reified T : Any> Iterable<*>.firstIsInstanceOrNull(): T? {
|
||||||
for (element in this) if (element is T) return element
|
for (element in this) if (element is T) return element
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
[suppress("NOTHING_TO_INLINE")]
|
[suppress("NOTHING_TO_INLINE")]
|
||||||
public inline fun <reified T : Any> Array<*>.firstOrNullIsInstance(): T? {
|
public inline fun <reified T : Any> Array<*>.firstIsInstanceOrNull(): T? {
|
||||||
for (element in this) if (element is T) return element
|
for (element in this) if (element is T) return element
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import java.util.HashMap
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.jet.JetNodeTypes
|
import org.jetbrains.jet.JetNodeTypes
|
||||||
import org.jetbrains.jet.lang.psi.psiUtil.isProbablyNothing
|
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
|
import org.jetbrains.jet.lang.psi.psiUtil.isAncestor
|
||||||
|
|
||||||
//TODO: do resolve anonymous object's body
|
//TODO: do resolve anonymous object's body
|
||||||
@@ -432,7 +432,7 @@ class PartialBodyResolveFilter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun JetBlockExpression.lastStatement(): JetExpression?
|
private fun JetBlockExpression.lastStatement(): JetExpression?
|
||||||
= getLastChild()?.siblings(forward = false)?.firstOrNullIsInstance<JetExpression>()
|
= getLastChild()?.siblings(forward = false)?.firstIsInstanceOrNull<JetExpression>()
|
||||||
|
|
||||||
//TODO: declarations with special names (e.g. "get")
|
//TODO: declarations with special names (e.g. "get")
|
||||||
private class NameFilter {
|
private class NameFilter {
|
||||||
|
|||||||
@@ -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.scopes.DescriptorKindFilter
|
||||||
import org.jetbrains.jet.lang.resolve.calls.smartcasts.SmartCastUtils
|
import org.jetbrains.jet.lang.resolve.calls.smartcasts.SmartCastUtils
|
||||||
import org.jetbrains.jet.lang.resolve.bindingContextUtil.getDataFlowInfo
|
import org.jetbrains.jet.lang.resolve.bindingContextUtil.getDataFlowInfo
|
||||||
import org.jetbrains.jet.utils.addToStdlib.firstOrNullIsInstance
|
import org.jetbrains.jet.utils.addToStdlib.firstIsInstanceOrNull
|
||||||
|
|
||||||
class CompletionSessionConfiguration(
|
class CompletionSessionConfiguration(
|
||||||
val completeNonImportedDeclarations: Boolean,
|
val completeNonImportedDeclarations: Boolean,
|
||||||
@@ -50,7 +50,7 @@ abstract class CompletionSessionBase(protected val configuration: CompletionSess
|
|||||||
protected val parameters: CompletionParameters,
|
protected val parameters: CompletionParameters,
|
||||||
resultSet: CompletionResultSet) {
|
resultSet: CompletionResultSet) {
|
||||||
protected val position: PsiElement = parameters.getPosition()
|
protected val position: PsiElement = parameters.getPosition()
|
||||||
protected val jetReference: JetSimpleNameReference? = position.getParent()?.getReferences()?.filterIsInstance(javaClass<JetSimpleNameReference>())?.firstOrNull()
|
protected val jetReference: JetSimpleNameReference? = position.getParent()?.getReferences()?.firstIsInstanceOrNull<JetSimpleNameReference>()
|
||||||
private val file = position.getContainingFile() as JetFile
|
private val file = position.getContainingFile() as JetFile
|
||||||
protected val resolutionFacade: ResolutionFacade = file.getResolutionFacade()
|
protected val resolutionFacade: ResolutionFacade = file.getResolutionFacade()
|
||||||
protected val moduleDescriptor: ModuleDescriptor = resolutionFacade.findModuleDescriptor(file)
|
protected val moduleDescriptor: ModuleDescriptor = resolutionFacade.findModuleDescriptor(file)
|
||||||
|
|||||||
+2
-2
@@ -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.psiUtil.getQualifiedElement
|
||||||
import org.jetbrains.jet.lang.psi.JetClass
|
import org.jetbrains.jet.lang.psi.JetClass
|
||||||
import org.jetbrains.jet.plugin.quickfix.createFromUsage.callableBuilder.guessTypes
|
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.resolve.BindingContext
|
||||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor
|
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.lang.psi.psiUtil.getAssignmentByLHS
|
||||||
import org.jetbrains.jet.plugin.quickfix.createFromUsage.callableBuilder.getExpressionForTypeGuess
|
import org.jetbrains.jet.plugin.quickfix.createFromUsage.callableBuilder.getExpressionForTypeGuess
|
||||||
import org.jetbrains.jet.plugin.caches.resolve.analyzeFullyAndGetResult
|
import org.jetbrains.jet.plugin.caches.resolve.analyzeFullyAndGetResult
|
||||||
|
import org.jetbrains.jet.utils.addToStdlib.firstIsInstanceOrNull
|
||||||
|
|
||||||
object CreateParameterActionFactory: JetSingleIntentionActionFactory() {
|
object CreateParameterActionFactory: JetSingleIntentionActionFactory() {
|
||||||
private fun JetType.hasTypeParametersToAdd(functionDescriptor: FunctionDescriptor, context: BindingContext): Boolean {
|
private fun JetType.hasTypeParametersToAdd(functionDescriptor: FunctionDescriptor, context: BindingContext): Boolean {
|
||||||
@@ -86,7 +86,7 @@ object CreateParameterActionFactory: JetSingleIntentionActionFactory() {
|
|||||||
|
|
||||||
fun chooseContainingClass(it: PsiElement): JetClass? {
|
fun chooseContainingClass(it: PsiElement): JetClass? {
|
||||||
parameterInfo.setValOrVar(if (varExpected) JetValVar.Var else JetValVar.Val)
|
parameterInfo.setValOrVar(if (varExpected) JetValVar.Var else JetValVar.Val)
|
||||||
return it.parents(false).filterIsInstance(javaClass<JetClassOrObject>()).firstOrNull() as? JetClass
|
return it.parents(false).firstIsInstanceOrNull<JetClassOrObject>() as? JetClass
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo: skip lambdas for now because Change Signature doesn't apply to them yet
|
// todo: skip lambdas for now because Change Signature doesn't apply to them yet
|
||||||
|
|||||||
Reference in New Issue
Block a user