diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/findUsages/UsageTypeUtils.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/findUsages/UsageTypeUtils.kt index e0753924c12..a53551c73d3 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/findUsages/UsageTypeUtils.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/findUsages/UsageTypeUtils.kt @@ -109,7 +109,7 @@ public object UsageTypeUtils { with(refExpr.getParentOfTypeAndBranch(){ getRight() }) { val opType = this?.getOperationReference()?.getReferencedNameElementType() - opType == JetTokens.AS_KEYWORD || opType == JetTokens.AS_SAFE + opType == JetTokens.AS_KEYWORD || opType == JetTokens.AS_SAFE || opType == JetTokens.COLON } -> CLASS_CAST_TO diff --git a/idea/testData/findUsages/kotlin/findClassUsages/kotlinClassAllUsages.1.kt b/idea/testData/findUsages/kotlin/findClassUsages/kotlinClassAllUsages.1.kt index 078d27cf306..f7966c82a47 100644 --- a/idea/testData/findUsages/kotlin/findClassUsages/kotlinClassAllUsages.1.kt +++ b/idea/testData/findUsages/kotlin/findClassUsages/kotlinClassAllUsages.1.kt @@ -41,5 +41,5 @@ fun Any.asServer(): Server? { when (this) { is Server -> println("Server!") } - return if (this is Server) this as Server else null + return if (this is Server) this: Server else this as? Server } \ No newline at end of file diff --git a/idea/testData/findUsages/kotlin/findClassUsages/kotlinClassAllUsages.results.txt b/idea/testData/findUsages/kotlin/findClassUsages/kotlinClassAllUsages.results.txt index 27afd19aceb..382678767ba 100644 --- a/idea/testData/findUsages/kotlin/findClassUsages/kotlinClassAllUsages.results.txt +++ b/idea/testData/findUsages/kotlin/findClassUsages/kotlinClassAllUsages.results.txt @@ -12,6 +12,7 @@ Supertype (23: 23) companion object: Server() { Supertype (28: 22) object ClientObject: Server() { Supertype (5: 43) class Client(name: String = Server.NAME): Server() { Target type of 'is' operation (42: 12) is Server -> println("Server!") -Target type of 'is' operation (44: 24) return if (this is Server) this as Server else null -Usage in cast target type (44: 40) return if (this is Server) this as Server else null +Target type of 'is' operation (44: 24) return if (this is Server) this: Server else this as? Server +Usage in cast target type (44: 38) return if (this is Server) this: Server else this as? Server +Usage in cast target type (44: 59) return if (this is Server) this: Server else this as? Server Usage in import (3: 15) import server.Server