Forbid private functions with no body and private properties in traits which are abstract by default

This commit is contained in:
Mikhail Glukhikh
2015-09-29 15:14:57 +03:00
parent 930402d910
commit 7a99b3872b
11 changed files with 59 additions and 14 deletions
@@ -0,0 +1,12 @@
interface My {
<!PRIVATE_PROPERTY_IN_TRAIT!>private<!> val x: Int
<!INCOMPATIBLE_MODIFIERS!>private<!> <!ABSTRACT_MODIFIER_IN_TRAIT, INCOMPATIBLE_MODIFIERS!>abstract<!> val xx: Int
private val xxx: Int
get() = 0
<!FINAL_PROPERTY_IN_TRAIT, DEPRECATED_MODIFIER_CONTAINING_DECLARATION!>final<!> val y: Int
<!DEPRECATED_MODIFIER_CONTAINING_DECLARATION!>final<!> val yy: Int
get() = 1
<!PRIVATE_FUNCTION_WITH_NO_BODY!>private<!> fun foo(): Int
// ok
private fun bar() = 42
}