diff --git a/libraries/examples/annotation-processor-example/src/main/kotlin/example/ExampleAnnotationProcessor.kt b/libraries/examples/annotation-processor-example/src/main/kotlin/example/ExampleAnnotationProcessor.kt index 0d12379f62a..714425fddd9 100644 --- a/libraries/examples/annotation-processor-example/src/main/kotlin/example/ExampleAnnotationProcessor.kt +++ b/libraries/examples/annotation-processor-example/src/main/kotlin/example/ExampleAnnotationProcessor.kt @@ -11,14 +11,14 @@ import javax.tools.Diagnostic public class ExampleAnnotationProcessor : AbstractProcessor() { private companion object { - val ANNOTATION_FQ_NAME = javaClass().getCanonicalName() + val ANNOTATION_FQ_NAME = ExampleAnnotation::class.java.getCanonicalName() val SUFFIX_OPTION = "suffix" val GENERATE_KOTLIN_CODE_OPTION = "generate.kotlin.code" val KAPT_KOTLIN_GENERATED_OPTION = "kapt.kotlin.generated" } override fun process(annotations: MutableSet?, roundEnv: RoundEnvironment): Boolean { - val elements = roundEnv.getElementsAnnotatedWith(javaClass()) + val elements = roundEnv.getElementsAnnotatedWith(ExampleAnnotation::class.java) val elementUtils = processingEnv.getElementUtils() val filer = processingEnv.getFiler() diff --git a/libraries/stdlib/src/kotlin/io/files/FileTreeWalk.kt b/libraries/stdlib/src/kotlin/io/files/FileTreeWalk.kt index dc4cdfcfc45..54fe7a1fa84 100644 --- a/libraries/stdlib/src/kotlin/io/files/FileTreeWalk.kt +++ b/libraries/stdlib/src/kotlin/io/files/FileTreeWalk.kt @@ -6,7 +6,6 @@ package kotlin.io import java.io.File import java.io.IOException import java.util.Stack -import kotlin.support.AbstractIterator /** * An enumeration to describe possible walk directions. diff --git a/libraries/stdlib/src/kotlin/text/StringsJVM.kt b/libraries/stdlib/src/kotlin/text/StringsJVM.kt index 464b37eb56f..c32db047ce4 100644 --- a/libraries/stdlib/src/kotlin/text/StringsJVM.kt +++ b/libraries/stdlib/src/kotlin/text/StringsJVM.kt @@ -438,7 +438,7 @@ public fun String.toPattern(flags: Int = 0): java.util.regex.Pattern { * @sample test.text.StringTest.capitalize */ public fun String.capitalize(): String { - return if (isNotEmpty() && charAt(0).isLowerCase()) substring(0, 1).toUpperCase() + substring(1) else this + return if (isNotEmpty() && this[0].isLowerCase()) substring(0, 1).toUpperCase() + substring(1) else this } /** @@ -448,7 +448,7 @@ public fun String.capitalize(): String { * @sample test.text.StringTest.decapitalize */ public fun String.decapitalize(): String { - return if (isNotEmpty() && charAt(0).isUpperCase()) substring(0, 1).toLowerCase() + substring(1) else this + return if (isNotEmpty() && this[0].isUpperCase()) substring(0, 1).toLowerCase() + substring(1) else this } /** diff --git a/libraries/stdlib/test/AnnotationsTest.kt b/libraries/stdlib/test/AnnotationsTest.kt index 5190dce9899..d5bc7f31674 100644 --- a/libraries/stdlib/test/AnnotationsTest.kt +++ b/libraries/stdlib/test/AnnotationsTest.kt @@ -1,7 +1,6 @@ package test.annotations -import kotlin.* -import kotlin.test.assertTrue +import kotlin.test.* import org.junit.Test as test @Retention(AnnotationRetention.RUNTIME) @@ -14,21 +13,10 @@ class AnnotatedClass class AnnotationTest { @test fun annotationType() { - val annotations = javaClass().getAnnotations()!! - - var foundMyAnno = false - var foundDeprecated = false - - for (annotation in annotations) { - val clazz = annotation!!.annotationType() - when { - clazz == javaClass() -> foundMyAnno = true - clazz == javaClass() -> foundDeprecated = true - else -> {} - } - } - - assertTrue(foundMyAnno) - assertTrue(foundDeprecated) + val kAnnotations = AnnotatedClass::class.java.annotations.map { it!!.annotationClass } + val jAnnotations = AnnotatedClass::class.java.annotations.map { it!!.annotationClass.java } + + assertTrue(kAnnotations.containsAll(listOf(MyAnno::class, java.lang.Deprecated::class))) + assertTrue(jAnnotations.containsAll(listOf(MyAnno::class.java, java.lang.Deprecated::class.java))) } } diff --git a/libraries/stdlib/test/JavaClassTest.kt b/libraries/stdlib/test/JavaClassTest.kt index b0b7f5dacc4..0a998352bb7 100644 --- a/libraries/stdlib/test/JavaClassTest.kt +++ b/libraries/stdlib/test/JavaClassTest.kt @@ -2,13 +2,14 @@ package testjc import kotlin.test.* import junit.framework.TestCase +import java.util.* class C() class JavaClassTest() : TestCase() { fun testMe () { assertEquals("java.util.ArrayList", java.util.ArrayList().javaClass.getName()) - assertEquals("java.util.ArrayList", javaClass>().getName()) - assertEquals("testjc.C", javaClass().getName()) + assertEquals("java.util.ArrayList", ArrayList::class.java.getName()) + assertEquals("testjc.C", C::class.java.getName()) } } \ No newline at end of file diff --git a/libraries/stdlib/test/collections/MapJVMTest.kt b/libraries/stdlib/test/collections/MapJVMTest.kt index d6cc6b6759c..19e9e2254c5 100644 --- a/libraries/stdlib/test/collections/MapJVMTest.kt +++ b/libraries/stdlib/test/collections/MapJVMTest.kt @@ -43,7 +43,7 @@ class MapJVMTest { } @test fun iterateAndRemove() { - val map = (1..5).toMap({ it }, { 'a' + it }).toLinkedMap() + val map = (1..5).toMapBy({ it }, { 'a' + it }).toLinkedMap() val iterator = map.iterator() while (iterator.hasNext()) { if (iterator.next().key % 2 == 0) diff --git a/libraries/stdlib/test/collections/MapTest.kt b/libraries/stdlib/test/collections/MapTest.kt index 39e3f20c187..e3b76d32da7 100644 --- a/libraries/stdlib/test/collections/MapTest.kt +++ b/libraries/stdlib/test/collections/MapTest.kt @@ -187,7 +187,7 @@ class MapTest { } @test fun createWithSelectorForKeyAndValue() { - val map = listOf("a", "bb", "ccc").toMap({ it.length }, { it.toUpperCase() }) + val map = listOf("a", "bb", "ccc").toMapBy({ it.length }, { it.toUpperCase() }) assertEquals(3, map.size) assertEquals("A", map[1]) assertEquals("BB", map[2]) diff --git a/libraries/stdlib/test/io/IOStreams.kt b/libraries/stdlib/test/io/IOStreams.kt index cc8c3cf9e09..5b855591126 100644 --- a/libraries/stdlib/test/io/IOStreams.kt +++ b/libraries/stdlib/test/io/IOStreams.kt @@ -11,7 +11,7 @@ class IOStreamsTest { var writer: Writer? = null try { writer = tmpFile.outputStream().writer() - writer!!.write("Hello, World!") + writer.write("Hello, World!") } finally { writer?.close() } @@ -19,7 +19,7 @@ class IOStreamsTest { var reader: BufferedReader? = null try { reader = tmpFile.inputStream().reader().buffered() - act = reader!!.readLine() + act = reader.readLine() } finally { reader?.close() } diff --git a/libraries/stdlib/test/js/MapJsTest.kt b/libraries/stdlib/test/js/MapJsTest.kt index 6916fea13fd..c1f03a626f0 100644 --- a/libraries/stdlib/test/js/MapJsTest.kt +++ b/libraries/stdlib/test/js/MapJsTest.kt @@ -189,7 +189,7 @@ abstract class MapJsTest { map.containsKey(KEYS[3])) assertFalse(map.containsKey("foo") || - map.containsKey(1)) + map.containsKey(1 as Any)) } @test fun mapContainsValue() { @@ -200,7 +200,7 @@ abstract class MapJsTest { map.containsValue(VALUES[2]) && map.containsValue(VALUES[3])) - assertFalse(map.containsValue("four") || + assertFalse(map.containsValue("four" as Any) || map.containsValue(5)) } diff --git a/libraries/tools/kotlin-annotation-processing/src/main/kotlin/org/jetbrains/kotlin/annotation/RoundEnvironmentWrapper.kt b/libraries/tools/kotlin-annotation-processing/src/main/kotlin/org/jetbrains/kotlin/annotation/RoundEnvironmentWrapper.kt index 9c073fa3bec..f52b9e79681 100644 --- a/libraries/tools/kotlin-annotation-processing/src/main/kotlin/org/jetbrains/kotlin/annotation/RoundEnvironmentWrapper.kt +++ b/libraries/tools/kotlin-annotation-processing/src/main/kotlin/org/jetbrains/kotlin/annotation/RoundEnvironmentWrapper.kt @@ -86,7 +86,7 @@ internal class RoundEnvironmentWrapper( if (kotlinAnnotationsProvider.supportInheritedAnnotations) { val isInherited = processingEnv.getElementUtils().getTypeElement(annotationFqName) - ?.hasAnnotation(javaClass().getCanonicalName()) ?: false + ?.hasAnnotation(Inherited::class.java.getCanonicalName()) ?: false if (isInherited) { kotlinAnnotationsProvider.kotlinClasses.forEach { classFqName -> diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt index 3a21e3e3bb7..0b3c7bd39b2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt @@ -35,7 +35,7 @@ fun Project.initKapt( subpluginEnvironment: SubpluginEnvironment, taskFactory: (suffix: String) -> AbstractCompile ): AbstractCompile? { - val kaptExtension = extensions.getByType(javaClass()) + val kaptExtension = extensions.getByType(KaptExtension::class.java) val kotlinAfterJavaTask: AbstractCompile? if (kaptExtension.generateStubs) { @@ -193,7 +193,7 @@ public class AnnotationProcessingManager( } private fun appendAdditionalComplerArgs() { - val kaptExtension = project.extensions.getByType(javaClass()) + val kaptExtension = project.extensions.getByType(KaptExtension::class.java) val args = kaptExtension.getAdditionalArguments(project, androidVariant, getAndroidExtension()) if (args.isEmpty()) return diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index 5b90e9d3b5f..bd214aa9277 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -218,7 +218,7 @@ class Kotlin2JsSourceSetProcessor( private fun createCleanSourceMapTask() { val taskName = sourceSet.getTaskName("clean", "sourceMap") - val task = project.getTasks().create(taskName, javaClass()) + val task = project.getTasks().create(taskName, Delete::class.java) task.onlyIf { kotlinTask.property("sourceMap") as Boolean } task.delete(object : Closure(this) { override fun call(): String? = (kotlinTask.property("outputFile") as String) + ".map" @@ -232,10 +232,10 @@ abstract class AbstractKotlinPlugin @Inject constructor(val scriptHandler: Scrip abstract fun buildSourceSetProcessor(project: ProjectInternal, javaBasePlugin: JavaBasePlugin, sourceSet: SourceSet): KotlinSourceSetProcessor<*> public override fun apply(project: Project) { - val javaBasePlugin = project.getPlugins().apply(javaClass()) - val javaPluginConvention = project.getConvention().getPlugin(javaClass()) + val javaBasePlugin = project.getPlugins().apply(JavaBasePlugin::class.java) + val javaPluginConvention = project.getConvention().getPlugin(JavaPluginConvention::class.java) - project.getPlugins().apply(javaClass()) + project.getPlugins().apply(JavaPlugin::class.java) configureSourceSetDefaults(project as ProjectInternal, javaBasePlugin, javaPluginConvention) } @@ -456,7 +456,7 @@ open class KotlinAndroidPlugin @Inject constructor(val scriptHandler: ScriptHand private fun loadSubplugins(project: Project): SubpluginEnvironment { try { val subplugins = ServiceLoader.load( - javaClass(), project.getBuildscript().getClassLoader()).toList() + KotlinGradleSubplugin::class.java, project.getBuildscript().getClassLoader()).toList() val subpluginDependencyNames = subplugins.mapTo(hashSetOf()) { it.getGroupName() + ":" + it.getArtifactName() } @@ -556,13 +556,13 @@ private fun Project.createAptConfiguration(sourceSetName: String, kotlinAnnotati } private fun Project.createKaptExtension() { - getExtensions().create("kapt", javaClass()) + getExtensions().create("kapt", KaptExtension::class.java) } //copied from BasePlugin.getLocalVersion private fun loadAndroidPluginVersion(): String? { try { - val clazz = javaClass() + val clazz = BasePlugin::class.java val className = clazz.getSimpleName() + ".class" val classPath = clazz.getResource(className).toString() if (!classPath.startsWith("jar")) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt index 58cb7c7844b..c247bbffa33 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt @@ -126,7 +126,7 @@ abstract class BaseGradleIT { val tailParameters = params.asList() + listOf( pathToKotlinPlugin, if (options.withDaemon) "--daemon" else "--no-daemon", - "--${minLogLevel.name().toLowerCase()}", + "--${minLogLevel.name.toLowerCase()}", "-Pkotlin.gradle.test=true") return createGradleCommand(tailParameters) diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptArguments/src/main/java/test.kt b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptArguments/src/main/java/test.kt index 97543eceb02..3a0a9b24793 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptArguments/src/main/java/test.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptArguments/src/main/java/test.kt @@ -7,6 +7,6 @@ public class TestClass { public val testVal: String = "text" @example.ExampleAnnotation - public fun testFunction(): Class<*> = javaClass() + public fun testFunction(): Class<*> = TestClassCustomized::class.java } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/src/main/java/test.kt b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/src/main/java/test.kt index 37872cd6085..a0825234e36 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/src/main/java/test.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/src/main/java/test.kt @@ -7,6 +7,6 @@ public class TestClass { public val testVal: String = "text" @example.ExampleAnnotation - public fun testFunction(): Class<*> = javaClass() + public fun testFunction(): Class<*> = TestClassGenerated::class.java } \ No newline at end of file