Drop some of explicit ClassKind.CLASS_OBJECT and OBJECT usages

This commit is contained in:
Pavel V. Talanov
2015-03-04 14:51:37 +03:00
parent fa590a5b83
commit 350864b22f
16 changed files with 43 additions and 38 deletions
@@ -101,10 +101,13 @@ public class PlatformStaticAnnotationChecker : AnnotationChecker {
descriptor: DeclarationDescriptor,
diagnosticHolder: DiagnosticSink
) {
val insideObject = containerKindIs(descriptor, ClassKind.OBJECT)
val insideDefaultObject = containerKindIs(descriptor, ClassKind.CLASS_OBJECT)
val container = descriptor.getContainingDeclaration()
val insideObject = container != null && DescriptorUtils.isNonDefaultObject(container)
val insideDefaultObjectInClass =
container != null && DescriptorUtils.isDefaultObject(container) && DescriptorUtils.isClass(container.getContainingDeclaration())
container != null && DescriptorUtils.isDefaultObject(container) && DescriptorUtils.isClass(container.getContainingDeclaration())
if (!insideObject && !(insideDefaultObject && containerKindIs(descriptor.getContainingDeclaration()!!, ClassKind.CLASS))) {
if (!insideObject && !insideDefaultObjectInClass) {
diagnosticHolder.report(ErrorsJvm.PLATFORM_STATIC_NOT_IN_OBJECT.on(declaration));
}
@@ -112,11 +115,6 @@ public class PlatformStaticAnnotationChecker : AnnotationChecker {
diagnosticHolder.report(ErrorsJvm.OVERRIDE_CANNOT_BE_STATIC.on(declaration));
}
}
private fun containerKindIs(descriptor: DeclarationDescriptor, kind: ClassKind): Boolean {
val parentDeclaration = descriptor.getContainingDeclaration()
return parentDeclaration != null && DescriptorUtils.isKindOf(parentDeclaration, kind)
}
}
public class ReifiedTypeParameterAnnotationChecker : AnnotationChecker {