Implemented HiddenDeclaration annotation (doc-comment to be added!)

This commit is contained in:
Valentin Kipyatkov
2015-08-28 20:18:32 +03:00
parent ba4fb3e37c
commit e8dc9ede31
12 changed files with 205 additions and 6 deletions
@@ -39,6 +39,7 @@ import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.bindingContextUtil.getDataFlowInfo
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo
import org.jetbrains.kotlin.resolve.calls.smartcasts.SmartCastManager
import org.jetbrains.kotlin.resolve.descriptorUtil.isAnnotatedAsHidden
import org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
@@ -57,11 +58,12 @@ public class KotlinIndicesHelper(
private val moduleDescriptor = resolutionFacade.moduleDescriptor
private val project = resolutionFacade.project
private val descriptorFilter =
if (applyExcludeSettings)
{ d -> visibilityFilter(d) && !isExcludedFromAutoImport(d) }
else
visibilityFilter
private val descriptorFilter: (DeclarationDescriptor) -> Boolean = filter@ {
if (it.isAnnotatedAsHidden()) return@filter false
if (!visibilityFilter(it)) return@filter false
if (applyExcludeSettings && isExcludedFromAutoImport(it)) return@filter false
true
}
public fun getTopLevelCallablesByName(name: String): Collection<CallableDescriptor> {
val declarations = HashSet<JetNamedDeclaration>()