Classified usages in up casts correctly.

#KT-7047 fixed
This commit is contained in:
Evgeny Gerashchenko
2015-03-19 22:14:35 +03:00
parent e752dd0a80
commit 51fb4910a1
3 changed files with 5 additions and 4 deletions
@@ -109,7 +109,7 @@ public object UsageTypeUtils {
with(refExpr.getParentOfTypeAndBranch<JetBinaryExpressionWithTypeRHS>(){ 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
@@ -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
}
@@ -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