Package arrow. meta. plugins. analysis. phases. analysis. solver
Types
Argument Expression
Link copied to clipboard
data class ArgumentExpression(name: String, type: Type, expression: Expression?)
Content copied to clipboard
Information about an argument in a resolved call
Special Kind
Link copied to clipboard
Functions
gather
Link copied to clipboard
fun DeclarationDescriptor.gather(predicate: (DeclarationDescriptor) -> Boolean): List<DeclarationDescriptor>
Content copied to clipboard
fun ModuleDescriptor.gather(initialPackages: List<FqName> = listOf(FqName("")), addSubPackages: Boolean, predicate: (DeclarationDescriptor) -> Boolean): List<DeclarationDescriptor>
Content copied to clipboard
Gather all descriptors which satisfy a predicate, going inside every element recursively.
is ALaw
Link copied to clipboard
returns true if we have declared something with a @Law or lives inside an object that inherits Laws
is Compatible With
Link copied to clipboard
fun DeclarationDescriptor.isCompatibleWith(other: DeclarationDescriptor): Boolean
Content copied to clipboard
check if a descriptor is compatible with other, in the sense that they refer to a function with the same signature
is Field
Link copied to clipboard
should we treat a node as a field and create 'field(name, x)'?
is Loosely Compatible With
Link copied to clipboard
fun DeclarationDescriptor.isLooselyCompatibleWith(other: DeclarationDescriptor): Boolean
Content copied to clipboard
check if a descriptor is compatible with other, in the sense that the arguments are (possibly) supertypes
overridden Descriptors
Link copied to clipboard
fun DeclarationDescriptor.overriddenDescriptors(): Collection<DeclarationDescriptor>?
Content copied to clipboard
Obtain the descriptors which have been overridden by a declaration, if they exist
primitive Formula
Link copied to clipboard
fun Solver.primitiveFormula(context: ResolutionContext, resolvedCall: ResolvedCall, args: List<Formula>): Formula?
Content copied to clipboard