Resolution API: introduce and use KtElement.resolveToCall()
This commit is contained in:
@@ -28,6 +28,8 @@ import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.BindingTraceContext
|
||||
import org.jetbrains.kotlin.resolve.ImportPath
|
||||
import org.jetbrains.kotlin.resolve.QualifiedExpressionResolver
|
||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
||||
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
import org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException
|
||||
|
||||
@@ -78,6 +80,9 @@ fun KtParameter.resolveToParameterDescriptorIfAny(bodyResolveMode: BodyResolveMo
|
||||
return context.get(BindingContext.VALUE_PARAMETER, this) as? ValueParameterDescriptor
|
||||
}
|
||||
|
||||
fun KtElement.resolveToCall(bodyResolveMode: BodyResolveMode = BodyResolveMode.PARTIAL): ResolvedCall<out CallableDescriptor>? =
|
||||
getResolvedCall(analyze(bodyResolveMode))
|
||||
|
||||
fun KtFile.resolveImportReference(fqName: FqName): Collection<DeclarationDescriptor> {
|
||||
val facade = getResolutionFacade()
|
||||
return facade.resolveImportReference(facade.moduleDescriptor, fqName)
|
||||
|
||||
Reference in New Issue
Block a user