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

Types

Link copied to clipboard
data class ArgumentExpression(name: String, type: Type, isVarArg: Boolean, isSpread: Boolean, 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