Incorrect 'inner' usage is diagnosed by parent, not by target

This commit is contained in:
Mikhail Glukhikh
2015-09-29 15:22:14 +03:00
parent 2109a6b760
commit 930402d910
3 changed files with 7 additions and 6 deletions
@@ -53,7 +53,8 @@ public object ModifierCheckerCore {
OPEN_KEYWORD to EnumSet.of(CLASS_ONLY, LOCAL_CLASS, INNER_CLASS, INTERFACE, MEMBER_PROPERTY, MEMBER_FUNCTION),
FINAL_KEYWORD to EnumSet.of(CLASS_ONLY, LOCAL_CLASS, INNER_CLASS, ENUM_CLASS, OBJECT, MEMBER_PROPERTY, MEMBER_FUNCTION),
SEALED_KEYWORD to EnumSet.of(CLASS_ONLY, LOCAL_CLASS, INNER_CLASS),
INNER_KEYWORD to EnumSet.of(INNER_CLASS),
// We should have also CLASS_ONLY here because INNER_CLASS is not always perfectly identified
INNER_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS),
OVERRIDE_KEYWORD to EnumSet.of(MEMBER_PROPERTY, MEMBER_FUNCTION),
PRIVATE_KEYWORD to EnumSet.of(CLASS, MEMBER_FUNCTION, TOP_LEVEL_FUNCTION, PROPERTY_GETTER, PROPERTY_SETTER,
MEMBER_PROPERTY, TOP_LEVEL_PROPERTY, CONSTRUCTOR),
@@ -1 +1 @@
<!WRONG_MODIFIER_TARGET, DEPRECATED_MODIFIER_PAIR!>inner<!> <!DEPRECATED_MODIFIER_PAIR!>data<!> class Outer(val x: Int)
<!WRONG_MODIFIER_CONTAINING_DECLARATION, DEPRECATED_MODIFIER_PAIR!>inner<!> <!DEPRECATED_MODIFIER_PAIR!>data<!> class Outer(val x: Int)
@@ -1,7 +1,7 @@
<!WRONG_MODIFIER_TARGET!>inner<!> fun foo() {}
<!WRONG_MODIFIER_TARGET!>inner<!> val prop = 42
<!WRONG_MODIFIER_TARGET!>inner<!> class A
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> class A
<!WRONG_MODIFIER_TARGET!>inner<!> interface B
<!WRONG_MODIFIER_TARGET!>inner<!> object C
@@ -23,16 +23,16 @@ enum class H {
}
interface K {
<!WRONG_MODIFIER_TARGET!>inner<!> class L
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> class L
}
object N {
<!WRONG_MODIFIER_TARGET!>inner<!> class O
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> class O
}
class P {
companion object {
<!WRONG_MODIFIER_TARGET!>inner<!> class Q
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> class Q
}
}