Solver State
data class SolverState(baseDirectory: String, outputFileCreator: (String) -> Writer, names: NameProvider, solver: Solver, prover: ProverEnvironment, callableConstraints: MutableMap<FqName, MutableList<DeclarationConstraints>>, solverTrace: MutableList<String>, fieldProvider: FieldProvider, reportedErrors: MutableSet<ReportedError>)
Content copied to clipboard
Functions
add Constraint
Link copied to clipboard
fun addConstraint(constraint: NamedConstraint, context: ResolutionContext)
Content copied to clipboard
field
Link copied to clipboard
fun field(field: DeclarationDescriptor, formula: ObjectFormula): ObjectFormula
Content copied to clipboard
had Parse Errors
Link copied to clipboard
new Name
Link copied to clipboard
fun newName(context: ResolutionContext, prefix: String, element: Element?): String
Content copied to clipboard
fun newName(context: ResolutionContext, prefix: String, element: Element?, reference: Pair<ValueParameterDescriptor, ResolvedValueArgument>?): String
Content copied to clipboard
notify Module Processed
Link copied to clipboard
notify Sarif Report
Link copied to clipboard
scoped Bracket
Link copied to clipboard
signal Parse Errors
Link copied to clipboard
Properties
callableConstraints
Link copied to clipboard
val callableConstraints: MutableMap<FqName, MutableList<DeclarationConstraints>>
Content copied to clipboard
continuationBracket
Link copied to clipboard
fieldProvider
Link copied to clipboard
names
Link copied to clipboard
solverTrace
Link copied to clipboard
Extensions
check Declaration Constraints
Link copied to clipboard
fun SolverState.checkDeclarationConstraints(context: ResolutionContext, declaration: Declaration, descriptor: DeclarationDescriptor)
Content copied to clipboard
When the solver is in the prover state check this declaration body constraints
collect Constraints From Annotations
Link copied to clipboard
fun SolverState.collectConstraintsFromAnnotations(localDeclarations: List<DeclarationDescriptor>, module: ModuleDescriptor, bindingTrace: ResolutionContext): Pair<AnalysisResult, Set<FqName>>
Content copied to clipboard
Collects constraints by harvesting annotations. There are two sources: local declarations, and the entire CLASSPATH.
find Descriptor From Local Law
Link copied to clipboard
fun SolverState.findDescriptorFromLocalLaw(descriptor: DeclarationDescriptor, bindingContext: ResolutionContext): DeclarationDescriptor?
Content copied to clipboard
Finds the target of a particular law by looking at its last return, if marked with a arrow.analysis.Law annotation.
get Constraints For
Link copied to clipboard
fun SolverState.getConstraintsFor(resolvedCall: ResolvedCall): DeclarationConstraints?
Content copied to clipboard
Looks up in the solver state previously collected constraints and returns the constraints associated to this resolvedCall resulting descriptor if any
fun SolverState.getConstraintsFor(descriptor: DeclarationDescriptor): DeclarationConstraints?
Content copied to clipboard
Looks up in the solver state previously collected constraints and returns the constraints associated to this descriptor, or any of the declaration it has overridden, if any