Package arrow.meta.phases.analysis


Name Summary
AnalysisHandler [jvm]
interface AnalysisHandler : ExtensionPhase
CollectAdditionalSources [jvm]
interface CollectAdditionalSources : ExtensionPhase
Eq [jvm]
interface Eq<A>
ExtraImports [jvm]
interface ExtraImports : ExtensionPhase
MetaFileViewProvider [jvm]
class MetaFileViewProvider(psiManager: PsiManager, virtualFile: VirtualFile, transformation: (Document?) -> Document?) : SingleRootFileViewProvider
Provides interception access to the internals of a VirtualFile allowing to replace its Document
PreprocessedVirtualFileFactory [jvm]
interface PreprocessedVirtualFileFactory : ExtensionPhase


Name Summary
body [jvm]
fun KtDeclarationWithBody.body(): KtExpression?
bodySourceAsExpression [jvm]
fun KtExpression.bodySourceAsExpression(): String?
dfs [jvm]
fun KtElement.dfs(f: (KtElement) -> Boolean): List<KtElement>
exists [jvm]
fun <A> List<A>.exists(f: (A, A) -> Boolean): List<Pair<A, List<A>>>
collects all distinct witnesses of f from the receiver, where the return type contains pairs of A and a list of other corresponding elements that full fill f
getOrCreateBaseDirectory [jvm]
fun getOrCreateBaseDirectory(configuration: CompilerConfiguration?): File
intersect [jvm]
fun <C : CallableDescriptor> C.intersect(eq: Eq<KotlinType>, types: KotlinBuiltIns.() -> List<KotlinType>): List<KotlinType>
Given eq this function returns KotlinTypes that intersect with the returnType from the list in types. One concrete example for equality on TypeConstructor may look like this:
fun <D : DeclarationDescriptor> D.intersect(eq: Eq<KotlinType>, list: List<KotlinType>, other: KotlinBuiltIns.() -> List<KotlinType>): List<KotlinType>
given eq this function returns a List of KotlinType that are contained by both list and other
isAnnotatedWith [jvm]
fun KtAnnotated.isAnnotatedWith(regex: Regex): Boolean
resolveFunctionTypeEq [jvm]
fun resolveFunctionTypeEq(): Eq<KotlinType>
defines Equality on types, where FunctionTypes are reduced to their return type
sequence [jvm]
fun <A : PsiElement> PsiElement.sequence(on: Class<A>): List<A>
a convenient function that collects all child nodes A starting from this it applies traverseFilter with the identity function
skipGeneration [jvm]
fun DeclarationDescriptor.skipGeneration(): Boolean
transform [jvm]
fun KtElement.transform(f: (KtElement) -> KtElement?): KtElement
traverseFilter [jvm]
fun <A : PsiElement, B : Any> PsiElement.traverseFilter(on: Class<A>, f: (A) -> B?): List<B>
traverse and filters starting from the root node this down to all it’s children and applying f
typeConstructorEq [jvm]
fun typeConstructorEq(): Eq<KotlinType>
defines Equality on the type constructor


Name Summary
companionObject [jvm]
val KtClass.companionObject: KtObjectDeclaration?
resolveFunctionType [jvm]
val resolveFunctionType: (KotlinType) -> KotlinType
resolves FunctionType to it’s returnType
returnTypeEq [jvm]
val returnTypeEq: Eq<KotlinType>
naive type equality where function types are reduced to their return type

Do you like Arrow?

Arrow Org