Cleanup: smart casts of safe call receiver applied (do NOT cherry-pick to 1.0.X)
This commit is contained in:
@@ -31,7 +31,7 @@ object ScriptNameUtil {
|
|||||||
.map { if (it.startsWith('.')) it else ".$it" }
|
.map { if (it.startsWith('.')) it else ".$it" }
|
||||||
.firstOrNull { fileName.endsWith(it) }
|
.firstOrNull { fileName.endsWith(it) }
|
||||||
?.let { fileName.length - it.length }
|
?.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
|
?: fileName.length
|
||||||
return fileName
|
return fileName
|
||||||
.substring(nameStart, nameEnd)
|
.substring(nameStart, nameEnd)
|
||||||
|
|||||||
+2
-2
@@ -168,7 +168,7 @@ class KotlinCompletionContributor : CompletionContributor() {
|
|||||||
val classOrObject = tokenBefore?.parents?.firstIsInstanceOrNull<KtClassOrObject>() ?: return false
|
val classOrObject = tokenBefore?.parents?.firstIsInstanceOrNull<KtClassOrObject>() ?: return false
|
||||||
val name = classOrObject.nameIdentifier ?: return false
|
val name = classOrObject.nameIdentifier ?: return false
|
||||||
val body = classOrObject.getBody() ?: return false
|
val body = classOrObject.getBody() ?: return false
|
||||||
val offset = tokenBefore!!.startOffset
|
val offset = tokenBefore.startOffset
|
||||||
return name.endOffset <= offset && offset <= body.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 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)
|
return if (lambdaChild is KtParameterList)
|
||||||
CompletionUtilCore.DUMMY_IDENTIFIER_TRIMMED
|
CompletionUtilCore.DUMMY_IDENTIFIER_TRIMMED
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ class FrameVisitor(context: EvaluationContextImpl) {
|
|||||||
|
|
||||||
private fun isFunctionType(type: Type?): Boolean {
|
private fun isFunctionType(type: Type?): Boolean {
|
||||||
return type?.sort == Type.OBJECT &&
|
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? {
|
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 is KtBreakExpression || element is KtContinueExpression)
|
||||||
assert((element as? KtLabeledExpression)?.getLabelName() == null)
|
assert((element as? KtLabeledExpression)?.getLabelName() == null)
|
||||||
val loop = element?.getStrictParentOfType<KtLoopExpression>() ?: return null
|
val loop = element?.getStrictParentOfType<KtLoopExpression>() ?: return null
|
||||||
return AddLoopLabelFix(loop, element!!)
|
return AddLoopLabelFix(loop, element)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1
-1
@@ -51,7 +51,7 @@ class KotlinParameterUsage(
|
|||||||
) : KotlinExplicitReferenceUsage<KtElement>(element) {
|
) : KotlinExplicitReferenceUsage<KtElement>(element) {
|
||||||
override fun processReplacedElement(element: KtElement) {
|
override fun processReplacedElement(element: KtElement) {
|
||||||
val qualifiedExpression = element.parent as? KtQualifiedExpression
|
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))
|
elementToShorten.addToShorteningWaitSet(Options(removeThis = true, removeThisLabels = true))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -720,7 +720,7 @@ private fun ExtractionData.suggestFunctionNames(returnType: KotlinType): List<St
|
|||||||
expressions.singleOrNull()?.let { expr ->
|
expressions.singleOrNull()?.let { expr ->
|
||||||
val property = expr.getStrictParentOfType<KtProperty>()
|
val property = expr.getStrictParentOfType<KtProperty>()
|
||||||
if (property?.initializer == expr) {
|
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) {
|
override fun visitWhileStatement(statement: PsiWhileStatement) {
|
||||||
val condition = statement.condition
|
val condition = statement.condition
|
||||||
val expression = if (condition?.type != null)
|
val expression = if (condition?.type != null)
|
||||||
codeConverter.convertExpression(condition, condition!!.type)
|
codeConverter.convertExpression(condition, condition.type)
|
||||||
else
|
else
|
||||||
codeConverter.convertExpression(condition)
|
codeConverter.convertExpression(condition)
|
||||||
result = WhileStatement(expression, codeConverter.convertStatementOrBlock(statement.body), statement.isInSingleLine())
|
result = WhileStatement(expression, codeConverter.convertStatementOrBlock(statement.body), statement.isInSingleLine())
|
||||||
|
|||||||
+1
-1
@@ -46,7 +46,7 @@ private class TypePredicateImpl
|
|||||||
for (i in nameParts.lastIndex downTo 0) {
|
for (i in nameParts.lastIndex downTo 0) {
|
||||||
if (nameParts[i] != descriptor?.name?.asString()) return false
|
if (nameParts[i] != descriptor?.name?.asString()) return false
|
||||||
|
|
||||||
descriptor = descriptor?.containingDeclaration
|
descriptor = descriptor.containingDeclaration
|
||||||
}
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -27,6 +27,6 @@ fun UElement?.getLocation(): Location? {
|
|||||||
val psiFile = psiElement?.containingFile ?: return null
|
val psiFile = psiElement?.containingFile ?: return null
|
||||||
val vfile = psiFile.virtualFile
|
val vfile = psiFile.virtualFile
|
||||||
val file = VfsUtilCore.virtualToIoFile(vfile)
|
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)
|
return Location.create(file, psiFile.text, range.startOffset, range.endOffset)
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user