Minor in JS frontend: join isTopLevel and hasLocalVisibility into isMember and simplify condition.

This commit is contained in:
Zalim Bashorov
2014-12-01 15:57:06 +03:00
parent 4ed635b4a7
commit 990415b69f
@@ -48,13 +48,11 @@ private abstract class AbstractNativeAnnotationsChecker(private val requiredAnno
return return
} }
val isTopLevel = DescriptorUtils.isTopLevelDeclaration(descriptor) val isMember = !DescriptorUtils.isTopLevelDeclaration(descriptor) && descriptor.getVisibility() != Visibilities.LOCAL
val hasLocalVisibility = descriptor.getVisibility() == Visibilities.LOCAL
val isExtension = DescriptorUtils.isExtension(descriptor) val isExtension = DescriptorUtils.isExtension(descriptor)
if (!isTopLevel && !hasLocalVisibility && isExtension || if (isMember && (isExtension || !AnnotationsUtils.isNativeObject(descriptor)) ||
(isTopLevel || hasLocalVisibility) && !isExtension || !isMember && !isExtension
!((isTopLevel || hasLocalVisibility) && isExtension) && !AnnotationsUtils.isNativeObject(descriptor)
) { ) {
diagnosticHolder.report(ErrorsJs.NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN.on(declaration, annotationDescriptor.getType())) diagnosticHolder.report(ErrorsJs.NATIVE_ANNOTATIONS_ALLOWED_ONLY_ON_MEMBER_OR_EXTENSION_FUN.on(declaration, annotationDescriptor.getType()))
} }