Skip to content

comp_id.module doesn't work for nested modules #533

@corakingdon

Description

@corakingdon

Example:

using Mimi

module foo
    using Mimi
    module bar
        using Mimi
        @defcomp c begin
        end
    end
    function get_model()
        m = Model()
        set_dimension!(m, :time, 1:10)
        add_comp!(m, bar.c)
        return m
    end
end

m = foo.get_model()
run(m)

Gives the error:

ERROR: LoadError: UndefVarError: bar not defined
Stacktrace:
 [1] get_module at C:\Users\Cora\.julia\packages\Mimi\R2d8T\src\core\defs.jl:2 [inlined]
 [2] Mimi.ComponentInstance{Mimi.ComponentInstanceVariables{NamedTuple{(),Tuple{}}},Mimi.ComponentInstanceParameters{NamedTuple{(),Tuple{}}}}(::Mimi.ComponentDef, ::Mimi.ComponentInstanceVariables{NamedTuple{(),Tuple{}}}, ::Mimi.ComponentInstanceParameters{NamedTuple{(),Tuple{}}}, ::Int64, ::Int64, ::Symbol) at C:\Users\Cora\.julia\packages\Mimi\R2d8T\src\core\types.jl:360
 [3] build(::Mimi.ModelDef) at C:\Users\Cora\.julia\packages\Mimi\R2d8T\src\core\build.jl:161
 [4] build at C:\Users\Cora\.julia\packages\Mimi\R2d8T\src\core\build.jl:90 [inlined]
 [5] #run#114(::Int64, ::Nothing, ::Function, ::Model) at C:\Users\Cora\.julia\packages\Mimi\R2d8T\src\core\model.jl:395
 [6] run(::Model) at C:\Users\Cora\.julia\packages\Mimi\R2d8T\src\core\model.jl:390
 [7] top-level scope at none:0
 [8] include_string(::Module, ::String, ::String) at .\loading.jl:1008
 [9] (::getfield(Main._vscodeserver, Symbol("##8#10")){String,Int64,Int64,String})() at c:\Users\Cora\.vscode\extensions\julialang.language-julia-0.12.0\scripts\terminalserver\terminalserver.jl:153
 [10] hideprompt(::getfield(Main._vscodeserver, Symbol("##8#10")){String,Int64,Int64,String}) at c:\Users\Cora\.vscode\extensions\julialang.language-julia-0.12.0\scripts\terminalserver\repl.jl:28
 [11] macro expansion at c:\Users\Cora\.vscode\extensions\julialang.language-julia-0.12.0\scripts\terminalserver\terminalserver.jl:148 [inlined]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions