compiler-plugin / arrow.meta.plugins.proofs.phases

Package arrow.meta.plugins.proofs.phases

Types

CallableMemberProof data class CallableMemberProof : GivenProof
ClassProof data class ClassProof : GivenProof
CoercionProof data class CoercionProof : ExtensionProof
ExtensionProof sealed class ExtensionProof : Proof
GivenProof sealed class GivenProof : Proof
ObjectProof data class ObjectProof : GivenProof
ProjectionProof data class ProjectionProof : ExtensionProof
Proof sealed class Proof
RefinementProof data class RefinementProof : Proof

Extensions for External Classes

org.jetbrains.kotlin.descriptors.annotations.Annotated  
org.jetbrains.kotlin.descriptors.ModuleDescriptor  
org.jetbrains.kotlin.psi.KtAnnotated  

Properties

ArrowCoercionProof val ArrowCoercionProof: FqName
ArrowExtensionProof val ArrowExtensionProof: FqName
ArrowGivenProof val ArrowGivenProof: FqName
ArrowProofSet val ArrowProofSet: Set<FqName>
ArrowRefined val ArrowRefined: FqName
ArrowRefinedBy val ArrowRefinedBy: FqName
ArrowRefinementProof val ArrowRefinementProof: FqName

Functions

allGivenProofs returns a Map, where the keys are KotlinType and the values are all corresponding proofs without refining the list as it is done in givenProofs.fun CompilerContext.allGivenProofs(): Map<KotlinType, List<GivenProof>>
areTypesCoerced fun CompilerContext?.areTypesCoerced(subType: KotlinType, supertype: KotlinType): Boolean
asString fun Proof.asString(): String
callables fun Proof.callables(descriptorNameFilter: (Name) -> Boolean = { true }): List<CallableMemberDescriptor>
coerceProof fun CompilerContext.coerceProof(subType: KotlinType, superType: KotlinType): CoercionProof?
coerceProofs fun CompilerContext.coerceProofs(subType: KotlinType, superType: KotlinType): List<CoercionProof>
extending fun CompilerContext.extending(types: Collection<KotlinType>): List<ExtensionProof>
extensionProof fun CompilerContext.extensionProof(subType: KotlinType, superType: KotlinType): ExtensionProof?
extensionProofCandidate fun CompilerContext.extensionProofCandidate(candidates: List<ExtensionProof>): ExtensionProof?
extensionProofs fun CompilerContext.extensionProofs(subType: KotlinType, superType: KotlinType): List<ExtensionProof>
returns a Map, where the keys are from KotlinType -> to KotlinType and the values are the corresponding Proofsfun CompilerContext.extensionProofs(): Map<Pair<KotlinType, KotlinType>, List<ExtensionProof>>
givenProof fun CompilerContext.givenProof(superType: KotlinType): GivenProof?
givenProofCandidate fun CompilerContext.givenProofCandidate(candidates: List<GivenProof>): GivenProof?
givenProofs fun CompilerContext.givenProofs(superType: KotlinType): List<GivenProof>
contrary to allGivenProofs it refines the List as it is done in givenProofsfun CompilerContext.givenProofs(): Map<KotlinType, List<GivenProof>>
proof fun <P : Proof> CompilerContext.proof(): List<P>
refinementProofs returns a Map, where the keys represent refinements from KotlinType -> to KotlinType and the values are the corresponding Proofsfun CompilerContext.refinementProofs(): Map<Pair<KotlinType, KotlinType>, List<RefinementProof>>

Do you like Arrow?

Arrow Org
<