class Savi::Compiler::Manifests

Overview

The purpose of the Manifests pass is to analyze any package manifests found in the source directory, select a root manifest, and resolve the manifest objects for all of the dependencies referenced in the root manifest.

This pass mutates the Program topology (particularly the manifests). This pass does not mutate the AST. This pass may raise a compilation error. This pass keeps state at the program level. This pass produces output state at the program level.

Defined in:

savi/compiler/manifests.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def manifests_by_name : Hash(String, Savi::Packaging::Manifest) #

[View source]
def root : Packaging::Manifest | Nil #

[View source]
def run(ctx) #

[View source]