nodeCloseModule needs GraphNodeReferenceOutside
The ModulePath method was incorrect, and standing in for GraphNodeReferenceOutside. Add ReferenceOutside so we can fix ModulePath.
This commit is contained in:
parent
009a136fa2
commit
5c401bead9
|
@ -135,12 +135,17 @@ type nodeCloseModule struct {
|
||||||
var (
|
var (
|
||||||
_ graphNodeModuleCloser = (*nodeCloseModule)(nil)
|
_ graphNodeModuleCloser = (*nodeCloseModule)(nil)
|
||||||
_ GraphNodeReferenceable = (*nodeCloseModule)(nil)
|
_ GraphNodeReferenceable = (*nodeCloseModule)(nil)
|
||||||
|
_ GraphNodeReferenceOutside = (*nodeCloseModule)(nil)
|
||||||
)
|
)
|
||||||
|
|
||||||
func (n *nodeCloseModule) ModulePath() addrs.Module {
|
func (n *nodeCloseModule) ModulePath() addrs.Module {
|
||||||
return n.Addr
|
return n.Addr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (n *nodeCloseModule) ReferenceOutside() (selfPath, referencePath addrs.Module) {
|
||||||
|
return n.Addr.Parent(), n.Addr
|
||||||
|
}
|
||||||
|
|
||||||
func (n *nodeCloseModule) ReferenceableAddrs() []addrs.Referenceable {
|
func (n *nodeCloseModule) ReferenceableAddrs() []addrs.Referenceable {
|
||||||
_, call := n.Addr.Call()
|
_, call := n.Addr.Call()
|
||||||
return []addrs.Referenceable{
|
return []addrs.Referenceable{
|
||||||
|
@ -195,7 +200,14 @@ func (n *evalCloseModule) Eval(ctx EvalContext) (interface{}, error) {
|
||||||
var currentModuleInstances []addrs.ModuleInstance
|
var currentModuleInstances []addrs.ModuleInstance
|
||||||
// we can't expand if we're just removing
|
// we can't expand if we're just removing
|
||||||
if !n.orphaned {
|
if !n.orphaned {
|
||||||
|
func() {
|
||||||
|
// FIXME: we need to "turn off" closers if their expander has been removed
|
||||||
|
defer func() {
|
||||||
|
recover()
|
||||||
|
n.orphaned = true
|
||||||
|
}()
|
||||||
currentModuleInstances = expander.ExpandModule(n.Addr)
|
currentModuleInstances = expander.ExpandModule(n.Addr)
|
||||||
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
for modKey, mod := range state.Modules {
|
for modKey, mod := range state.Modules {
|
||||||
|
|
Loading…
Reference in New Issue