Skip to content

Commit 92c0a96

Browse files
committed
replace @vi() with the varinfo input to the model
1 parent f3f3260 commit 92c0a96

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

src/core/compiler.jl

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ end
146146
Generating a model: `model_generator(x_value)::Model`.
147147
"""
148148
macro model(input_expr)
149-
build_model_info(input_expr) |> translate_tilde! |> build_output
149+
build_model_info(input_expr) |> replace_tilde! |> replace_vi! |> build_output
150150
end
151151

152152
"""
@@ -220,11 +220,24 @@ function build_model_info(input_expr)
220220
end
221221

222222
"""
223-
translate_tilde!(model_info)
223+
replace_vi!(model_info)
224224
225-
Translates ~ expressions to observation or assumption expressions, updating `model_info`.
225+
Replaces @vi() expressions to the VarInfo instance.
226226
"""
227-
function translate_tilde!(model_info)
227+
function replace_vi!(model_info)
228+
ex = model_info[:main_body]
229+
vi = model_info[:main_body_names][:vi]
230+
ex = MacroTools.postwalk(x -> @capture(x, @vi()) ? vi : x, ex)
231+
model_info[:main_body] = ex
232+
return model_info
233+
end
234+
235+
"""
236+
replace_tilde!(model_info)
237+
238+
Replaces ~ expressions to observation or assumption expressions, updating `model_info`.
239+
"""
240+
function replace_tilde!(model_info)
228241
ex = model_info[:main_body]
229242
ex = MacroTools.postwalk(x -> @capture(x, L_ ~ R_) ? tilde(L, R, model_info) : x, ex)
230243
model_info[:main_body] = ex

0 commit comments

Comments
 (0)