diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/AnnotationCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/AnnotationCodegen.java index 36f78f6efb9..e8a775f7884 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/AnnotationCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/AnnotationCodegen.java @@ -183,7 +183,7 @@ public abstract class AnnotationCodegen { ClassifierDescriptor classifierDescriptor = annotationDescriptor.getType().getConstructor().getDeclarationDescriptor(); assert classifierDescriptor != null : "Annotation descriptor has no class: " + annotationDescriptor; RetentionPolicy rp = getRetentionPolicy(classifierDescriptor); - if (rp == RetentionPolicy.SOURCE) { + if (rp == RetentionPolicy.SOURCE && typeMapper.getClassBuilderMode() != ClassBuilderMode.LIGHT_CLASSES) { return null; } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java index e865c4163a9..c475d39bdb7 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java @@ -792,6 +792,10 @@ public class JetTypeMapper { return result; } + public ClassBuilderMode getClassBuilderMode() { + return classBuilderMode; + } + private static boolean isConstructor(@NotNull Method method) { return "".equals(method.getName()); }