Cleanup in idea plugin, src and tests

This commit is contained in:
Ilya Gorbunov
2015-12-29 05:34:02 +03:00
parent 145722b20d
commit 0aef321c73
71 changed files with 151 additions and 151 deletions
@@ -42,7 +42,7 @@ public class KotlinFoldingBuilder : CustomFoldingBuilder(), DumbAware {
return
}
val imports = root.getImportDirectives()
if (imports.size() > 1) {
if (imports.size > 1) {
val importKeyword = imports.get(0).getFirstChild()
val startOffset = importKeyword.endOffset + 1
@@ -80,7 +80,7 @@ public class KotlinQuickDocumentationProvider : AbstractDocumentationProvider()
}
companion object {
private val LOG = Logger.getInstance(javaClass<KotlinQuickDocumentationProvider>())
private val LOG = Logger.getInstance(KotlinQuickDocumentationProvider::class.java)
private val DESCRIPTOR_RENDERER = DescriptorRenderer.HTML.withOptions {
nameShortness = NameShortness.SHORT
@@ -42,7 +42,7 @@ public abstract class ConfigureKotlinInProjectAction : AnAction() {
val configurators = getAbleToRunConfigurators(project)
when {
configurators.size() == 1 -> configurators.first().configure(project)
configurators.size == 1 -> configurators.first().configure(project)
configurators.isEmpty() -> Messages.showErrorDialog("There aren't configurators available", e.getPresentation().getText()!!)
else -> {
Messages.showErrorDialog("More than one configurator is available", e.getPresentation().getText()!!)
@@ -68,7 +68,7 @@ public class JavaToKotlinAction : AnAction() {
result.add(virtualFile)
}
catch (e: IOException) {
MessagesEx.error(psiFile.getProject(), e.getMessage()).showLater()
MessagesEx.error(psiFile.getProject(), e.message).showLater()
}
}
return result
@@ -46,7 +46,7 @@ public class ShowExpressionTypeAction : AnAction() {
val type = if (editor.getSelectionModel().hasSelection()) {
val startOffset = editor.getSelectionModel().getSelectionStart()
val endOffset = editor.getSelectionModel().getSelectionEnd()
val expression = CodeInsightUtilCore.findElementInRange<KtExpression>(psiFile, startOffset, endOffset, javaClass<KtExpression>(), KotlinLanguage.INSTANCE) ?: return
val expression = CodeInsightUtilCore.findElementInRange<KtExpression>(psiFile, startOffset, endOffset, KtExpression::class.java, KotlinLanguage.INSTANCE) ?: return
typeByExpression(expression)
}
else {
@@ -179,7 +179,7 @@ abstract class KotlinGenerateTestSupportActionBase(
setupEditorSelection(editor, functionInPlace)
}
catch (e: IncorrectOperationException) {
HintManager.getInstance().showErrorHint(editor, "Cannot generate method: " + e.getMessage())
HintManager.getInstance().showErrorHint(editor, "Cannot generate method: " + e.message)
}
}
}
@@ -66,7 +66,7 @@ public class CheckPartialBodyResolveAction : AnAction() {
//TODO: drop resolve caches if any
val progressIndicator = ProgressManager.getInstance().getProgressIndicator()
for ((i, file) in files.withIndex()) {
progressIndicator?.setText("Checking resolve $i of ${files.size()}...")
progressIndicator?.setText("Checking resolve $i of ${files.size}...")
progressIndicator?.setText2(file.getVirtualFile().getPath())
val partialResolveDump = dumpResolve(file) { element, resolutionFacade ->
@@ -96,11 +96,11 @@ public class CheckPartialBodyResolveAction : AnAction() {
return
}
progressIndicator?.setFraction((i + 1) / files.size().toDouble())
progressIndicator?.setFraction((i + 1) / files.size.toDouble())
}
SwingUtilities.invokeLater {
Messages.showInfoMessage(project, "Analyzed ${files.size()} file(s). No resolve difference found. ", "Success")
Messages.showInfoMessage(project, "Analyzed ${files.size} file(s). No resolve difference found. ", "Success")
}
}
@@ -62,7 +62,7 @@ public class FindImplicitNothingAction : AnAction() {
val progressIndicator = ProgressManager.getInstance().getProgressIndicator()
val found = ArrayList<KtCallExpression>()
for ((i, file) in files.withIndex()) {
progressIndicator?.setText("Scanning files: $i of ${files.size()} file. ${found.size()} occurences found")
progressIndicator?.setText("Scanning files: $i of ${files.size} file. ${found.size} occurences found")
progressIndicator?.setText2(file.getVirtualFile().getPath())
val resolutionFacade = file.getResolutionFacade()
@@ -91,7 +91,7 @@ public class FindImplicitNothingAction : AnAction() {
}
})
progressIndicator?.setFraction((i + 1) / files.size().toDouble())
progressIndicator?.setFraction((i + 1) / files.size.toDouble())
}
SwingUtilities.invokeLater {
@@ -102,7 +102,7 @@ public class FindImplicitNothingAction : AnAction() {
UsageViewManager.getInstance(project).showUsages(arrayOf<UsageTarget>(), usages, presentation)
}
else {
Messages.showInfoMessage(project, "Not found in ${files.size()} file(s)", "Not Found")
Messages.showInfoMessage(project, "Not found in ${files.size} file(s)", "Not Found")
}
}
}
@@ -35,7 +35,7 @@ public class FileAttributeServiceImpl : FileAttributeService {
attribute.writeAttribute(file).use {
DataInputOutputUtil.writeTIME(it, data.timeStamp)
DataInputOutputUtil.writeINT(it, data.value?.ordinal() ?: -1)
DataInputOutputUtil.writeINT(it, data.value?.ordinal ?: -1)
}
return data
@@ -65,7 +65,7 @@ import java.util.*
//NOTE: this class is based on CopyPasteReferenceProcessor and JavaCopyPasteReferenceProcessor
public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<KotlinReferenceTransferableData>() {
private val LOG = Logger.getInstance(javaClass<KotlinCopyPasteReferenceProcessor>())
private val LOG = Logger.getInstance(KotlinCopyPasteReferenceProcessor::class.java)
private val IGNORE_REFERENCES_INSIDE: Array<Class<out KtElement>> = arrayOf(
KtImportList::class.java,
@@ -144,7 +144,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Kotlin
val descriptors = reference.resolveToDescriptors(element.analyze()) //TODO: we could use partial body resolve for all references together
//check whether this reference is unambiguous
if (reference !is KtMultiReference<*> && descriptors.size() > 1) return@forEachDescendantOfType
if (reference !is KtMultiReference<*> && descriptors.size > 1) return@forEachDescendantOfType
for (descriptor in descriptors) {
val declarations = DescriptorToSourceUtilsIde.getAllDeclarations(file.getProject(), descriptor)
@@ -302,7 +302,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Kotlin
private fun findImportableDescriptors(fqName: FqName, file: KtFile): Collection<DeclarationDescriptor> {
return file.resolveImportReference(fqName).filterNot {
/*TODO: temporary hack until we don't have ability to insert qualified reference into root package*/
DescriptorUtils.getParentOfType(it, javaClass<PackageFragmentDescriptor>())?.fqName?.isRoot() ?: false
DescriptorUtils.getParentOfType(it, PackageFragmentDescriptor::class.java)?.fqName?.isRoot() ?: false
}
}
@@ -329,7 +329,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Kotlin
}
private fun toTextRanges(startOffsets: IntArray, endOffsets: IntArray): List<TextRange> {
assert(startOffsets.size() == endOffsets.size())
assert(startOffsets.size == endOffsets.size)
return startOffsets.indices.map { TextRange(startOffsets[it], endOffsets[it]) }
}
@@ -29,7 +29,7 @@ public class KotlinReferenceTransferableData(
override fun getFlavor() = KotlinReferenceData.dataFlavor
override fun getOffsetCount() = data.size() * 2
override fun getOffsetCount() = data.size * 2
override fun getOffsets(offsets: IntArray, index: Int): Int {
var i = index
@@ -49,7 +49,7 @@ public class KotlinReferenceTransferableData(
return i
}
public override fun clone() = KotlinReferenceTransferableData(Array(data.size(), { data[it].clone() }))
public override fun clone() = KotlinReferenceTransferableData(Array(data.size, { data[it].clone() }))
}
public class KotlinReferenceData(
@@ -100,7 +100,7 @@ public class KotlinReferenceData(
companion object {
public val dataFlavor: DataFlavor? by lazy {
try {
val dataClass = javaClass<KotlinReferenceData>()
val dataClass = KotlinReferenceData::class.java
DataFlavor(DataFlavor.javaJVMLocalObjectMimeType + ";class=" + dataClass.getName(),
"KotlinReferenceData",
dataClass.getClassLoader())
@@ -145,7 +145,7 @@ public class ConvertJavaCopyPastePostProcessor : CopyPastePostProcessor<TextBloc
val startOffset = bounds.getStartOffset()
document.replaceString(startOffset, bounds.getEndOffset(), text)
val endOffsetAfterCopy = startOffset + text.length()
val endOffsetAfterCopy = startOffset + text.length
editor.getCaretModel().moveToOffset(endOffsetAfterCopy)
var newBounds = insertImports(TextRange(startOffset, endOffsetAfterCopy), referenceData, explicitImports)
@@ -211,7 +211,7 @@ public class ConvertJavaCopyPastePostProcessor : CopyPastePostProcessor<TextBloc
private fun buildReferenceData(text: String, parseContext: ParseContext, importsAndPackage: String, targetFile: KtFile): Collection<KotlinReferenceData> {
var blockStart: Int? = null
var blockEnd: Int? = null
val fileText = StringBuilder {
val fileText = buildString {
append(importsAndPackage)
val (contextPrefix, contextSuffix) = when (parseContext) {
@@ -221,12 +221,12 @@ public class ConvertJavaCopyPastePostProcessor : CopyPastePostProcessor<TextBloc
append(contextPrefix)
blockStart = length()
blockStart = length
append(text)
blockEnd = length()
blockEnd = length
append(contextSuffix)
}.toString()
}
val dummyFile = KtPsiFactory(targetFile.getProject()).createAnalyzableFile("dummy.kt", fileText, targetFile)
@@ -29,6 +29,6 @@ class CopiedJavaCode(val fileText: String, val startOffsets: IntArray, val endOf
public override fun setOffsets(offsets: IntArray?, index: Int) = index
companion object {
val DATA_FLAVOR: DataFlavor = DataFlavor(javaClass<ConvertJavaCopyPastePostProcessor>(), "class: ConvertJavaCopyPastePostProcessor")
val DATA_FLAVOR: DataFlavor = DataFlavor(ConvertJavaCopyPastePostProcessor::class.java, "class: ConvertJavaCopyPastePostProcessor")
}
}
@@ -33,7 +33,7 @@ data class DataForConversion private constructor(
fun prepare(copiedCode: CopiedJavaCode, project: Project): DataForConversion {
val startOffsets = copiedCode.startOffsets.clone()
val endOffsets = copiedCode.endOffsets.clone()
assert(startOffsets.size() == endOffsets.size()) { "Must have the same size" }
assert(startOffsets.size == endOffsets.size) { "Must have the same size" }
var fileText = copiedCode.fileText
var file = PsiFileFactory.getInstance(project).createFileFromText(JavaLanguage.INSTANCE, fileText) as PsiJavaFile
@@ -98,15 +98,15 @@ data class DataForConversion private constructor(
if (rangesToDrop.isEmpty()) return null
val newFileText = StringBuilder {
val newFileText = buildString {
var offset = 0
for (range in rangesToDrop) {
assert(range.start >= offset)
append(fileText.substring(offset, range.start))
offset = range.end
}
append(fileText.substring(offset, fileText.length()))
}.toString()
append(fileText.substring(offset, fileText.length))
}
fun IntArray.update() {
for (range in rangesToDrop.asReversed()) {
@@ -226,7 +226,7 @@ data class DataForConversion private constructor(
private fun shouldExpandToChildren(element: PsiElement) = element is PsiModifierList
private fun buildImportsAndPackage(sourceFile: PsiJavaFile): String {
return StringBuilder {
return buildString {
val packageName = sourceFile.getPackageName()
if (!packageName.isEmpty()) {
append("package $packageName\n")
@@ -248,7 +248,7 @@ data class DataForConversion private constructor(
}
//TODO: static imports
}
}.toString()
}
}
}
}
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.psi.KtFile
import java.io.File
public class KotlinCoverageExtension(): JavaCoverageEngineExtension() {
private val LOG = Logger.getInstance(javaClass<KotlinCoverageExtension>())
private val LOG = Logger.getInstance(KotlinCoverageExtension::class.java)
override fun isApplicableTo(conf: RunConfigurationBase?): Boolean = conf is JetRunConfiguration
@@ -96,7 +96,7 @@ public class KotlinCoverageExtension(): JavaCoverageEngineExtension() {
}
companion object {
private val LOG = Logger.getInstance(javaClass<KotlinCoverageExtension>())
private val LOG = Logger.getInstance(KotlinCoverageExtension::class.java)
fun collectGeneratedClassQualifiedNames(outputRoot: VirtualFile?, file: KtFile): List<String>? {
val existingClassFiles = getClassesGeneratedFromFile(outputRoot, file)
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.psi.psiUtil.*
public class KotlinEnterHandler: EnterHandlerDelegateAdapter() {
companion object {
private val LOG = Logger.getInstance(javaClass<KotlinEnterHandler>())
private val LOG = Logger.getInstance(KotlinEnterHandler::class.java)
private val FORCE_INDENT_IN_LAMBDA_AFTER = TokenSet.create(KtTokens.ARROW, KtTokens.LBRACE)
}
@@ -61,7 +61,7 @@ public class KotlinEnterHandler: EnterHandlerDelegateAdapter() {
val text = document.getCharsSequence()
val caretOffset = caretOffsetRef.get()!!.toInt()
if (caretOffset !in 0..text.length()) return EnterHandlerDelegate.Result.Continue
if (caretOffset !in 0..text.length) return EnterHandlerDelegate.Result.Continue
val elementAt = file.findElementAt(caretOffset)
if (elementAt is PsiWhiteSpace && ("\n" in elementAt.getText()!!)) return EnterHandlerDelegate.Result.Continue
@@ -92,8 +92,8 @@ public class KotlinSmartEnterHandler: SmartEnterProcessorWithFixers() {
caretOffset = CharArrayUtil.shiftBackward(chars, caretOffset - 1, " \t") + 1
if (CharArrayUtil.regionMatches(chars, caretOffset - "{}".length(), "{}") ||
CharArrayUtil.regionMatches(chars, caretOffset - "{\n}".length(), "{\n}")) {
if (CharArrayUtil.regionMatches(chars, caretOffset - "{}".length, "{}") ||
CharArrayUtil.regionMatches(chars, caretOffset - "{\n}".length, "{\n}")) {
commit(editor)
val settings = CodeStyleSettingsManager.getSettings(file.getProject())
val old = settings.KEEP_SIMPLE_BLOCKS_IN_ONE_LINE
@@ -34,16 +34,16 @@ public class KotlinDoWhileFixer : SmartEnterProcessorWithFixers.Fixer<KotlinSmar
val whileKeyword = psiElement.getWhileKeyword()
if (body == null) {
if (whileKeyword == null) {
doc.replaceString(start, start + "do".length(), "do {} while()")
doc.replaceString(start, start + "do".length, "do {} while()")
}
else {
doc.insertString(start + "do".length(), "{}")
doc.insertString(start + "do".length, "{}")
}
return
}
else if (whileKeyword != null && body !is KtBlockExpression && body.startLine(doc) > psiElement.startLine(doc)) {
doc.insertString(whileKeyword.range.start, "}")
doc.insertString(start + "do".length(), "{")
doc.insertString(start + "do".length, "{")
return
}
@@ -42,7 +42,7 @@ abstract class MissingConditionFixer<T: PsiElement>() : SmartEnterProcessorWithF
stopOffset = Math.min(stopOffset, workElement.range.end)
doc.replaceString(workElement.range.start, stopOffset, "$keyword ()")
processor.registerUnresolvedError(workElement.range.start + "$keyword (".length())
processor.registerUnresolvedError(workElement.range.start + "$keyword (".length)
}
else {
processor.registerUnresolvedError(lParen.range.end)
@@ -36,7 +36,7 @@ public class KotlinDeclarationGroupRuleProvider : FileStructureGroupRuleProvider
val containingFile = element.getContainingFile()
if (containingFile !is KtFile) return null
return PsiTreeUtil.getTopmostParentOfType(element, javaClass<KtNamedDeclaration>())?.let { container ->
return PsiTreeUtil.getTopmostParentOfType(element, KtNamedDeclaration::class.java)?.let { container ->
PsiNamedElementUsageGroupBase(container)
}
}
@@ -120,7 +120,7 @@ public class KotlinFindUsagesHandlerFactory(project: Project) : FindUsagesHandle
}
private fun handlerForMultiple(originalDeclaration: KtNamedDeclaration, declarations: Collection<PsiElement>): FindUsagesHandler {
return when (declarations.size()) {
return when (declarations.size) {
0 -> FindUsagesHandler.NULL_HANDLER
1 -> {
@@ -44,7 +44,7 @@ fun SpacingBuilder.afterInside(element: IElementType, tokenSet: TokenSet, spacin
}
fun createSpacingBuilder(settings: CodeStyleSettings): KotlinSpacingBuilder {
val jetSettings = settings.getCustomSettings(javaClass<KotlinCodeStyleSettings>())!!
val jetSettings = settings.getCustomSettings(KotlinCodeStyleSettings::class.java)!!
val jetCommonSettings = settings.getCommonSettings(KotlinLanguage.INSTANCE)!!
return rules(settings) {
@@ -93,7 +93,7 @@ var <PROPERTY_WITH_BACKING_FIELD><PACKAGE_PROPERTY><MUTABLE_VARIABLE>globalCount
override fun getAdditionalHighlightingTagToDescriptorMap(): Map<String, TextAttributesKey> {
val map = HashMap<String, TextAttributesKey>()
for (field in javaClass<KotlinHighlightingColors>().getFields()) {
for (field in KotlinHighlightingColors::class.java.getFields()) {
if (Modifier.isStatic(field.getModifiers())) {
try {
map.put(field.getName(), field.get(null) as TextAttributesKey)
@@ -44,8 +44,8 @@ public class KotlinHighlightExitPointsHandlerFactory: HighlightUsagesHandlerFact
if (target is LeafPsiElement && (target.getElementType() in RETURN_AND_THROW)) {
val returnOrThrow = PsiTreeUtil.getParentOfType<KtExpression>(
target,
javaClass<KtReturnExpression>(),
javaClass<KtThrowExpression>()
KtReturnExpression::class.java,
KtThrowExpression::class.java
) ?: return null
return MyHandler(editor, file, returnOrThrow)
@@ -168,7 +168,7 @@ private fun collectOverriddenPropertyAccessors(properties: Collection<KtProperty
}
}
val classes = collectContainingClasses(mappingToJava.keySet())
val classes = collectContainingClasses(mappingToJava.keys)
for (property in getOverriddenDeclarations(mappingToJava, classes)) {
ProgressManager.checkCanceled()
@@ -198,7 +198,7 @@ private fun collectOverriddenFunctions(functions: Collection<KtNamedFunction>, r
}
}
val classes = collectContainingClasses(mappingToJava.keySet())
val classes = collectContainingClasses(mappingToJava.keys)
for (function in getOverriddenDeclarations(mappingToJava, classes)) {
ProgressManager.checkCanceled()
@@ -120,7 +120,7 @@ public fun navigateToOverriddenMethod(e: MouseEvent?, method: PsiMethod) {
PsiElementListNavigator.openTargets(
e,
overridingJavaMethods.toTypedArray(),
methodsUpdater.getCaption(overridingJavaMethods.size()),
methodsUpdater.getCaption(overridingJavaMethods.size),
"Overriding declarations of " + method.getName(),
renderer,
methodsUpdater)
@@ -239,13 +239,13 @@ public class KotlinImportOptimizer() : ImportOptimizer {
}
//TODO: drop unused aliases?
aliasImports.mapTo(importsToGenerate) { ImportPath(it.getValue(), false, it.getKey())}
aliasImports.mapTo(importsToGenerate) { ImportPath(it.value, false, it.key)}
val sortedImportsToGenerate = importsToGenerate.sortedWith(importInsertHelper.importSortComparator)
// check if no changes to imports required
val oldImports = file.importDirectives
if (oldImports.size() == sortedImportsToGenerate.size() && oldImports.map { it.importPath } == sortedImportsToGenerate) return null
if (oldImports.size == sortedImportsToGenerate.size && oldImports.map { it.importPath } == sortedImportsToGenerate) return null
return sortedImportsToGenerate
}
@@ -197,7 +197,7 @@ public class ConflictingExtensionPropertyInspection : AbstractKotlinInspection()
ReferencesSearch.search(declaration, searchScope)
.filterIsInstance<KtSimpleNameReference>()
.mapNotNull { ref -> ref.expression.getStrictParentOfType<KtImportDirective>() }
.filter { import -> !import.isAllUnder && import.targetDescriptors().size() == 1 }
.filter { import -> !import.isAllUnder && import.targetDescriptors().size == 1 }
}
UIUtil.invokeLaterIfNeeded {
project.executeWriteCommand(text) {
@@ -75,13 +75,13 @@ class KotlinInvalidBundleOrPropertyInspection : AbstractKotlinInspection() {
if (keyArgumentIndex < 0) return
val callable = resolvedCall.resultingDescriptor
if (callable.valueParameters.size() != keyArgumentIndex + 2) return
if (callable.valueParameters.size != keyArgumentIndex + 2) return
val messageArgument = resolvedArguments[keyArgumentIndex + 1] as? VarargValueArgument ?: return
if (messageArgument.arguments.singleOrNull()?.getSpreadElement() != null) return
val expectedArgumentCount = JavaI18nUtil.getPropertyValuePlaceholdersCount(property.value ?: "")
val actualArgumentCount = messageArgument.arguments.size()
val actualArgumentCount = messageArgument.arguments.size
if (actualArgumentCount < expectedArgumentCount) {
val description = CodeInsightBundle.message(
"property.has.more.parameters.than.passed",
@@ -85,7 +85,7 @@ class KotlinUnusedImportInspection : AbstractKotlinInspection() {
val problems = ArrayList<ProblemDescriptor>()
val importPaths = HashSet<ImportPath>(directives.size())
val importPaths = HashSet<ImportPath>(directives.size)
for (directive in directives) {
val importPath = directive.importPath ?: continue
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.j2k.content
object IdeaDocCommentConverter : DocCommentConverter {
override fun convertDocComment(docComment: PsiDocComment): String {
val html = StringBuilder {
val html = buildString {
appendJavadocElements(docComment.getDescriptionElements())
tagsLoop@
@@ -46,7 +46,7 @@ object IdeaDocCommentConverter : DocCommentConverter {
else -> appendJavadocElements(tag.getChildren()).append("\n")
}
}
}.toString()
}
if (html.trim().isEmpty() && docComment.findTagByName("deprecated") != null) {
// @deprecated was the only content of the doc comment; we can drop the comment
@@ -118,7 +118,7 @@ object J2KPostProcessingRegistrar {
) {
_processings.add(object : J2kPostProcessing {
override fun createAction(element: KtElement, diagnostics: Diagnostics): (() -> Unit)? {
if (!javaClass<TElement>().isInstance(element)) return null
if (!TElement::class.java.isInstance(element)) return null
val tElement = element as TElement
if (intention.applicabilityRange(tElement) == null) return null
if (!additionalChecker(tElement)) return null
@@ -140,7 +140,7 @@ object J2KPostProcessingRegistrar {
) {
_processings.add(object : J2kPostProcessing {
override fun createAction(element: KtElement, diagnostics: Diagnostics): (() -> Unit)? {
if (!javaClass<TElement>().isInstance(element)) return null
if (!TElement::class.java.isInstance(element)) return null
val diagnostic = diagnostics.forElement(element).firstOrNull { it.factory == diagnosticFactory } ?: return null
return fixFactory(element as TElement, diagnostic)
}
@@ -64,7 +64,7 @@ object KDocRenderer {
else {
to.append(tag.getContent())
}
if (index < seeTags.size() - 1) {
if (index < seeTags.size - 1) {
to.append(", ")
}
}
@@ -211,8 +211,8 @@ object KDocRenderer {
}
fun StringBuilder.trimEnd() {
while (length() > 0 && this[length() - 1] == ' ') {
deleteCharAt(length() - 1)
while (length > 0 && this[length - 1] == ' ') {
deleteCharAt(length - 1)
}
}
@@ -160,7 +160,7 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : KtElement,
var boldStartOffset = -1
var boldEndOffset = -1
val text = StringBuilder {
val text = buildString {
val usedParameterIndices = HashSet<Int>()
var namedMode = false
@@ -172,19 +172,19 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : KtElement,
val includeParameterNames = !substitutedDescriptor.hasSynthesizedParameterNames()
fun appendParameter(parameter: ValueParameterDescriptor) {
if (length() > 0) {
if (length > 0) {
append(", ")
}
val highlightParameter = parameter.index == highlightParameterIndex
if (highlightParameter) {
boldStartOffset = length()
boldStartOffset = length
}
append(renderParameter(parameter, includeParameterNames, namedMode, project))
if (highlightParameter) {
boldEndOffset = length()
boldEndOffset = length
}
}
@@ -206,10 +206,10 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : KtElement,
}
}
if (length() == 0) {
if (length == 0) {
append(CodeInsightBundle.message("parameter.info.no.parameters"))
}
}.toString()
}
val color = if (isResolvedToDescriptor(call, itemToShow, bindingContext))
@@ -234,7 +234,7 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : KtElement,
override fun getParametersForDocumentation(item: FunctionDescriptor, context: ParameterInfoContext) = emptyArray<Any>()
private fun renderParameter(parameter: ValueParameterDescriptor, includeName: Boolean, named: Boolean, project: Project): String {
return StringBuilder {
return buildString {
if (named) append("[")
if (parameter.varargElementType != null) {
@@ -254,14 +254,14 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : KtElement,
}
if (named) append("]")
}.toString()
}
}
private fun ValueParameterDescriptor.renderDefaultValue(project: Project): String {
val expression = OptionalParametersHelper.defaultParameterValueExpression(this, project)
if (expression != null) {
val text = expression.text
if (text.length() <= 32) {
if (text.length <= 32) {
return text
}
@@ -313,13 +313,13 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : KtElement,
return SignatureInfo(overload, { null }, null, isGrey = false)
}
assert(call.valueArguments.size() >= currentArgumentIndex)
assert(call.valueArguments.size >= currentArgumentIndex)
val argumentsBeforeCurrent = call.valueArguments.subList(0, currentArgumentIndex)
val callToUse: Call
val currentArgument: ValueArgument
if (call.valueArguments.size() > currentArgumentIndex) {
if (call.valueArguments.size > currentArgumentIndex) {
currentArgument = call.valueArguments[currentArgumentIndex]
callToUse = call
}
@@ -53,7 +53,7 @@ private val PROPERTY_KEY = FqName(AnnotationUtil.PROPERTY_KEY)
private val PROPERTY_KEY_RESOURCE_BUNDLE = Name.identifier(AnnotationUtil.PROPERTY_KEY_RESOURCE_BUNDLE_PARAMETER)
private fun AnnotationDescriptor.getBundleName(): String? {
return allValueArguments.entrySet().singleOrNull { it.key.name == PROPERTY_KEY_RESOURCE_BUNDLE }?.value?.value as? String
return allValueArguments.entries.singleOrNull { it.key.name == PROPERTY_KEY_RESOURCE_BUNDLE }?.value?.value as? String
}
private fun DeclarationDescriptor.getBundleNameByAnnotation(): String? {
@@ -83,7 +83,7 @@ private fun KtExpression.getBundleNameByContext(): String? {
?.getBundleName()
}
return resolvedCall.valueArguments.entrySet()
return resolvedCall.valueArguments.entries
.singleOrNull { it.value.arguments.any { it.getArgumentExpression() == expression } }
?.key
?.getBundleNameByAnnotation()
@@ -361,7 +361,7 @@ public open class KotlinChangeInfo(
currentPsiMethods.singleOrNull()?.let { method -> return originalPsiMethods.keysToMap { method } }
val currentSignatures = initCurrentSignatures(currentPsiMethods)
return originalSignatures.toMap({ it.method }) { originalSignature ->
return originalSignatures.toMapBy({ it.method }) { originalSignature ->
var constrainedCurrentSignatures = currentSignatures.map { it.constrainBy(originalSignature) }
val maxMandatoryCount = constrainedCurrentSignatures.maxBy { it.mandatoryParams.size }!!.mandatoryParams.size
constrainedCurrentSignatures = constrainedCurrentSignatures.filter { it.mandatoryParams.size == maxMandatoryCount }
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
public class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer<JUnitConfiguration>(JUnitConfigurationType.getInstance()) {
override fun isConfigurationFromContext(configuration: JUnitConfiguration,
context: ConfigurationContext): Boolean {
if (RunConfigurationProducer.getInstance(javaClass<PatternConfigurationProducer>()).isMultipleElementsSelected(context)) {
if (RunConfigurationProducer.getInstance(PatternConfigurationProducer::class.java).isMultipleElementsSelected(context)) {
return false
}
@@ -134,7 +134,7 @@ public class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer<JUni
private fun getTestMethodLocation(leaf: PsiElement): Location<PsiMethod>? {
val function = leaf.getParentOfType<KtNamedFunction>(false) ?: return null
val owner = PsiTreeUtil.getParentOfType(function, javaClass<KtFunction>(), javaClass<KtClass>())
val owner = PsiTreeUtil.getParentOfType(function, KtFunction::class.java, KtClass::class.java)
if (owner is KtClass) {
val delegate = LightClassUtil.getPsiClass(owner) ?: return null
@@ -113,9 +113,9 @@ public class KotlinRunConfigurationProducer : RunConfigurationProducer<JetRunCon
private fun PsiElement.declarationContainer(strict: Boolean): KtDeclarationContainer? {
val element = if (strict)
PsiTreeUtil.getParentOfType(this, javaClass<KtClassOrObject>(), javaClass<KtFile>())
PsiTreeUtil.getParentOfType(this, KtClassOrObject::class.java, KtFile::class.java)
else
PsiTreeUtil.getNonStrictParentOfType(this, javaClass<KtClassOrObject>(), javaClass<KtFile>())
PsiTreeUtil.getNonStrictParentOfType(this, KtClassOrObject::class.java, KtFile::class.java)
return element as KtDeclarationContainer?
}
@@ -68,7 +68,7 @@ public interface KotlinPsiRange {
val range = element
.siblings()
.filter(SIGNIFICANT_FILTER)
.take(elements.size())
.take(elements.size)
.toList()
.toRange()
@@ -78,9 +78,9 @@ public interface KotlinPsiRange {
matches.add(result)
}
else {
val matchCountSoFar = matches.size()
val matchCountSoFar = matches.size
super.visitKtElement(element)
if (result is UnificationResult.WeaklyMatched && matches.size() == matchCountSoFar) {
if (result is UnificationResult.WeaklyMatched && matches.size == matchCountSoFar) {
matches.add(result)
}
}
@@ -190,8 +190,8 @@ public class KotlinPsiUnifier(
fun checkArguments(): Status? {
val args1 = rc1.getResultingDescriptor()?.getValueParameters()?.map { rc1.getValueArguments()[it] } ?: Collections.emptyList()
val args2 = rc2.getResultingDescriptor()?.getValueParameters()?.map { rc2.getValueArguments()[it] } ?: Collections.emptyList()
if (args1.size() != args2.size()) return UNMATCHED
if (rc1.getCall().getValueArguments().size() != args1.size() || rc2.getCall().getValueArguments().size() != args2.size()) return null
if (args1.size != args2.size) return UNMATCHED
if (rc1.getCall().getValueArguments().size != args1.size || rc2.getCall().getValueArguments().size != args2.size) return null
return (args1.asSequence().zip(args2.asSequence())).fold(MATCHED) { s, p ->
val (arg1, arg2) = p
@@ -247,7 +247,7 @@ public class KotlinPsiUnifier(
fun checkTypeArguments(): Status? {
val typeArgs1 = rc1.getTypeArguments().toList()
val typeArgs2 = rc2.getTypeArguments().toList()
if (typeArgs1.size() != typeArgs2.size()) return UNMATCHED
if (typeArgs1.size != typeArgs2.size) return UNMATCHED
for ((typeArg1, typeArg2) in (typeArgs1.zip(typeArgs2))) {
if (!matchDescriptors(typeArg1.first, typeArg2.first)) return UNMATCHED
@@ -338,7 +338,7 @@ public class KotlinPsiUnifier(
val args1 = type1.getArguments()
val args2 = type2.getArguments()
if (args1.size() != args2.size()) return UNMATCHED
if (args1.size != args2.size) return UNMATCHED
if (!args1.zip(args2).all {
it.first.getProjectionKind() == it.second.getProjectionKind() && matchTypes(it.first.getType(), it.second.getType()) == MATCHED }
) return UNMATCHED
@@ -352,7 +352,7 @@ public class KotlinPsiUnifier(
private fun matchTypes(types1: Collection<KotlinType>, types2: Collection<KotlinType>): Boolean {
fun sortTypes(types: Collection<KotlinType>) = types.sortedBy { DescriptorRenderer.DEBUG_TEXT.renderType(it) }
if (types1.size() != types2.size()) return false
if (types1.size != types2.size) return false
return (sortTypes(types1).zip(sortTypes(types2))).all { matchTypes(it.first, it.second) == MATCHED }
}
@@ -427,7 +427,7 @@ public class KotlinPsiUnifier(
private fun matchDestructuringDeclarations(e1: KtDestructuringDeclaration, e2: KtDestructuringDeclaration): Boolean {
val entries1 = e1.getEntries()
val entries2 = e2.getEntries()
if (entries1.size() != entries2.size()) return false
if (entries1.size != entries2.size) return false
return entries1.zip(entries2).all { p ->
val (entry1, entry2) = p
@@ -487,7 +487,7 @@ public class KotlinPsiUnifier(
val params2 = desc2.getValueParameters()
val zippedParams = params1.zip(params2)
val parametersMatch =
(params1.size() == params2.size()) && zippedParams.all { matchTypes(it.first.getType(), it.second.getType()) == MATCHED }
(params1.size == params2.size) && zippedParams.all { matchTypes(it.first.getType(), it.second.getType()) == MATCHED }
if (!parametersMatch) return UNMATCHED
zippedParams.forEach { declarationPatternsToTargets.putValue(it.first, it.second) }
@@ -527,7 +527,7 @@ public class KotlinPsiUnifier(
matchPair: (Pair<T, T>) -> Boolean
): Boolean {
val zippedParams = declarations1.zip(declarations2)
if (declarations1.size() != declarations2.size() || !zippedParams.all { matchPair(it) }) return false
if (declarations1.size != declarations2.size || !zippedParams.all { matchPair(it) }) return false
zippedParams.forEach { declarationPatternsToTargets.putValue(it.first, it.second) }
return true
@@ -580,7 +580,7 @@ public class KotlinPsiUnifier(
val delegationInfo1 = getDelegationOrderInfo(decl1)
val delegationInfo2 = getDelegationOrderInfo(decl2)
if (delegationInfo1.orderInsensitive.size() != delegationInfo2.orderInsensitive.size()) return UNMATCHED
if (delegationInfo1.orderInsensitive.size != delegationInfo2.orderInsensitive.size) return UNMATCHED
outer@
for (specifier1 in delegationInfo1.orderInsensitive) {
for (specifier2 in delegationInfo2.orderInsensitive) {
@@ -599,7 +599,7 @@ public class KotlinPsiUnifier(
val sortedMembers1 = resolveAndSortDeclarationsByDescriptor(membersInfo1.orderInsensitive)
val sortedMembers2 = resolveAndSortDeclarationsByDescriptor(membersInfo2.orderInsensitive)
if ((sortedMembers1.size() != sortedMembers2.size())) return UNMATCHED
if ((sortedMembers1.size != sortedMembers2.size)) return UNMATCHED
if (sortedMembers1.zip(sortedMembers2).any {
val (d1, d2) = it
(matchDeclarations(d1.first, d2.first, d1.second, d2.second) ?: doUnify(d1.first, d2.first)) == UNMATCHED
@@ -774,7 +774,7 @@ public class KotlinPsiUnifier(
val targetElements = target.elements
val patternElements = pattern.elements
if (targetElements.size() != patternElements.size()) return UNMATCHED
if (targetElements.size != patternElements.size) return UNMATCHED
return (targetElements.asSequence().zip(patternElements.asSequence())).fold(MATCHED) { s, p ->
if (s != UNMATCHED) s and doUnify(p.first, p.second) else s
@@ -898,7 +898,7 @@ public class KotlinPsiUnifier(
return with(Context(target, pattern)) {
val status = doUnify(target, pattern)
when {
substitution.size() != descriptorToParameter.size() ->
substitution.size != descriptorToParameter.size ->
Unmatched
status == MATCHED -> {
val targetRange = targetSubstringInfo?.createExpression()?.toRange() ?: target
@@ -45,7 +45,7 @@ abstract class KotlinAbiVersionIndexBase<T>(private val classOfIndex: Class<T>)
override fun save(output: DataOutput, value: BinaryVersion) {
val array = value.toArray()
DataInputOutputUtil.writeINT(output, array.size())
DataInputOutputUtil.writeINT(output, array.size)
for (number in array) {
DataInputOutputUtil.writeINT(output, number)
}
@@ -61,7 +61,7 @@ abstract class KotlinAbiVersionIndexBase<T>(private val classOfIndex: Class<T>)
body()
}
catch (e: Throwable) {
LOG.warn("Could not index ABI version for file " + inputData.file + ": " + e.getMessage())
LOG.warn("Could not index ABI version for file " + inputData.file + ": " + e.message)
}
}
}
@@ -48,7 +48,7 @@ public abstract class AbstractDataFlowValueRenderingTest: KotlinLightCodeInsight
val expression = element.getStrictParentOfType<KtExpression>()!!
val info = expression.analyze().getDataFlowInfo(expression)
val allValues = (info.getCompleteTypeInfo().keySet() + info.getCompleteNullabilityInfo().keySet()).toSet()
val allValues = (info.getCompleteTypeInfo().keySet() + info.getCompleteNullabilityInfo().keys).toSet()
val actual = allValues.mapNotNull { renderDataFlowValue(it) }.sorted().joinToString("\n")
KotlinTestUtils.assertEqualsToFile(File(FileUtil.getNameWithoutExtension(fileName) + ".txt"), actual)
@@ -36,7 +36,7 @@ public abstract class AbstractAddImportTest : AbstractImportsTest() {
var filter: (DeclarationDescriptor) -> Boolean = { true }
if (descriptorName.startsWith("class:")) {
filter = { it is ClassDescriptor }
descriptorName = descriptorName.substring("class:".length()).trim()
descriptorName = descriptorName.substring("class:".length).trim()
}
val descriptors = file.resolveImportReference(FqName(descriptorName)).filter(filter)
@@ -45,7 +45,7 @@ public abstract class AbstractAddImportTest : AbstractImportsTest() {
descriptors.isEmpty() ->
error("No descriptor $descriptorName found")
descriptors.size() > 1 ->
descriptors.size > 1 ->
error("Multiple descriptors found:\n " + descriptors.map { DescriptorRenderer.FQ_NAMES_IN_TYPES.render(it) }.joinToString("\n "))
else -> {
@@ -43,7 +43,7 @@ class LightClassesClasspathSortingTest : KotlinCodeInsightTestCase() {
getModule().configureAs(getProjectDescriptor(dirName))
val testDirRoot = File(getTestDataPath())
val filePaths = File(testDirRoot, dirName).listFiles().map { it.relativeTo(testDirRoot) }.toArrayList().toTypedArray()
val filePaths = File(testDirRoot, dirName).listFiles().map { it.toRelativeString(testDirRoot) }.toTypedArray()
configureByFiles(null, *filePaths)
checkLightClassBeforeDecompiled(fqName)
@@ -27,6 +27,6 @@ public class KotlinFindUsagesWithLibraryCustomTest : AbstractKotlinFindUsagesWit
val indexOf = libraryFile.getText().indexOf("localClassProperty")
val jetParameter = libraryFile.findElementAt(indexOf)!!.getStrictParentOfType<KtParameter>()!!
val usages = findUsages(jetParameter.getOriginalElement(), null, false)
assertEquals(2, usages.size())
assertEquals(2, usages.size)
}
}
@@ -34,7 +34,7 @@ public class RegisteredFindersTest : KotlinLightCodeInsightFixtureTestCase() {
val name = finder.javaClass.getSimpleName()
val removed = expectedFindersNames.remove(name)
Assert.assertTrue("Unknown finder found: $finder, class name: $name, search in $expectedFindersNames.\n" +
"Consider updating ${javaClass<KotlinJavaPsiFacade>()}",
"Consider updating ${KotlinJavaPsiFacade::class.java}",
removed)
}
}
@@ -71,13 +71,13 @@ public abstract class AbstractInspectionTest : KotlinLightCodeInsightFixtureTest
setTestDataPath("${KotlinTestUtils.getHomeDirectory()}/$srcDir")
val afterFiles = srcDir.listFiles { it -> it.name == "inspectionData" }?.single()?.listFiles { it -> it.extension == "after" } ?: emptyArray()
val psiFiles = srcDir.walkTopDown().treeFilter { it.name != "inspectionData" }.mapNotNull {
val psiFiles = srcDir.walkTopDown().onEnter { it.name != "inspectionData" }.mapNotNull {
file ->
if (file.isDirectory) {
null
}
else if (file.extension != "kt") {
val filePath = file.relativeTo(srcDir).replace('\\', '/')
val filePath = file.relativeToFile(srcDir).invariantSeparatorsPath
configureByFile(filePath)
}
else {
@@ -122,7 +122,7 @@ public abstract class AbstractOverrideImplementTest : KotlinLightCodeInsightFixt
private fun doOverrideImplement(handler: OverrideImplementMembersHandler, memberToOverride: String?) {
val elementAtCaret = myFixture.file.findElementAt(myFixture.editor.caretModel.offset)
val classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, javaClass<KtClassOrObject>())
val classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, KtClassOrObject::class.java)
?: error("Caret should be inside class or object")
val chooserObjects = handler.collectMembersToGenerate(classOrObject)
@@ -133,7 +133,7 @@ public abstract class AbstractOverrideImplementTest : KotlinLightCodeInsightFixt
!KotlinBuiltIns.isAny(it)
} ?: true
}
assertEquals(1, filtered.size(), "Invalid number of available chooserObjects for override")
assertEquals(1, filtered.size, "Invalid number of available chooserObjects for override")
filtered.single()
}
else {
@@ -157,7 +157,7 @@ public abstract class AbstractOverrideImplementTest : KotlinLightCodeInsightFixt
private fun doMultiOverrideImplement(handler: OverrideImplementMembersHandler) {
val elementAtCaret = myFixture.file.findElementAt(myFixture.editor.caretModel.offset)
val classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, javaClass<KtClassOrObject>())
val classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, KtClassOrObject::class.java)
?: error("Caret should be inside class or object")
val chooserObjects = handler.collectMembersToGenerate(classOrObject).sortedBy { it.descriptor.name.asString() + " in " + it.immediateSuper.containingDeclaration.name.asString() }
@@ -86,7 +86,7 @@ abstract class AbstractCodeInsightActionTest : KotlinLightCodeInsightFixtureTest
}
}
catch (e: CommonRefactoringUtil.RefactoringErrorHintException) {
KotlinTestUtils.assertEqualsToFile(conflictFile, e.getMessage()!!)
KotlinTestUtils.assertEqualsToFile(conflictFile, e.message!!)
}
finally {
ConfigLibraryUtil.unconfigureLibrariesByDirective(myModule, fileText)
@@ -55,7 +55,7 @@ private fun createEmptyFile(dir: VirtualFile, relativePath: String) {
var currentDir = dir
val segments = relativePath.split('/')
segments.forEachIndexed { i, s ->
if (i < segments.size() - 1) {
if (i < segments.size - 1) {
currentDir = currentDir.createChildDirectory(null, s)
} else {
currentDir.createChildData(null, s)
@@ -126,9 +126,9 @@ private fun JavaCodeInsightTestFixture.configureByCodeFragment(filePath: String)
val typeStr = InTextDirectivesUtils.findStringWithPrefixes(getFile().getText(), "// ${ExpectedCompletionUtils.RUNTIME_TYPE} ")
if (typeStr != null) {
file.putCopyableUserData(KtCodeFragment.RUNTIME_TYPE_EVALUATOR, {
val codeFragment = KtPsiFactory(getProject()).createBlockCodeFragment("val xxx: $typeStr" , PsiTreeUtil.getParentOfType(elementAt, javaClass<KtElement>()))
val codeFragment = KtPsiFactory(getProject()).createBlockCodeFragment("val xxx: $typeStr" , PsiTreeUtil.getParentOfType(elementAt, KtElement::class.java))
val context = codeFragment.analyzeFully()
val typeReference: KtTypeReference = PsiTreeUtil.getChildOfType(codeFragment.getContentElement().getFirstChild(), javaClass())!!
val typeReference: KtTypeReference = PsiTreeUtil.getChildOfType(codeFragment.getContentElement().getFirstChild(), KtTypeReference::class.java)!!
context[BindingContext.TYPE, typeReference]
})
}
@@ -140,7 +140,7 @@ private fun createCodeFragment(filePath: String, contextElement: PsiElement): Kt
val fileForFragment = File(filePath + ".fragment")
val codeFragmentText = FileUtil.loadFile(fileForFragment, true).trim()
val psiFactory = KtPsiFactory(contextElement.getProject())
if (fileForFragment.readLines().size() == 1) {
if (fileForFragment.readLines().size == 1) {
return psiFactory.createExpressionCodeFragment(
codeFragmentText,
KotlinCodeFragmentFactory.getContextElement(contextElement)
@@ -78,7 +78,7 @@ public abstract class AbstractNavigateToLibrarySourceTest : KotlinCodeInsightTes
refs.forEach { referenceContainersToReferences.addReference(it) }
}
return referenceContainersToReferences.values()
return referenceContainersToReferences.values
}
private fun MutableMap<PsiElement, KtReference>.addReference(ref: KtReference) {
@@ -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]
}
@@ -40,7 +40,7 @@ public abstract class AbstractUsageHighlightingTest: KotlinLightCodeInsightFixtu
assert(caret != -1) { "Caret marker '$CARET_TAG' expected" }
WriteCommandAction.runWriteCommandAction(myFixture.getProject()) {
document.deleteString(caret, caret + CARET_TAG.length())
document.deleteString(caret, caret + CARET_TAG.length)
}
getEditor().getCaretModel().moveToOffset(caret)
@@ -52,8 +52,8 @@ public abstract class AbstractUsageHighlightingTest: KotlinLightCodeInsightFixtu
var startOffset = highlighter.getStartOffset()
var endOffset = highlighter.getEndOffset()
if (startOffset > caret) startOffset += CARET_TAG.length()
if (endOffset > caret) endOffset += CARET_TAG.length()
if (startOffset > caret) startOffset += CARET_TAG.length
if (endOffset > caret) endOffset += CARET_TAG.length
HighlightInfo.newHighlightInfo(HighlightInfoType.INFORMATION).range(startOffset, endOffset).create()
}
@@ -49,12 +49,12 @@ public class NoErrorsInStdlibTest : KotlinLightCodeInsightFixtureTestCase() {
val errors = bindingContext.getDiagnostics().all().filter { it.getSeverity() == Severity.ERROR }
if (errors.isNotEmpty()) {
System.err.println("${psiFile.getName()}: ${errors.size()} errors")
System.err.println("${psiFile.getName()}: ${errors.size} errors")
AnalyzerWithCompilerReport.reportDiagnostics(
bindingContext.getDiagnostics(), PrintingMessageCollector.PLAIN_TEXT_TO_SYSTEM_ERR
)
totalErrors += errors.size()
totalErrors += errors.size
}
}
}
@@ -32,7 +32,7 @@ class KotlinCleanupInspectionTest(): KotlinLightCodeInsightFixtureTestCase() {
override fun getProjectDescriptor(): LightProjectDescriptor = KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE
private fun doTest(result: String, vararg files: String) {
myFixture.enableInspections(javaClass<KotlinCleanupInspection>())
myFixture.enableInspections(KotlinCleanupInspection::class.java)
myFixture.configureByFiles(*files)
val project = myFixture.getProject()
@@ -72,7 +72,7 @@ public abstract class AbstractMultiFileIntentionTest : KotlinMultiFileTestCase()
assert(conflictFile == null) { "Conflict file $conflictFile should not exist" }
}
catch (e: CommonRefactoringUtil.RefactoringErrorHintException) {
KotlinTestUtils.assertEqualsToFile(File(conflictFile!!.path), e.getMessage()!!)
KotlinTestUtils.assertEqualsToFile(File(conflictFile!!.path), e.message!!)
}
finally {
PsiDocumentManager.getInstance(getProject()!!).commitAllDocuments()
@@ -47,7 +47,7 @@ abstract class AbstractParameterInfoTest : LightCodeInsightFixtureTestCase() {
val lastChild = file.allChildren.filter { it !is PsiWhiteSpace }.last()
val expectedResultText = when (lastChild.node.elementType) {
KtTokens.BLOCK_COMMENT -> lastChild.text.substring(2, lastChild.text.length() - 2).trim()
KtTokens.BLOCK_COMMENT -> lastChild.text.substring(2, lastChild.text.length - 2).trim()
KtTokens.EOL_COMMENT -> lastChild.text.substring(2).trim()
else -> error("Unexpected last file child")
}
@@ -87,7 +87,7 @@ public abstract class AbstractMemberPullPushTest : KotlinLightCodeInsightFixture
catch(e: Exception) {
val message = when (e) {
is BaseRefactoringProcessor.ConflictsInTestsException -> e.messages.sorted().joinToString("\n")
is CommonRefactoringUtil.RefactoringErrorHintException -> e.getMessage()!!
is CommonRefactoringUtil.RefactoringErrorHintException -> e.message!!
else -> throw e
}
KotlinTestUtils.assertEqualsToFile(conflictFile, message)
@@ -251,7 +251,7 @@ public abstract class AbstractExtractionTest() : KotlinLightCodeInsightFixtureTe
if (it.isNotEmpty()) {
@Suppress("CAST_NEVER_SUCCEEDS")
val args = it.map { it.toBoolean() }.toTypedArray() as Array<Any?>
javaClass<ExtractionOptions>().getConstructors().first { it.getParameterTypes().size() == args.size() }.newInstance(*args) as ExtractionOptions
ExtractionOptions::class.java.getConstructors().first { it.getParameterTypes().size == args.size }.newInstance(*args) as ExtractionOptions
} else ExtractionOptions.DEFAULT
}
@@ -281,10 +281,10 @@ public abstract class AbstractExtractionTest() : KotlinLightCodeInsightFixtureTe
it.getParameterTypeCandidates(false).map { renderer.renderType(it) }.joinToString(", ", "[", "]")
}.joinToString()
if (actualNames.size() != 1 || expectedNames.isNotEmpty()) {
if (actualNames.size != 1 || expectedNames.isNotEmpty()) {
assertEquals(expectedNames, actualNames, "Expected names mismatch.")
}
if (actualReturnTypes.size() != 1 || expectedReturnTypes.isNotEmpty()) {
if (actualReturnTypes.size != 1 || expectedReturnTypes.isNotEmpty()) {
assertEquals(expectedReturnTypes, actualReturnTypes, "Expected return types mismatch.")
}
assertEquals("Expected descriptors mismatch.", expectedDescriptors, actualDescriptors)
@@ -97,7 +97,7 @@ public class KotlinNameSuggesterTest : LightCodeInsightFixtureTestCase() {
})
}
catch (e: KotlinRefactoringUtil.IntroduceRefactoringException) {
throw AssertionError("Failed to find expression: " + e.getMessage())
throw AssertionError("Failed to find expression: " + e.message)
}
finally {
if (withRuntime) {
@@ -57,7 +57,7 @@ public abstract class AbstractPullUpTest : AbstractMemberPullPushTest() {
protected fun doJavaTest(path: String) {
doTest(path) { file ->
val elementAt = getFile().findElementAt(getEditor().caretModel.offset)
val sourceClass = PsiTreeUtil.getParentOfType(elementAt, javaClass<PsiClass>())!!
val sourceClass = PsiTreeUtil.getParentOfType(elementAt, PsiClass::class.java)!!
val targetClassName = getTargetClassName(file)
val superClasses = RefactoringHierarchyUtil.createBasesList(sourceClass, false, true)
@@ -129,7 +129,7 @@ public abstract class AbstractRenameTest : KotlinMultiFileTestCase() {
catch (e : Exception) {
if (e !is RefactoringErrorHintException && e !is ConflictsInTestsException) throw e
val hintExceptionUnquoted = StringUtil.unquoteString(e.getMessage()!!)
val hintExceptionUnquoted = StringUtil.unquoteString(e.message!!)
if (hintDirective != null) {
Assert.assertEquals(hintDirective, hintExceptionUnquoted)
}
@@ -153,11 +153,11 @@ public abstract class AbstractRenameTest : KotlinMultiFileTestCase() {
val toRename = if (renameParamsObject["byRef"]?.getAsBoolean() ?: false) {
val editor = createEditor(mainFile)
editor.getCaretModel().moveToOffset(marker + MARKER_TEXT.length())
editor.getCaretModel().moveToOffset(marker + MARKER_TEXT.length)
TargetElementUtilBase.findTargetElement(editor, TargetElementUtilBase.getInstance().getAllAccepted())!!
}
else {
psiFile.findElementAt(marker + MARKER_TEXT.length())!!.getNonStrictParentOfType<PsiNamedElement>()!!
psiFile.findElementAt(marker + MARKER_TEXT.length)!!.getNonStrictParentOfType<PsiNamedElement>()!!
}
val substitution = RenamePsiElementProcessor.forElement(toRename).substituteElementToRename(toRename, null)
@@ -228,7 +228,7 @@ public abstract class AbstractRenameTest : KotlinMultiFileTestCase() {
val fileFqn = jetFile.getPackageFqName()
Assert.assertTrue("File '${mainFilePath}' should have package containing ${fqn}", fileFqn.isSubpackageOf(fqn))
val packageSegment = jetFile.getPackageDirective()!!.getPackageNames()[fqn.pathSegments().size() - 1]
val packageSegment = jetFile.getPackageDirective()!!.getPackageNames()[fqn.pathSegments().size - 1]
val segmentReference = packageSegment.mainReference
val psiElement = segmentReference.resolve()!!
@@ -72,7 +72,7 @@ public abstract class AbstractPartialBodyResolveTest : KotlinLightCodeInsightFix
val editor = myFixture.getEditor()
val selectionModel = editor.getSelectionModel()
val expression = if (selectionModel.hasSelection()) {
PsiTreeUtil.findElementOfClassAtRange(file, selectionModel.getSelectionStart(), selectionModel.getSelectionEnd(), javaClass<KtExpression>())
PsiTreeUtil.findElementOfClassAtRange(file, selectionModel.getSelectionStart(), selectionModel.getSelectionEnd(), KtExpression::class.java)
?: error("No JetExpression at selection range")
}
else {
@@ -37,7 +37,7 @@ public abstract class AbstractReferenceResolveInLibrarySourcesTest : KotlinLight
val expectedResolveData = AbstractReferenceResolveTest.readResolveData(fixture.getFile()!!.getText(), 0)
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()!!
@@ -83,7 +83,7 @@ public abstract class AbstractReferenceResolveTest : KotlinLightPlatformCodeInsi
private fun forEachCaret(action: (index: Int, offset: Int) -> Unit) {
val offsets = myFixture.getEditor().getCaretModel().getAllCarets().map { it.getOffset() }
val singleCaret = offsets.size() == 1
val singleCaret = offsets.size == 1
for ((index, offset) in offsets.withIndex()) {
action(if (singleCaret) -1 else index + 1, offset)
}
@@ -107,7 +107,7 @@ public abstract class AbstractReferenceResolveTest : KotlinLightPlatformCodeInsi
referenceToString = "<empty>"
}
else {
assertTrue(refs.size() == 1, "Must be a single ref: $refs.\nUse $MULTIRESOLVE if you need multiple refs\nUse $REF_EMPTY for an unresolved reference")
assertTrue(refs.size == 1, "Must be a single ref: $refs.\nUse $MULTIRESOLVE if you need multiple refs\nUse $REF_EMPTY for an unresolved reference")
referenceToString = refs.get(0)
Assert.assertNotNull("Test data wasn't found, use \"// REF: \" directive", referenceToString)
}
@@ -185,7 +185,7 @@ class RunConfigurationTest: KotlinCodeInsightTestCase() {
val text = comment.getText() ?: return
if (!text.startsWith(RUN_PREFIX)) return
val expectedClass = text.substring(RUN_PREFIX.length()).trim()
val expectedClass = text.substring(RUN_PREFIX.length).trim()
if (expectedClass.isNotEmpty()) expectedClasses.add(expectedClass)
val dataContext = MapDataContext()
@@ -59,7 +59,7 @@ public abstract class AbstractKotlinFileStructureTest : KotlinLightCodeInsightFi
val fileText = FileUtil.loadFile(File(getTestDataPath(), fileName()), true)
val withInherited = InTextDirectivesUtils.isDirectiveDefined(fileText, "WITH_INHERITED")
setTreeActionState(javaClass<KotlinInheritedMembersNodeProvider>(), withInherited)
setTreeActionState(KotlinInheritedMembersNodeProvider::class.java, withInherited)
}
public fun FileStructurePopup.update() {
@@ -59,7 +59,7 @@ public class DebugTextByStubTest : LightCodeInsightFixtureTestCase() {
val (file, tree) = createFileAndStubTree(text)
val function = tree.findChildStubByType(KtStubElementTypes.FUNCTION)
val psi = KtNamedFunction(function as KotlinFunctionStub)
Assert.assertEquals("STUB: " + file.findChildByClass(javaClass<KtNamedFunction>())!!.getText(), psi.getDebugText())
Assert.assertEquals("STUB: " + file.findChildByClass(KtNamedFunction::class.java)!!.getText(), psi.getDebugText())
}
fun typeReference(text: String) {
@@ -69,7 +69,7 @@ public class DebugTextByStubTest : LightCodeInsightFixtureTestCase() {
val valueParameter = parameterList.findChildStubByType(KtStubElementTypes.VALUE_PARAMETER)!!
val typeReferenceStub = valueParameter.findChildStubByType(KtStubElementTypes.TYPE_REFERENCE)
val psiFromStub = KtTypeReference(typeReferenceStub as KotlinPlaceHolderStub)
val typeReferenceByPsi = file.findChildByClass(javaClass<KtNamedFunction>())!!.getValueParameters()[0].getTypeReference()
val typeReferenceByPsi = file.findChildByClass(KtNamedFunction::class.java)!!.getValueParameters()[0].getTypeReference()
Assert.assertEquals(typeReferenceByPsi!!.getText(), psiFromStub.getDebugText())
}
@@ -77,7 +77,7 @@ public class DebugTextByStubTest : LightCodeInsightFixtureTestCase() {
val (file, tree) = createFileAndStubTree(text)
val clazz = tree.findChildStubByType(KtStubElementTypes.CLASS)!!
val psiFromStub = KtClass(clazz as KotlinClassStub)
val classByPsi = file.findChildByClass(javaClass<KtClass>())
val classByPsi = file.findChildByClass(KtClass::class.java)
val toCheckAgainst = "STUB: " + (expectedText ?: classByPsi!!.getText())
Assert.assertEquals(toCheckAgainst, psiFromStub.getDebugText())
if (expectedText != null) {
@@ -89,7 +89,7 @@ public class DebugTextByStubTest : LightCodeInsightFixtureTestCase() {
val (file, tree) = createFileAndStubTree(text)
val obj = tree.findChildStubByType(KtStubElementTypes.OBJECT_DECLARATION)!!
val psiFromStub = KtObjectDeclaration(obj as KotlinObjectStub)
val objectByPsi = file.findChildByClass(javaClass<KtObjectDeclaration>())
val objectByPsi = file.findChildByClass(KtObjectDeclaration::class.java)
val toCheckAgainst = "STUB: " + (expectedText ?: objectByPsi!!.getText())
Assert.assertEquals(toCheckAgainst, psiFromStub.getDebugText())
}
@@ -98,7 +98,7 @@ public class DebugTextByStubTest : LightCodeInsightFixtureTestCase() {
val (file, tree) = createFileAndStubTree(text)
val property = tree.findChildStubByType(KtStubElementTypes.PROPERTY)!!
val psiFromStub = KtProperty(property as KotlinPropertyStub)
val propertyByPsi = file.findChildByClass(javaClass<KtProperty>())
val propertyByPsi = file.findChildByClass(KtProperty::class.java)
val toCheckAgainst = "STUB: " + (expectedText ?: propertyByPsi!!.getText())
Assert.assertEquals(toCheckAgainst, psiFromStub.getDebugText())
}
@@ -133,13 +133,13 @@ public class StringInjectionHostTest: KotlinLiteFixture() {
val chars = StringBuilder(prefix)
val range = rangeInHost ?: escaper.getRelevantTextRange()
assertTrue(escaper.decode(range, chars))
assertEquals(decoded, chars.substring(prefix.length()))
assertEquals(decoded, chars.substring(prefix.length))
val extendedOffsets = HashMap(targetToSourceOffsets)
val beforeStart = targetToSourceOffsets.keySet().min()!! - 1
val beforeStart = targetToSourceOffsets.keys.min()!! - 1
if (beforeStart >= 0) {
extendedOffsets[beforeStart] = -1
}
extendedOffsets[targetToSourceOffsets.keySet().max()!! + 1] = -1
extendedOffsets[targetToSourceOffsets.keys.max()!! + 1] = -1
for ((target, source) in extendedOffsets) {
assertEquals("Wrong source offset for $target", source, escaper.getOffsetInHost(target, range))
}
@@ -35,7 +35,7 @@ public class KotlinReferencesSearchTest(): AbstractSearcherTest() {
public fun testPlus() {
val refs = doTest<KtFunction>()
Assert.assertEquals(3, refs.size())
Assert.assertEquals(3, refs.size)
Assert.assertEquals("+", refs[0].getCanonicalText())
Assert.assertEquals("plus", refs[1].getCanonicalText())
Assert.assertEquals("plus", refs[2].getCanonicalText())
@@ -43,7 +43,7 @@ public class KotlinReferencesSearchTest(): AbstractSearcherTest() {
public fun testParam() {
val refs = doTest<KtParameter>()
Assert.assertEquals(3, refs.size())
Assert.assertEquals(3, refs.size)
Assert.assertEquals("n", refs[0].getCanonicalText())
Assert.assertEquals("component1", refs[1].getCanonicalText())
Assert.assertTrue(refs[2] is KtDestructuringDeclarationReference)