@@ -128,6 +128,7 @@ function _model_macro(mod, fullname::Union{Expr, Symbol}, expr, isconnector)
128
128
129
129
consolidate = get (dict, :consolidate , default_consolidate)
130
130
description = get (dict, :description , " " )
131
+ model_meta = get (dict, :metadata , Dict {Symbol, Any} ())
131
132
132
133
@inline pop_structure_dict! .(
133
134
Ref (dict), [:defaults , :kwargs , :structural_parameters ])
@@ -146,6 +147,14 @@ function _model_macro(mod, fullname::Union{Expr, Symbol}, expr, isconnector)
146
147
isconnector && push! (exprs. args,
147
148
:($ Setfield. @set! (var"#___sys___" . connector_type= $ connector_type (var"#___sys___" ))))
148
149
150
+ meta_exprs = quote
151
+ for (k, v) in $ model_meta
152
+ var"#___sys___" = setmetadata (var"#___sys___" , $ get_var ($ mod, k), v)
153
+ end
154
+ end
155
+ push! (exprs. args, meta_exprs)
156
+ push! (exprs. args, :(var"#___sys___" ))
157
+
149
158
f = if length (where_types) == 0
150
159
:($ (Symbol (:__ , name, :__ ))(; name, $ (kwargs... )) = $ exprs)
151
160
else
0 commit comments