Utilize MemberScope.findFirstFunction with name and predicate

This commit is contained in:
Jinseong Jeon
2022-02-11 23:59:02 -08:00
committed by Ilya Kirillov
parent 26e7fc9da3
commit 476e65f934
4 changed files with 6 additions and 10 deletions
@@ -6,9 +6,7 @@
package org.jetbrains.kotlin.ir.util
import com.intellij.util.containers.SLRUCache
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.ir.*
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
@@ -20,7 +18,6 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.resolve.descriptorUtil.module
import org.jetbrains.kotlin.resolve.scopes.MemberScope
import java.io.File
val IrConstructor.constructedClass get() = this.parent as IrClass
@@ -255,9 +252,6 @@ fun IrClassSymbol.getSimpleFunction(name: String): IrSimpleFunctionSymbol? = own
fun IrClassSymbol.getPropertyGetter(name: String): IrSimpleFunctionSymbol? = owner.getPropertyGetter(name)
fun IrClassSymbol.getPropertySetter(name: String): IrSimpleFunctionSymbol? = owner.getPropertySetter(name)
inline fun MemberScope.findFirstFunction(name: String, predicate: (CallableMemberDescriptor) -> Boolean) =
getContributedFunctions(Name.identifier(name), NoLookupLocation.FROM_BACKEND).first(predicate)
fun filterOutAnnotations(fqName: FqName, annotations: List<IrConstructorCall>): List<IrConstructorCall> {
return annotations.filterNot { it.annotationClass.hasEqualFqName(fqName) }
}