Package avail.builder

Types

Link copied to clipboard
class AvailBuilder(val runtime: AvailRuntime)

An AvailBuildercompiles and installs into an Avail runtime a target module and each of its dependencies.

Link copied to clipboard
class BuildDirectoryTracer(var availBuilder: AvailBuilder, originalAfterTraceCompletes: () -> Unit)

Used for scanning all modules in all visible Avail directories and their subdirectories.

Link copied to clipboard
open class ModuleName constructor(val qualifiedName: String, val isRename: Boolean = false)

A ModuleName represents the canonical name of an Avail module. A canonical name is specified relative to an Avail module root and has the form R/X/Y/Z, where R is a module root on the Avail module path, X is a package within R, Y is a package within X, and Z is a module or package within Y.

Link copied to clipboard
class ModuleNameResolver(val moduleRoots: ModuleRoots)

A ModuleNameResolver resolves fully-qualified references to Avail modules to absolutefile references.

Link copied to clipboard
class ModuleRoot constructor(val name: String, val resolver: ModuleRootResolver)

A ModuleRoot represents a vendor of Avail modules and/or the vended modules themselves.

Link copied to clipboard
enum ModuleRootErrorCode : Enum<ModuleRootErrorCode> , ErrorCode

ModuleRootErrorCode is an enum of ErrorCodes specific to errors involving ModuleRoots.

Link copied to clipboard
object ModuleRootErrorCodeRange : ErrorCodeRange

A ModuleRootErrorCodeRange is an ErrorCodeRange that holds defined error codes that involve failures while dealing with ModuleRoots.

Link copied to clipboard
class ModuleRoots(    val fileManager: FileManager,     modulePath: String,     withFailures: (List<String>) -> Unit) : Iterable<ModuleRoot>

ModuleRoots encapsulates the Avail module path. The Avail module path specifies bindings between logical root names and locations of Avail modules. A logical root name should typically belong to a vendor of Avail modules, ergo a domain name or registered trademark suffices nicely.

Link copied to clipboard
class RenamesFileParser constructor(reader: Reader, roots: ModuleRoots)

A RenamesFileParser parses a file of Avail module renaming rules and answers a map.

Link copied to clipboard
class RenamesFileParserException : Exception

RenamesFileParserException is thrown by a RenamesFileParser when a parse fails for any reason.

Link copied to clipboard
class ResolvedModuleName : ModuleName

A ResolvedModuleName represents the canonical name of an Avail module that has been resolved to an absolutefile reference.

Link copied to clipboard
class UnreachableRootException : UnresolvedDependencyException

UnreachableRootException is a type of UnresolvedDependencyException that is specifically for the case that the ModuleRootResolver is unable to reach the source of the ModuleRoot at the ModuleRootResolver.uri.

Link copied to clipboard
abstract class UnresolvedDependencyException : Exception

A UnresolvedDependencyException is thrown by the builder when an unresolved reference to a module is discovered.

Link copied to clipboard
class UnresolvedModuleException : UnresolvedDependencyException

UnresolvedModuleException is a type of UnresolvedDependencyException that is specifically for the case that the compiler could not find a module it needed in order to resolve its dependency graph. It contains the list of locations checked by the compiler for that module, which is all of the acceptable locations for the missing module according to its dependent's location.

Link copied to clipboard
class UnresolvedRootException : UnresolvedDependencyException

UnresolvedRootException is a type of UnresolvedDependencyException that is specifically for the case that the compiler could not find one of the roots it expected to be present. This may be caused by: