Cleanup: smart casts of safe call receiver applied (do NOT cherry-pick to 1.0.X)

This commit is contained in:
Mikhail Glukhikh
2016-07-22 16:37:34 +03:00
parent 26c8bc87fd
commit 692623cb55
9 changed files with 10 additions and 10 deletions
@@ -31,7 +31,7 @@ object ScriptNameUtil {
.map { if (it.startsWith('.')) it else ".$it" }
.firstOrNull { fileName.endsWith(it) }
?.let { fileName.length - it.length }
?: fileName.lastIndexOf('.')?.let { if (it < 0) fileName.length else it }
?: fileName.lastIndexOf('.').let { if (it < 0) fileName.length else it }
?: fileName.length
return fileName
.substring(nameStart, nameEnd)
@@ -168,7 +168,7 @@ class KotlinCompletionContributor : CompletionContributor() {
val classOrObject = tokenBefore?.parents?.firstIsInstanceOrNull<KtClassOrObject>() ?: return false
val name = classOrObject.nameIdentifier ?: return false
val body = classOrObject.getBody() ?: return false
val offset = tokenBefore!!.startOffset
val offset = tokenBefore.startOffset
return name.endOffset <= offset && offset <= body.startOffset
}
@@ -180,7 +180,7 @@ class KotlinCompletionContributor : CompletionContributor() {
val lambda = leaf?.parents?.firstOrNull { it is KtFunctionLiteral } ?: return null
val lambdaChild = leaf!!.parents.takeWhile { it != lambda }.lastOrNull()
val lambdaChild = leaf.parents.takeWhile { it != lambda }.lastOrNull()
return if (lambdaChild is KtParameterList)
CompletionUtilCore.DUMMY_IDENTIFIER_TRIMMED
@@ -133,7 +133,7 @@ class FrameVisitor(context: EvaluationContextImpl) {
private fun isFunctionType(type: Type?): Boolean {
return type?.sort == Type.OBJECT &&
type!!.internalName.startsWith(InlineCodegenUtil.NUMBERED_FUNCTION_PREFIX)
type.internalName.startsWith(InlineCodegenUtil.NUMBERED_FUNCTION_PREFIX)
}
private fun findLocalVariable(name: String, asmType: Type?, checkType: Boolean): Value? {
@@ -79,7 +79,7 @@ class AddLoopLabelFix(loop: KtLoopExpression, val jumpExpression: KtElement): Ko
assert(element is KtBreakExpression || element is KtContinueExpression)
assert((element as? KtLabeledExpression)?.getLabelName() == null)
val loop = element?.getStrictParentOfType<KtLoopExpression>() ?: return null
return AddLoopLabelFix(loop, element!!)
return AddLoopLabelFix(loop, element)
}
}
}
@@ -51,7 +51,7 @@ class KotlinParameterUsage(
) : KotlinExplicitReferenceUsage<KtElement>(element) {
override fun processReplacedElement(element: KtElement) {
val qualifiedExpression = element.parent as? KtQualifiedExpression
val elementToShorten = if (qualifiedExpression?.receiverExpression == element) qualifiedExpression!! else element
val elementToShorten = if (qualifiedExpression?.receiverExpression == element) qualifiedExpression else element
elementToShorten.addToShorteningWaitSet(Options(removeThis = true, removeThisLabels = true))
}
@@ -720,7 +720,7 @@ private fun ExtractionData.suggestFunctionNames(returnType: KotlinType): List<St
expressions.singleOrNull()?.let { expr ->
val property = expr.getStrictParentOfType<KtProperty>()
if (property?.initializer == expr) {
property?.name?.let { functionNames.add(KotlinNameSuggester.suggestNameByName("get" + it.capitalize(), validator)) }
property.name?.let { functionNames.add(KotlinNameSuggester.suggestNameByName("get" + it.capitalize(), validator)) }
}
}
@@ -235,7 +235,7 @@ class DefaultStatementConverter : JavaElementVisitor(), StatementConverter {
override fun visitWhileStatement(statement: PsiWhileStatement) {
val condition = statement.condition
val expression = if (condition?.type != null)
codeConverter.convertExpression(condition, condition!!.type)
codeConverter.convertExpression(condition, condition.type)
else
codeConverter.convertExpression(condition)
result = WhileStatement(expression, codeConverter.convertStatementOrBlock(statement.body), statement.isInSingleLine())
@@ -46,7 +46,7 @@ private class TypePredicateImpl
for (i in nameParts.lastIndex downTo 0) {
if (nameParts[i] != descriptor?.name?.asString()) return false
descriptor = descriptor?.containingDeclaration
descriptor = descriptor.containingDeclaration
}
return true
@@ -27,6 +27,6 @@ fun UElement?.getLocation(): Location? {
val psiFile = psiElement?.containingFile ?: return null
val vfile = psiFile.virtualFile
val file = VfsUtilCore.virtualToIoFile(vfile)
val range = psiElement?.textRange ?: return null
val range = psiElement.textRange ?: return null
return Location.create(file, psiFile.text, range.startOffset, range.endOffset)
}