Compiler&plugin deprecations cleanup: length, size, indices, tail and other collection operations.

This commit is contained in:
Ilya Gorbunov
2015-06-25 18:49:25 +03:00
parent f3a19ebe11
commit 32144257ec
23 changed files with 46 additions and 45 deletions
@@ -34,7 +34,7 @@ public fun isComponentLike(name: Name): Boolean {
}
public fun getComponentIndex(componentName: Name): Int =
componentName.asString().substring(COMPONENT_FUNCTION_NAME_PREFIX.length).toInt()
componentName.asString().substring(COMPONENT_FUNCTION_NAME_PREFIX.length()).toInt()
public fun createComponentName(index: Int): Name =
Name.identifier(COMPONENT_FUNCTION_NAME_PREFIX + index)
@@ -76,8 +76,8 @@ private class ExplicitTypeBinding(
override fun getArgumentBindings(): List<TypeArgumentBinding<JetTypeElement>?> {
val psiTypeArguments = psiElement.getTypeArgumentsAsTypes()
val isErrorBinding = run {
val sizeIsEqual = psiTypeArguments.size == jetType.getArguments().size
&& psiTypeArguments.size == jetType.getConstructor().getParameters().size
val sizeIsEqual = psiTypeArguments.size() == jetType.getArguments().size()
&& psiTypeArguments.size() == jetType.getConstructor().getParameters().size()
jetType.isError() || !sizeIsEqual
}
@@ -115,7 +115,7 @@ private class NoTypeElementBinding<out P : PsiElement>(
): TypeBinding<P> {
override fun getArgumentBindings(): List<TypeArgumentBinding<P>?> {
val isErrorBinding = jetType.isError() || jetType.getConstructor().getParameters().size != jetType.getArguments().size
val isErrorBinding = jetType.isError() || jetType.getConstructor().getParameters().size() != jetType.getArguments().size()
return jetType.getArguments().indices.map {
val typeProjection = jetType.getArguments()[it]
TypeArgumentBindingImpl(
@@ -131,7 +131,7 @@ public class CapturedTypeApproximationTest() : JetLiteFixture() {
private fun getTestTypesForOneTypeVariable(): List<String> {
val typePatterns = getTypePatternsForOneTypeVariable()
val range = typePatterns.size().indices
val range = typePatterns.indices
val variants = ArrayList<List<Int>>()
for (i in range) variants.add(listOf(i))
for (i in range) for (j in range) variants.add(listOf(i, j))
@@ -152,7 +152,7 @@ public class CapturedTypeApproximationTest() : JetLiteFixture() {
private fun getTestTypesForTwoTypeVariables(): List<String> {
val typePatterns = getTypePatternsForOneTypeVariable()
val range = typePatterns.size().indices
val range = typePatterns.indices
val result = ArrayList<String>()
for (pattern in getTypePatternsForTwoTypeVariables()) {
for (i in range) {
@@ -66,10 +66,10 @@ public fun String.trimIndent(): String {
else {
if (!line.startsWith(trimmedPrefix)) {
throw IllegalArgumentException(
"""Invalid line "$line", ${trimmedPrefix.size} whitespace character are expected""")
"""Invalid line "$line", ${trimmedPrefix.length()} whitespace character are expected""")
}
line.substring(trimmedPrefix.length)
line.substring(trimmedPrefix.length())
}
}.joinToString(separator = "\n")
}
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRenderer
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
import org.jetbrains.kotlin.psi.JetCallableDeclaration
import org.jetbrains.kotlin.psi.JetDeclaration
import org.jetbrains.kotlin.utils.Printer
import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.test.JetTestUtils.*
@@ -37,7 +38,7 @@ abstract class AbstractJetTypeBindingTest : JetLiteFixture() {
val analyzeResult = JvmResolveUtil.analyzeFilesWithJavaIntegration(getProject(), listOf(testKtFile))
val testDeclaration = testKtFile.getDeclarations().last!! as JetCallableDeclaration
val testDeclaration = testKtFile.getDeclarations().last()!! as JetCallableDeclaration
val typeBinding = testDeclaration.createTypeBindingForReturnType(analyzeResult.bindingContext)
@@ -122,7 +122,7 @@ public class JDIEval(
if (!nestedSizes.isEmpty()) {
val nestedElementType = elementType.arrayElementType
val nestedSize = nestedSizes[0]
val tail = nestedSizes.tail
val tail = nestedSizes.drop(1)
for (i in 0..size - 1) {
setArrayElement(arr, int(i), fillArray(nestedElementType, nestedSize, tail))
}
@@ -131,7 +131,7 @@ public class JDIEval(
}
override fun newMultiDimensionalArray(arrayType: Type, dimensionSizes: List<Int>): Value {
return fillArray(arrayType.arrayElementType, dimensionSizes[0], dimensionSizes.tail)
return fillArray(arrayType.arrayElementType, dimensionSizes[0], dimensionSizes.drop(1))
}
private fun Value.array() = jdiObj.checkNull() as jdi.ArrayReference
@@ -83,7 +83,7 @@ fun initFrame(
}
val args = Type.getArgumentTypes(m.desc)
for (i in 0..args.size - 1) {
for (i in 0..args.size() - 1) {
current.setLocal(local++, makeNotInitializedValue(args[i]))
if (args[i].getSize() == 2) {
current.setLocal(local++, NOT_A_VALUE)
@@ -351,7 +351,7 @@ fun Class<Any>.findConstructor(methodDesc: MethodDescription): Constructor<Any?>
fun MethodDescription.matches(ctor: Constructor<*>): Boolean {
val methodParams = ctor.getParameterTypes()!!
if (parameterTypes.size() != methodParams.size) return false
if (parameterTypes.size() != methodParams.size()) return false
for ((i, p) in parameterTypes.withIndices()) {
if (!p.matches(methodParams[i])) return false
}
@@ -363,7 +363,7 @@ fun MethodDescription.matches(method: Method): Boolean {
if (name != method.getName()) return false
val methodParams = method.getParameterTypes()!!
if (parameterTypes.size() != methodParams.size) return false
if (parameterTypes.size() != methodParams.size()) return false
for ((i, p) in parameterTypes.withIndices()) {
if (!p.matches(methodParams[i])) return false
}
@@ -64,7 +64,7 @@ fun buildTestCase(ownerClass: Class<TestData>,
for (method in ownerClass.getDeclaredMethods()) {
if (method.getName() == methodNode.name) {
val isStatic = (method.getModifiers() and Modifier.STATIC) != 0
if (method.getParameterTypes()!!.size > 0) {
if (method.getParameterTypes()!!.size() > 0) {
println("Skipping method with parameters: $method")
}
else if (!isStatic && !method.getName()!!.startsWith("test")) {
@@ -74,7 +74,7 @@ trait HierarchyTraverser<T> {
val processed = HashSet<T>()
stack.push(initialElement)
while (!stack.empty) {
while (!stack.isEmpty()) {
ProgressIndicatorProvider.checkCanceled()
val current = stack.pop()!!
@@ -38,8 +38,8 @@ class ToFromOriginalFileMapper(
val syntheticText = syntheticFile.getText()
assert(originalText.subSequence(0, completionOffset) == syntheticText.subSequence(0, completionOffset)) //TODO: drop it
syntheticLength = syntheticText.length
originalLength = originalText.length
syntheticLength = syntheticText.length()
originalLength = originalText.length()
val minLength = Math.min(originalLength, syntheticLength)
tailLength = (0..minLength-1).firstOrNull {
syntheticText[syntheticLength - it - 1] != originalText[originalLength - it - 1]
@@ -54,14 +54,14 @@ class WithTailInsertHandler(val tailText: String,
if (overwriteText) {
fun isCharAt(offset: Int, c: Char) = offset < document.getTextLength() && document.getCharsSequence().charAt(offset) == c
fun isTextAt(offset: Int, text: String) = offset + text.length <= document.getTextLength() && document.getText(TextRange(offset, offset + text.length)) == text
fun isTextAt(offset: Int, text: String) = offset + text.length() <= document.getTextLength() && document.getText(TextRange(offset, offset + text.length())) == text
if (spaceBefore && isCharAt(tailOffset, ' ')) {
document.deleteString(tailOffset, tailOffset + 1)
}
if (isTextAt(tailOffset, tailText)) {
document.deleteString(tailOffset, tailOffset + tailText.length)
document.deleteString(tailOffset, tailOffset + tailText.length())
if (spaceAfter && isCharAt(tailOffset, ' ')) {
document.deleteString(tailOffset, tailOffset + 1)
@@ -77,7 +77,7 @@ class WithTailInsertHandler(val tailText: String,
document.insertString(tailOffset, textToInsert)
if (moveCaret) {
context.getEditor().getCaretModel().moveToOffset(tailOffset + textToInsert.length)
context.getEditor().getCaretModel().moveToOffset(tailOffset + textToInsert.length())
if (tailText == ",") {
AutoPopupController.getInstance(context.getProject())?.autoPopupParameterInfo(context.getEditor(), null)
@@ -50,10 +50,10 @@ private fun calcNameSimilarity(name: String, expectedName: String): Int {
val nonNumberWords2 = words2.filter(::isNonNumber)
// count number of words matched at the end (but ignore number words - they are less important)
val minWords = Math.min(nonNumberWords1.size, nonNumberWords2.size)
val minWords = Math.min(nonNumberWords1.size(), nonNumberWords2.size())
val matchedTailLength = (0..minWords-1).firstOrNull {
i -> nonNumberWords1[nonNumberWords1.size - i - 1] != nonNumberWords2[nonNumberWords2.size - i - 1]
i -> nonNumberWords1[nonNumberWords1.size() - i - 1] != nonNumberWords2[nonNumberWords2.size() - i - 1]
} ?: minWords
return matchedWords.size * 1000 + matchedTailLength
return matchedWords.size() * 1000 + matchedTailLength
}
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.types.Variance
private fun getTypeSubstitution(baseType: JetType, derivedType: JetType): LinkedHashMap<TypeConstructor, TypeProjection>? {
val substitutedType = TypeCheckingProcedure.findCorrespondingSupertype(derivedType, baseType) ?: return null
val substitution = LinkedHashMap<TypeConstructor, TypeProjection>(substitutedType.getArguments().size)
val substitution = LinkedHashMap<TypeConstructor, TypeProjection>(substitutedType.getArguments().size())
for ((param, arg) in baseType.getConstructor().getParameters() zip substitutedType.getArguments()) {
substitution[param.getTypeConstructor()] = arg
}
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
public class JetEnumEntryWithoutSuperCallUsage(enumEntry: JetEnumEntry) : JetUsageInfo<JetEnumEntry>(enumEntry) {
override fun processUsage(changeInfo: JetChangeInfo, element: JetEnumEntry): Boolean {
if (changeInfo.getNewParameters().size > 0) {
if (changeInfo.getNewParameters().size() > 0) {
val psiFactory = JetPsiFactory(element)
val enumClass = element.getStrictParentOfType<JetClass>()!!
@@ -60,7 +60,7 @@ public class KotlinJavaSafeDeleteDelegate : JavaSafeDeleteDelegate {
val namedArguments = args.filter { arg -> arg is JetValueArgument && arg.getArgumentName()?.getText() == parameter.getName() }
if (!namedArguments.isEmpty()) {
usages.add(SafeDeleteValueArgumentListUsageInfo(namedArguments.first as JetValueArgument, parameter))
usages.add(SafeDeleteValueArgumentListUsageInfo(namedArguments.first(), parameter))
return
}
@@ -63,7 +63,7 @@ public trait JetPsiRange {
fun match(scope: PsiElement, unifier: JetPsiUnifier): List<Match> {
val elements = elements.filter(SIGNIFICANT_FILTER)
if (elements.empty) return Collections.emptyList()
if (elements.isEmpty()) return Collections.emptyList()
val matches = ArrayList<Match>()
scope.accept(
@@ -72,7 +72,7 @@ public trait JetPsiRange {
val range = element
.siblings()
.filter(SIGNIFICANT_FILTER)
.take(elements.size)
.take(elements.size())
.toList()
.toRange()
@@ -82,9 +82,9 @@ public trait JetPsiRange {
matches.add(Match(range, result))
}
else {
val matchCountSoFar = matches.size
val matchCountSoFar = matches.size()
super.visitJetElement(element)
if (result is UnificationResult.WeaklyMatched && matches.size == matchCountSoFar) {
if (result is UnificationResult.WeaklyMatched && matches.size() == matchCountSoFar) {
matches.add(Match(range, result))
}
}
@@ -96,7 +96,7 @@ public trait JetPsiRange {
}
public fun List<PsiElement>.toRange(significantOnly: Boolean = true): JetPsiRange {
return if (empty) JetPsiRange.Empty else JetPsiRange.ListRange(if (significantOnly) filter(SIGNIFICANT_FILTER) else this)
return if (isEmpty()) JetPsiRange.Empty else JetPsiRange.ListRange(if (significantOnly) filter(SIGNIFICANT_FILTER) else this)
}
public fun PsiElement?.toRange(): JetPsiRange = this?.let { JetPsiRange.ListRange(Collections.singletonList(it)) } ?: JetPsiRange.Empty
@@ -300,7 +300,7 @@ class IdeaModuleInfoTest : ModuleTestCase() {
private fun LibraryInfo.assertAdditionalLibraryDependencies(vararg expected: IdeaModuleInfo) {
Assert.assertEquals(this, dependencies().first())
val dependenciesWithoutSelf = this.dependencies().tail
val dependenciesWithoutSelf = this.dependencies().drop(1)
UsefulTestCase.assertSameElements(dependenciesWithoutSelf, expected.toList())
}
@@ -59,13 +59,13 @@ public abstract class AbstractSmartStepIntoTest : JetLightCodeInsightFixtureTest
private fun renderTableWithResults(expected: List<String>, actual: List<String>): String {
val sb = StringBuilder()
val maxExtStrSize = (expected.maxBy { it.size }?.size ?: 0) + 5
val longerList = if (expected.size < actual.size) actual else expected
val shorterList = if (expected.size < actual.size) expected else actual
for ((i, element) in longerList.withIndices()) {
val maxExtStrSize = (expected.maxBy { it.length() }?.length() ?: 0) + 5
val longerList = if (expected.size() < actual.size()) actual else expected
val shorterList = if (expected.size() < actual.size()) expected else actual
for ((i, element) in longerList.withIndex()) {
sb.append(element)
sb.append(" ".repeat(maxExtStrSize - element.size))
if (i < shorterList.size) sb.append(shorterList[i])
sb.append(" ".repeat(maxExtStrSize - element.length()))
if (i < shorterList.size()) sb.append(shorterList[i])
sb.append("\n")
}
@@ -111,7 +111,7 @@ private fun createCodeFragment(filePath: String, contextElement: PsiElement): Je
val fileForFragment = File(filePath + ".fragment")
val codeFragmentText = FileUtil.loadFile(fileForFragment, true).trim()
val psiFactory = JetPsiFactory(contextElement.getProject())
if (fileForFragment.readLines().size == 1) {
if (fileForFragment.readLines().size() == 1) {
return psiFactory.createExpressionCodeFragment(
codeFragmentText,
KotlinCodeFragmentFactory.getContextElement(contextElement)
@@ -64,7 +64,7 @@ class FoldingAfterOptimizeImportsTest : AbstractKotlinFoldingTest() {
fixture.doHighlighting()
val model = getEditor().getFoldingModel()
val foldingRegions = model.getAllFoldRegions()
assert(foldingRegions.size >= number) { "There is no enough folding regions in file: in file - ${foldingRegions.size} , expected = ${number}" }
assert(foldingRegions.size() >= number) { "There is no enough folding regions in file: in file - ${foldingRegions.size()} , expected = ${number}" }
return foldingRegions[number]
}
@@ -37,7 +37,7 @@ public abstract class AbstractReferenceResolveInLibrarySourcesTest : JetLightCod
val expectedResolveData = AbstractReferenceResolveTest.readResolveData(fixture.getFile()!!.getText())
val gotoData = NavigationTestUtils.invokeGotoImplementations(fixture.getEditor(), fixture.getFile())!!
Assert.assertEquals("Single target expected for origianl file", 1, gotoData.targets.size)
Assert.assertEquals("Single target expected for origianl file", 1, gotoData.targets.size())
val testedPsiElement = gotoData.targets[0].getNavigationElement()
val testedElementFile = testedPsiElement.getContainingFile()!!
@@ -135,7 +135,7 @@ class LambdaExpression(val arguments: String?, val block: Block) : Expression()
if (arguments != null) {
builder.append(arguments)
.append("->")
.append(if (block.statements.size > 1) "\n" else " ")
.append(if (block.statements.size() > 1) "\n" else " ")
.append(block.statements, "\n")
}
else {
@@ -419,7 +419,7 @@ public class IncrementalCacheImpl(targetDataRoot: File) : StorageOwner, Incremen
val size = `in`.readInt()
val map = HashMap<String, Any>(size)
for (i in size.indices) {
repeat(size) {
val name = IOUtil.readString(`in`)!!
val kind = Kind.values()[`in`.readByte().toInt()]
@@ -531,7 +531,7 @@ public class IncrementalCacheImpl(targetDataRoot: File) : StorageOwner, Incremen
val size = `in`.readInt()
val map = HashMap<String, Long>(size)
for (i in size.indices) {
repeat(size) {
val name = IOUtil.readString(`in`)!!
val value = `in`.readLong()