Package arrow.meta.plugins.analysis.phases.analysis.solver

Types

Link copied to clipboard
data class ArgumentExpression(    val name: String,     val type: Type,     val isVarArg: Boolean,     val isSpread: Boolean,     val expression: List<Expression>)

Information about an argument in a resolved call

Link copied to clipboard
enum SpecialKind : Enum<SpecialKind>

Functions

Link copied to clipboard
fun DeclarationDescriptor.gather(predicate: (DeclarationDescriptor) -> Boolean): List<DeclarationDescriptor>
fun ModuleDescriptor.gather(    initialPackages: List<FqName> = listOf(FqName("")),     addSubPackages: Boolean,     predicate: (DeclarationDescriptor) -> Boolean): List<DeclarationDescriptor>

Gather all descriptors which satisfy a predicate, going inside every element recursively.

Link copied to clipboard
fun DeclarationDescriptor.isALaw(): Boolean

returns true if we have declared something with a @Law or lives inside an object that inherits Laws

Link copied to clipboard

check if a descriptor is compatible with other, in the sense that they refer to a function with the same signature

Link copied to clipboard
fun DeclarationDescriptor.isField(): Boolean

should we treat a node as a field and create 'field(name, x)'?

Link copied to clipboard

check if a descriptor is compatible with other, in the sense that the arguments are (possibly) supertypes

Link copied to clipboard

Obtain the descriptors which have been overridden by a declaration, if they exist

Link copied to clipboard
fun Solver.primitiveFormula(    context: ResolutionContext,     resolvedCall: ResolvedCall,     args: List<Formula>): Formula?
Link copied to clipboard
fun sameVarity(p1: ParameterDescriptor, p2: ParameterDescriptor): Boolean