This change completes the implementation of dependency and type binding. The top-level change here is that, during the first semantic analysis AST walk, we gather up all unknown dependencies. Then the compiler resolves them, caching the lookups to ensure that we don't load the same stack twice. Finally, during the second and final semantic analysis AST walk, we populate the bound nodes by looking up what the compiler resolved for us.
38 lines
956 B
Go
38 lines
956 B
Go
// Copyright 2016 Marapongo, Inc. All rights reserved.
|
|
|
|
package errors
|
|
|
|
import (
|
|
"github.com/marapongo/mu/pkg/diag"
|
|
)
|
|
|
|
var ErrorMissingStackName = &diag.Diag{
|
|
ID: 500,
|
|
Message: "This Stack is missing a `name` property (or it is empty)",
|
|
}
|
|
|
|
var ErrorIllegalStackVersion = &diag.Diag{
|
|
ID: 501,
|
|
Message: "This Stack's version '%v' is invalid: %v",
|
|
}
|
|
|
|
var ErrorSymbolAlreadyExists = &diag.Diag{
|
|
ID: 502,
|
|
Message: "A symbol already exists with the name '%v'",
|
|
}
|
|
|
|
var ErrorStackTypeNotFound = &diag.Diag{
|
|
ID: 503,
|
|
Message: "Stack type '%v' was not found; has it been installed?",
|
|
}
|
|
|
|
var ErrorNonAbstractStacksMustDefineServices = &diag.Diag{
|
|
ID: 504,
|
|
Message: "Non-abstract stacks must declare at least one private or public service",
|
|
}
|
|
|
|
var ErrorMalformedStackReference = &diag.Diag{
|
|
ID: 505,
|
|
Message: "The stack reference '%v' is malformed; " +
|
|
"expected format is '[[proto://]base.url/]stack/../name[@version]': %v",
|
|
}
|