Object literals are now classes and expressions simultaneously for the purposes of annotation target checking

This commit is contained in:
Mikhail Glukhikh
2015-09-23 13:55:16 +03:00
parent dd4601fd08
commit c4fb6d48c5
5 changed files with 39 additions and 4 deletions
@@ -173,6 +173,7 @@ public class AnnotationChecker(private val additionalCheckers: Iterable<Addition
is JetClassInitializer -> TargetLists.T_INITIALIZER
is JetMultiDeclaration -> TargetLists.T_MULTI_DECLARATION
is JetFunctionLiteralExpression -> TargetLists.T_FUNCTION_LITERAL
is JetObjectLiteralExpression -> TargetLists.T_OBJECT_LITERAL
is JetExpression -> TargetLists.T_EXPRESSION
else -> TargetLists.EMPTY
}
@@ -229,6 +230,8 @@ public class AnnotationChecker(private val additionalCheckers: Iterable<Addition
val T_FUNCTION_LITERAL = targetList(FUNCTION_LITERAL, FUNCTION, EXPRESSION)
val T_OBJECT_LITERAL = targetList(OBJECT_LITERAL, CLASS, EXPRESSION)
val T_TYPE_REFERENCE = targetList(TYPE) {
onlyWithUseSiteTarget(VALUE_PARAMETER)
}