From 999c987d6c193c2a22f463b53be8ab950991803b Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Wed, 26 Feb 2014 16:07:32 +0400 Subject: [PATCH] ANNOTATION_CLASS_WITH_BODY reported in DeclarationsChecker --- .../jetbrains/jet/lang/resolve/DeclarationResolver.java | 5 ----- .../jetbrains/jet/lang/resolve/DeclarationsChecker.java | 8 ++++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java index ce37ae5d632..dd21f2295c1 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java @@ -137,11 +137,6 @@ public class DeclarationResolver { JetClassOrObject classOrObject = entry.getKey(); MutableClassDescriptor classDescriptor = (MutableClassDescriptor) entry.getValue(); - JetClassBody jetClassBody = classOrObject.getBody(); - if (classDescriptor.getKind() == ClassKind.ANNOTATION_CLASS && jetClassBody != null) { - trace.report(ANNOTATION_CLASS_WITH_BODY.on(jetClassBody)); - } - resolveFunctionAndPropertyHeaders( c, classOrObject.getDeclarations(), classDescriptor.getScopeForMemberDeclarationResolution(), diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java index 93a2a6028d4..32024e5c1f4 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationsChecker.java @@ -210,6 +210,9 @@ public class DeclarationsChecker { checkTraitModifiers(aClass); checkConstructorInTrait(aClass); } + else if (aClass.isAnnotation()) { + checkAnnotationClassWithBody(aClass); + } else if (aClass.isEnum()) { checkEnumModifiers(aClass); } @@ -240,6 +243,11 @@ public class DeclarationsChecker { } } + private void checkAnnotationClassWithBody(JetClassOrObject classOrObject) { + if (classOrObject.getBody() != null) { + trace.report(ANNOTATION_CLASS_WITH_BODY.on(classOrObject.getBody())); + } + } private void checkOpenMembers(ClassDescriptorWithResolutionScopes classDescriptor) { for (CallableMemberDescriptor memberDescriptor : classDescriptor.getDeclaredCallableMembers()) {