From 8450028603016572bdb98e7a3e80d0c515b32e44 Mon Sep 17 00:00:00 2001 From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk> Date: Thu, 15 Feb 2024 16:47:18 +0000 Subject: [PATCH] Fix calling of variable on encapsulated pulse/readout --- src/variables.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/variables.jl b/src/variables.jl index 7e93b54..5d38b80 100644 --- a/src/variables.jl +++ b/src/variables.jl @@ -216,6 +216,8 @@ for (target_name, all_vars) in all_variables_symbols if variable_func in [:qval_square, :qval] continue end + get_func = Symbol("get_" * string(target_name)) + use_get_func = target_name in (:pulse, :readout, :gradient) @eval function Variables.$variable_func(bb::AbstractBlock) try if Variables.$variable_func in keys(alternative_variables) @@ -237,8 +239,8 @@ for (target_name, all_vars) in all_variables_symbols end throw(VariableNotAvailable(typeof(bb), Variables.$variable_func)) catch e - if e isa VariableNotAvailable && hasmethod(get_$(target_name), Tuple(typeof(bb))) && $(target_name) in (:pulse, :readout) - return Variables.$variable_func(get_$(target_name)(bb)) + if $use_get_func && e isa VariableNotAvailable && hasmethod($get_func, Tuple(typeof(bb))) + return Variables.$variable_func($get_func(bb)) end rethrow() end -- GitLab