Files
kotlin/compiler/testData/codegen/box/reflection/modifiers/classModality.kt
Ilya Matveev a5e4e0284e Mute some box tests for native backend
This patch mutes the following test categories:
   * Tests with java dependencies (System class,
     java stdlib, jvm-oriented annotations etc).
   * Coroutines tests.
   * Reflection tests.
   * Tests with an inheritance from the standard
     collections.
2017-03-10 19:59:37 +03:00

60 lines
1.8 KiB
Kotlin
Vendored

// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
// WITH_REFLECT
import kotlin.test.assertTrue
import kotlin.test.assertFalse
class FinalClass {
companion object Companion
}
open class OpenClass
abstract class AbstractClass
interface Interface
enum class EnumClass
enum class EnumClassWithAbstractMember { ; abstract fun foo() }
annotation class AnnotationClass
object Object
fun box(): String {
assertTrue(FinalClass::class.isFinal)
assertFalse(FinalClass::class.isOpen)
assertFalse(FinalClass::class.isAbstract)
assertTrue(FinalClass.Companion::class.isFinal)
assertFalse(FinalClass.Companion::class.isOpen)
assertFalse(FinalClass.Companion::class.isAbstract)
assertFalse(OpenClass::class.isFinal)
assertTrue(OpenClass::class.isOpen)
assertFalse(OpenClass::class.isAbstract)
assertFalse(AbstractClass::class.isFinal)
assertFalse(AbstractClass::class.isOpen)
assertTrue(AbstractClass::class.isAbstract)
assertFalse(Interface::class.isFinal)
assertFalse(Interface::class.isOpen)
assertTrue(Interface::class.isAbstract)
assertTrue(EnumClass::class.isFinal)
assertFalse(EnumClass::class.isOpen)
assertFalse(EnumClass::class.isAbstract)
assertTrue(EnumClassWithAbstractMember::class.isFinal)
assertFalse(EnumClassWithAbstractMember::class.isOpen)
assertFalse(EnumClassWithAbstractMember::class.isAbstract)
// Note that unlike in JVM, annotation classes are final in Kotlin
assertTrue(AnnotationClass::class.isFinal)
assertFalse(AnnotationClass::class.isOpen)
assertFalse(AnnotationClass::class.isAbstract)
assertTrue(Object::class.isFinal)
assertFalse(Object::class.isOpen)
assertFalse(Object::class.isAbstract)
return "OK"
}