FunctionsRuleBuilder

class FunctionsRuleBuilder(graph: ProjectGraph = Konture.projectGraph)

A builder for compiling and verifying architectural rules on Kotlin function declarations.

Accumulates filtering conditions (that()) and assertions (should()), which are verified against all functions in the project (both member/class functions and top-level functions).

Constructors

Link copied to clipboard
constructor(graph: ProjectGraph = Konture.projectGraph)

Functions

Link copied to clipboard

Configures this builder to allow empty selections (i.e. if no functions match the that() filter, the rule will pass instead of throwing an AssertionError).

Link copied to clipboard

Logical AND operator for chaining filter conditions.

Link copied to clipboard

Logical AND operator for chaining assertion rules.

Link copied to clipboard
fun check(g: ProjectGraph = graph)

Executes the compiled function rules against the provided project graph. Throws an AssertionError if any rule violations are detected.

Link copied to clipboard

Negates the next filter condition in the chain.

Link copied to clipboard

Negates the next assertion rule in the chain.

Link copied to clipboard

Logical OR operator for chaining filter conditions.

Link copied to clipboard

Logical OR operator for chaining assertion rules.

Link copied to clipboard

Starts adding assertion rules that the selected functions must satisfy.

Link copied to clipboard

Asserts rules on filtered functions using a lambda block that provides a FunctionDeclarationShouldContext receiver. Supports both imperative assertions and Boolean predicate matches.

Link copied to clipboard

Starts adding filtering conditions to select which functions to verify.

Link copied to clipboard

Filters functions in this rule using a concise lambda predicate evaluated on each FunctionDeclarationContext.

Link copied to clipboard

Logical XOR operator for chaining filter conditions.

Link copied to clipboard

Logical XOR operator for chaining assertion rules.