A flag replaced by a predicate
This commit is contained in:
+1
-1
@@ -57,7 +57,7 @@ public class LazyJavaClassMemberScope(
|
|||||||
private val jClass: JavaClass
|
private val jClass: JavaClass
|
||||||
) : LazyJavaMemberScope(c, containingDeclaration) {
|
) : LazyJavaMemberScope(c, containingDeclaration) {
|
||||||
|
|
||||||
override fun computeMemberIndex(): MemberIndex = object : ClassMemberIndex(jClass, mustBeStatic = false) {
|
override fun computeMemberIndex(): MemberIndex = object : ClassMemberIndex(jClass, { m -> !m.isStatic() }) {
|
||||||
// For SAM-constructors
|
// For SAM-constructors
|
||||||
override fun getAllMetodNames(): Collection<Name> = super.getAllMetodNames() + getAllClassNames()
|
override fun getAllMetodNames(): Collection<Name> = super.getAllMetodNames() + getAllClassNames()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -87,7 +87,7 @@ public class LazyPackageFragmentScopeForJavaClass(
|
|||||||
packageFragment: LazyJavaPackageFragment
|
packageFragment: LazyJavaPackageFragment
|
||||||
) : LazyJavaPackageFragmentScope(c, packageFragment) {
|
) : LazyJavaPackageFragmentScope(c, packageFragment) {
|
||||||
|
|
||||||
override fun computeMemberIndex(): MemberIndex = computeMemberIndexForSamConstructors(ClassMemberIndex(jClass, mustBeStatic = true))
|
override fun computeMemberIndex(): MemberIndex = computeMemberIndexForSamConstructors(ClassMemberIndex(jClass, { m -> m.isStatic() }))
|
||||||
|
|
||||||
// nested classes are loaded as members of their outer classes, not packages
|
// nested classes are loaded as members of their outer classes, not packages
|
||||||
override fun getAllClassNames(): Collection<Name> = listOf()
|
override fun getAllClassNames(): Collection<Name> = listOf()
|
||||||
|
|||||||
+2
-2
@@ -41,10 +41,10 @@ object EMPTY_MEMBER_INDEX : MemberIndex {
|
|||||||
override fun getAllFieldNames() = listOf<Name>()
|
override fun getAllFieldNames() = listOf<Name>()
|
||||||
}
|
}
|
||||||
|
|
||||||
open class ClassMemberIndex(val jClass: JavaClass, mustBeStatic: Boolean) : MemberIndex {
|
open class ClassMemberIndex(val jClass: JavaClass, filter: (JavaMember) -> Boolean) : MemberIndex {
|
||||||
private val memberFilter = {
|
private val memberFilter = {
|
||||||
(m: JavaMember) ->
|
(m: JavaMember) ->
|
||||||
m.isStatic() == mustBeStatic &&
|
filter(m) &&
|
||||||
m.getVisibility() != Visibilities.PRIVATE
|
m.getVisibility() != Visibilities.PRIVATE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user