Package evaluation to test IMASdd on Julia 1.14.0-DEV.2309 (6e1a27e459*) started at 2026-06-07T02:24:04.882 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 17.55s ################################################################################ # Installation # Installing IMASdd... Resolving package versions... Installed DiffResults ───────────────── v1.1.0 Installed FindFirstFunctions ────────── v1.8.0 Installed libaec_jll ────────────────── v1.1.7+0 Installed AbstractTrees ─────────────── v0.4.5 Installed aws_c_cal_jll ─────────────── v0.9.13+0 Installed s2n_tls_jll ───────────────── v1.7.3+0 Installed aws_c_common_jll ──────────── v0.12.6+0 Installed MacroTools ────────────────── v0.5.16 Installed Memoization ───────────────── v0.2.2 Installed ForwardDiff ───────────────── v1.3.3 Installed CoordinateConventions ─────── v1.0.5 Installed MPICH_jll ─────────────────── v5.0.1+0 Installed ExprTools ─────────────────── v0.1.10 Installed RecipesBase ───────────────── v1.3.4 Installed MicrosoftMPI_jll ──────────── v10.1.4+3 (no artifacts on this platform) Installed IteratorInterfaceExtensions ─ v1.0.0 Installed OrderedCollections ────────── v1.8.2 Installed DataAPI ───────────────────── v1.16.0 Installed DataValueInterfaces ───────── v1.0.0 Installed Compat ────────────────────── v4.18.1 Installed TimerOutputs ──────────────── v0.5.29 Installed MPIABI_jll ────────────────── v0.1.5+0 Installed CommonSubexpressions ──────── v0.3.1 Installed Xorg_libpciaccess_jll ─────── v0.19.0+0 Installed dlfcn_win32_jll ───────────── v1.4.2+0 (no artifacts on this platform) Installed AdaptiveArrayPools ────────── v0.1.2 Installed PrecompileTools ───────────── v1.3.4 Installed mpif_jll ──────────────────── v0.1.7+0 Installed aws_c_s3_jll ──────────────── v0.11.5+0 Installed OpenSpecFun_jll ───────────── v0.5.6+0 Installed StaticArraysCore ──────────── v1.4.4 Installed IrrationalConstants ───────── v0.2.6 Installed NaNMath ───────────────────── v1.1.3 Installed StringManipulation ────────── v0.4.4 Installed Requires ──────────────────── v1.3.1 Installed HDF5_jll ──────────────────── v2.1.2+0 Installed DiffRules ─────────────────── v1.16.0 Installed LogExpFunctions ───────────── v0.3.29 Installed JSON ──────────────────────── v0.21.4 Installed aws_c_io_jll ──────────────── v0.26.3+0 Installed OpenMPI_jll ───────────────── v5.0.11+0 Installed Parsers ───────────────────── v2.8.5 Installed PrettyTables ──────────────── v3.3.2 Installed Hwloc_jll ─────────────────── v2.13.0+1 Installed aws_c_sdkutils_jll ────────── v0.2.4+1 Installed Tables ────────────────────── v1.12.1 Installed ThreadSafeDicts ───────────── v0.1.6 Installed aws_checksums_jll ─────────── v0.2.10+0 Installed DataInterpolations ────────── v8.10.0 Installed XML2_jll ──────────────────── v2.13.9+0 Installed IMASdd ────────────────────── v8.4.0 Installed Reexport ──────────────────── v1.2.2 Installed SpecialFunctions ──────────── v2.8.0 Installed EnumX ─────────────────────── v1.0.7 Installed Libiconv_jll ──────────────── v1.18.0+0 Installed TableTraits ───────────────── v1.0.1 Installed LaTeXStrings ──────────────── v1.4.0 Installed aws_c_compression_jll ─────── v0.3.2+0 Installed Crayons ───────────────────── v4.1.1 Installed MPIPreferences ────────────── v0.1.12 Installed aws_c_http_jll ────────────── v0.10.13+0 Installed Preferences ───────────────── v1.5.2 Installed JLLWrappers ───────────────── v1.8.0 Installed MPItrampoline_jll ─────────── v5.5.6+0 Installed DocStringExtensions ───────── v0.9.5 Installed HDF5 ──────────────────────── v0.17.3 Installed aws_c_auth_jll ────────────── v0.9.6+0 Installing 18 artifacts Installed artifact libaec 50.4 KiB Installed artifact aws_c_cal 1.2 MiB Installed artifact aws_c_io 181.7 KiB Installed artifact aws_c_auth 130.3 KiB Installed artifact aws_c_sdkutils 54.9 KiB Installed artifact aws_c_compression 13.4 KiB Installed artifact aws_c_common 285.2 KiB Installed artifact Hwloc 3.5 MiB Installed artifact aws_c_s3 143.0 KiB Installed artifact aws_checksums 87.0 KiB Installed artifact OpenSpecFun 194.9 KiB Installed artifact Xorg_libpciaccess 26.2 KiB Installed artifact aws_c_http 387.4 KiB Installed artifact Libiconv 1.9 MiB Installed artifact s2n_tls 1.8 MiB Installed artifact XML2 2.5 MiB Installed artifact HDF5 6.1 MiB Installed artifact MPICH 8.8 MiB Updating `~/.julia/environments/v1.14/Project.toml` [c5a45a97] + IMASdd v8.4.0 Updating `~/.julia/environments/v1.14/Manifest.toml` [1520ce14] + AbstractTrees v0.4.5 ⌅ [4f381ef7] + AdaptiveArrayPools v0.1.2 [bbf7d656] + CommonSubexpressions v0.3.1 [34da2185] + Compat v4.18.1 [7204ce3a] + CoordinateConventions v1.0.5 [a8cc5b0e] + Crayons v4.1.1 [9a962f9c] + DataAPI v1.16.0 [82cc6244] + DataInterpolations v8.10.0 [e2d170a0] + DataValueInterfaces v1.0.0 [163ba53b] + DiffResults v1.1.0 [b552c78f] + DiffRules v1.16.0 [ffbed154] + DocStringExtensions v0.9.5 [4e289a0a] + EnumX v1.0.7 [e2ba6199] + ExprTools v0.1.10 ⌅ [64ca27bc] + FindFirstFunctions v1.8.0 [f6369f11] + ForwardDiff v1.3.3 [f67ccb44] + HDF5 v0.17.3 [c5a45a97] + IMASdd v8.4.0 [92d709cd] + IrrationalConstants v0.2.6 [82899510] + IteratorInterfaceExtensions v1.0.0 [692b3bcd] + JLLWrappers v1.8.0 ⌅ [682c06a0] + JSON v0.21.4 [b964fa9f] + LaTeXStrings v1.4.0 ⌅ [2ab3a3ac] + LogExpFunctions v0.3.29 [3da0fdf6] + MPIPreferences v0.1.12 [1914dd2f] + MacroTools v0.5.16 [6fafb56a] + Memoization v0.2.2 [77ba4419] + NaNMath v1.1.3 ⌅ [bac558e1] + OrderedCollections v1.8.2 [69de0a69] + Parsers v2.8.5 [aea7be01] + PrecompileTools v1.3.4 [21216c6a] + Preferences v1.5.2 [08abe8d2] + PrettyTables v3.3.2 [3cdcf5f2] + RecipesBase v1.3.4 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [276daf66] + SpecialFunctions v2.8.0 [1e83bf80] + StaticArraysCore v1.4.4 [892a3eda] + StringManipulation v0.4.4 [3783bdb8] + TableTraits v1.0.1 [bd369af6] + Tables v1.12.1 [4239201d] + ThreadSafeDicts v0.1.6 [a759f4b9] + TimerOutputs v0.5.29 [0234f1f7] + HDF5_jll v2.1.2+0 [e33a78d0] + Hwloc_jll v2.13.0+1 [94ce4f54] + Libiconv_jll v1.18.0+0 [b5ada748] + MPIABI_jll v0.1.5+0 [7cb0a576] + MPICH_jll v5.0.1+0 [f1f71cc9] + MPItrampoline_jll v5.5.6+0 [9237b28f] + MicrosoftMPI_jll v10.1.4+3 [fe0851c0] + OpenMPI_jll v5.0.11+0 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 ⌅ [02c8fc9c] + XML2_jll v2.13.9+0 [a65dc6b1] + Xorg_libpciaccess_jll v0.19.0+0 ⌅ [2b3700d1] + aws_c_auth_jll v0.9.6+0 [70f11efc] + aws_c_cal_jll v0.9.13+0 [73048d1d] + aws_c_common_jll v0.12.6+0 [73a04cd5] + aws_c_compression_jll v0.3.2+0 [3254fc65] + aws_c_http_jll v0.10.13+0 [13c41daa] + aws_c_io_jll v0.26.3+0 ⌅ [bd1f34fb] + aws_c_s3_jll v0.11.5+0 [1282aa60] + aws_c_sdkutils_jll v0.2.4+1 [b2a88e68] + aws_checksums_jll v0.2.10+0 [c4b69c83] + dlfcn_win32_jll v1.4.2+0 [477f73a3] + libaec_jll v1.1.7+0 [9aeb927a] + mpif_jll v0.1.7+0 [cddc5d3d] + s2n_tls_jll v1.7.3+0 [0dad84c5] + ArgTools v1.1.2 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [f43a241f] + Downloads v1.7.0 [7b1f6079] + FileWatching v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [4af54fe1] + LazyArtifacts v1.11.0 [b27032c2] + LibCURL v1.0.0 [76f85450] + LibGit2 v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.14.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [a63ad114] + Mmap v1.11.0 [ca575930] + NetworkOptions v1.3.0 [44cfe95a] + Pkg v1.14.0 [de0858da] + Printf v1.11.0 [3fa0cd96] + REPL v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.0 [6462fe0b] + Sockets v1.11.0 [f489334b] + StyledStrings v1.13.0 [fa267f1f] + TOML v1.0.3 [a4e569a6] + Tar v1.10.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.5.2+0 [deac9b47] + LibCURL_jll v8.20.0+1 [e37daf67] + LibGit2_jll v1.9.4+0 [29816b5a] + LibSSH2_jll v1.11.101+0 [14a3606d] + MozillaCACerts_jll v2026.5.14 [4536629a] + OpenBLAS_jll v0.3.33+0 [05823500] + OpenLibm_jll v0.8.7+0 [458c3c95] + OpenSSL_jll v3.5.6+0 [efcefdf7] + PCRE2_jll v10.47.0+0 [83775a58] + Zlib_jll v1.3.2+0 [3161d3a3] + Zstd_jll v1.5.7+1 [8e850b90] + libblastrampoline_jll v5.15.0+0 [8e850ede] + nghttp2_jll v1.69.0+0 [3f19e933] + p7zip_jll v17.8.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 21.3s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling project... 6.6 s ✓ TestEnv 1 dependency successfully precompiled in 7 seconds. 27 already precompiled. Precompiling package dependencies... Precompiling project... 4.1 s ✓ MacroTools 0.4 s ✓ Reexport 0.9 s ✓ Statistics 1.0 s ✓ DataAPI 2.5 s ✓ IrrationalConstants 0.5 s ✓ DataValueInterfaces 0.9 s ✓ StaticArraysCore 150.9 s ✓ OrderedCollections 0.7 s ✓ ThreadSafeDicts 1.2 s ✓ DocStringExtensions 73.0 s ✓ AbstractTrees 1.2 s ✓ CoordinateConventions 0.9 s ✓ EnumX 0.8 s ✓ ExprTools 0.5 s ✓ IteratorInterfaceExtensions 40.5 s ✓ LaTeXStrings 2.3 s ✓ Crayons 1.2 s ✓ Requires 1.5 s ✓ NaNMath 1.6 s ✓ Compat 2.9 s ✓ Preferences 1.8 s ✓ CommonSubexpressions 0.9 s ✓ Memoization 0.9 s ✓ DiffResults 2.0 s ✓ LogExpFunctions 42.7 s ✓ TimerOutputs 0.5 s ✓ TableTraits 0.7 s ✓ Compat → CompatLinearAlgebraExt 39.6 s ✓ AdaptiveArrayPools 3.6 s ✓ JLLWrappers 3.7 s ✓ MPIPreferences 3.2 s ✓ PrecompileTools 151.5 s ✓ Tables 3.8 s ✓ libaec_jll 3.6 s ✓ aws_c_common_jll 3.7 s ✓ Xorg_libpciaccess_jll 3.7 s ✓ Libiconv_jll 3.6 s ✓ s2n_tls_jll 2.7 s ✓ dlfcn_win32_jll 2.5 s ✓ MicrosoftMPI_jll 3.4 s ✓ OpenSpecFun_jll 6.5 s ✓ MPItrampoline_jll 5.3 s ✓ RecipesBase 3.9 s ✓ FindFirstFunctions 80.0 s ✓ StringManipulation 39.7 s ✓ Parsers 3.8 s ✓ aws_checksums_jll 3.8 s ✓ aws_c_sdkutils_jll 3.7 s ✓ aws_c_cal_jll 3.7 s ✓ aws_c_compression_jll 3.6 s ✓ XML2_jll 81.1 s ✓ SpecialFunctions 211.2 s ✓ PrettyTables 32.4 s ✓ JSON 3.6 s ✓ aws_c_io_jll 3.7 s ✓ Hwloc_jll 1.5 s ✓ DiffRules 42.4 s ✓ BenchmarkTools 3.6 s ✓ aws_c_http_jll 3.8 s ✓ MPICH_jll 6.5 s ✓ OpenMPI_jll 6.5 s ✓ MPIABI_jll 103.9 s ✓ ForwardDiff 3.6 s ✓ aws_c_auth_jll 6.4 s ✓ mpif_jll ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/EnumX/CGSQY/src/EnumX.jl:122 =# - Expected module name Expression:  (escape ExtrapolationType) Containing expressions:  (module false (escape ExtrapolationType) (block (primitive (<: T (curly Enum Int32)) 32) (let (= value_name_map Dict{Int32, Symbol}(3 => :Extension, 2 => :Linear, 1 => :Constant, 5 => :Reflective, 4 => :Periodic, 0 => :None)) (block (= (call check_valid x) (block (|| (call in x (call keys value_name_map)) (call throw (call ArgumentError (string "invalid value for Enum " (inert ExtrapolationType) ": " x ".")))))) (global (function (call (escape T) (:: x Integer)) (block (call check_valid x) (return (call (. Base (inert bitcast)) (escape T) (call convert Int32 x)))))) (= (call (. (. Base (inert Enums)) (inert namemap)) (:: (curly (. Base (inert Type)) (escape T)))) (block value_name_map)) (= (call (. (. Base (inert Enums)) (inert instances)) (:: (curly (. Base (inert Type)) (escape T)))) (block (tuple (escape None) (escape Constant) (escape Linear) (escape Extension) (escape Periodic) (escape Reflective)))) (= (call (. EnumX (inert symbol_map)) (:: (curly (. Base (inert Type)) (escape T)))) (block Pair{Symbol, Int32}[:None => 0, :Constant => 1, :Linear => 2, :Extension => 3, :Periodic => 4, :Reflective => 5])))) (escape (public T None Constant Linear Extension Periodic Reflective)) (const (= (escape None) (call (escape T) 0))) (const (= (escape Constant) (call (escape T) 1))) (const (= (escape Linear) (call (escape T) 2))) (const (= (escape Extension) (call (escape T) 3))) (const (= (escape Periodic) (call (escape T) 4))) (const (= (escape Reflective) (call (escape T) 5)))))  Detailed provenance:  (escape ExtrapolationType)  └─ (escape ExtrapolationType)  ├─ @ /home/pkgeval/.julia/packages/EnumX/CGSQY/src/EnumX.jl:122  └─ (macrocall @enumx :(#= /home/pkgeval/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14 =#) ExtrapolationType None Constant Linear Extension Periodic Reflective)  └─ @ /home/pkgeval/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14  Stacktrace:  [1] lower_step(iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}, mod::Module, world::UInt64; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:81  [2] lower_step(iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}, mod::Module, world::UInt64; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:72  [3] _eval(mod::Module, iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:530  [4] eval(mod::Module, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}; macro_world::UInt64, soft_scope::Nothing, opts::@Kwargs{expr_compat_mode::Bool})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:518 [inlined]  [5] top-level scope  @ ~/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14  [6] macro expansion  @ ~/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14 [inlined]  [7] include(mod::Module, _path::String)  @ Base Base.jl:326  [8] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base loading.jl:3296  [9] top-level scope  @ stdin:5  [10] eval(m::Module, e::Any)  @ Core boot.jl:521  [11] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base loading.jl:3132  [12] include_string(m::Module, txt::String, fname::String)  @ Base loading.jl:3142 [inlined]  [13] exec_options(opts::Base.JLOptions)  @ Base client.jl:353  [14] _start()  @ Base client.jl:596 in expression starting at /home/pkgeval/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:1 in expression starting at stdin:5 ✗ DataInterpolations 3.5 s ✓ aws_c_s3_jll 4.1 s ✓ HDF5_jll 109.2 s ✓ HDF5 [ Info: IMASdd: @nospecializeinfer is ENABLED ┌ Info: JuliaLowering threw given input: │ code = │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211 =# Core.@doc " findall(ids::Union{IDS, IDSvector}, target_fields::Union{Symbol,AbstractArray{Symbol},Regex}=r\"\"; include_subfields::Bool=true)\nSearches for specified fields within IDS objects, supporting nested field exploration and customizable filtering.\n\n# Arguments\n- `root_ids::Union{IDS, IDSvector}`: Root IDS objects to search.\n- `target_fields::Union{Symbol, AbstractArray{Symbol}, Regex} = r\"\"`: Fields to search for, specified by a single symbol, array of symbols, or regular expression.\n- `include_subfields::Bool = true`: If `true`, retrieves nested fields below the target field when found; if `false`, stops at the matching field.\n\n# Returns\n- `Vector{IDS_Field_Finder}`: A vector of `IDS_Field_Finder` structures, each containing details on a located field such as parent IDS, root IDS, field type, and full field path.\n\n# Example\n```julia-repl\njulia> findall(dd.equilibrium.time_slice[].global_quantities) # By default, it searches everything under given IDS\njulia> findall(dd.equilibrium.time_slice[].global_quantities, r\"\") # Same behavior (Default)\n\n# Find fields matching a single symbol within a IDS structure\njulia> IFF = findall(dd.equilibrium.time_slice, :psi)\n\n# Search for multiple symbols within multiple root IDS objects\njulia> IFF = findall([dd.equilibrium, dd.core_profiles], [:psi, :j_tor])\n\n# Use regular expressions for flexible and powerful search patterns\njulia> IFF = findall(dd, r\"prof.*1d.*psi\")\n\n# Control subfield inclusion using the `include_subfields` keyword\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=false)\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=true) # Default behavior\n\n# Default show for IFF (IDF_Field_Finder) structure\njulia> IFF\n\n# Retrieve actual values of found IDS objects (lazy evaluation)\njulia> IFF[1].value\njulia> IFF[end].value\n```\n" function Base.findall(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =# @nospecialize(root_ids::Union{IDS, IDSvector}), #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =# @nospecialize(target::Union{Symbol, AbstractArray{Symbol}, Regex}) = r""; include_subfields::Bool = true, root_name::String = "") │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =# │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:250 =# │ root_name = if isempty(root_name) │ location(root_ids) │ else │ root_name │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:252 =# │ IFF_list = Vector{IDS_Field_Finder}() │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:254 =# │ flag_found = false │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:255 =# │ stack = Vector{Tuple{Union{IDS, IDSvector, Vector{IDS}}, String, Bool}}() │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:256 =# │ sizehint!(stack, 1000) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:258 =# │ if root_ids isa IDSvector │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:259 =# │ parent_ids = root_ids._parent.value │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:260 =# │ push!(stack, (parent_ids, location(parent_ids), false)) │ else │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:262 =# │ push!(stack, (root_ids, root_name, false)) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:266 =# │ function is_target_found(ids::Union{IDS, IDSvector}, field::Symbol, path::String, target::Regex) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:266 =# │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:267 =# │ return occursin(target, path) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:269 =# │ function is_target_found(ids::Union{IDS, IDSvector}, field::Symbol, path::String, target::Symbol) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:269 =# │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:270 =# │ return field == target │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:272 =# │ function is_target_found(ids::Union{IDS, IDSvector}, field::Symbol, path::String, target::AbstractArray{Symbol}) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:272 =# │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:273 =# │ return field in target │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:276 =# │ while !(isempty(stack)) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:277 =# │ (ids, path, parent_found) = pop!(stack) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:279 =# │ fields = filter((x->begin │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:279 =# │ x ∉ IMASdd.private_fields │ end), fieldnames(typeof(ids))) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:281 =# │ for field = fields │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:282 =# │ child = getfield(ids, field) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:284 =# │ if isempty(child) │ continue │ else │ nothing │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:286 =# │ if typeof(child) <: Union{IDSvector, Vector{IDS}} │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:287 =# │ for (k, grand_child) = pairs(child) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:288 =# │ new_path = path * "." * String(field) * "[$(k)]" │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:289 =# │ flag_found = if parent_found │ true │ else │ is_target_found(ids, field, new_path, target) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:290 =# │ if include_subfields || !flag_found │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:291 =# │ push!(stack, (grand_child, new_path, flag_found)) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:293 =# │ end │ elseif #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:294 =# typeof(child) <: IDS │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:295 =# │ new_path = path * "." * String(field) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:296 =# │ flag_found = if parent_found │ true │ else │ is_target_found(ids, field, new_path, target) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:297 =# │ if include_subfields || !flag_found │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:298 =# │ push!(stack, (child, new_path, flag_found)) │ end │ else │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:301 =# │ new_path = path * "." * String(field) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:302 =# │ flag_found = if parent_found │ true │ else │ is_target_found(ids, field, new_path, target) │ end │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:305 =# │ if flag_found │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:306 =# │ if !(ismissing(ids, field)) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:307 =# │ push!(IFF_list, IDS_Field_Finder(; parent_ids = ids, root_ids, field, field_type = fieldtype(typeof(ids), field), root_name, field_path = new_path)) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:317 =# │ flag_found = false │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:319 =# │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:320 =# │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:324 =# │ if length(IFF_list) == 1 │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:325 =# │ return IFF_list[1] │ else │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:327 =# │ return reverse!(IFF_list) │ end │ end) │ st0 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__ │ [macrocall] │ │ @doc :: Identifier │ mod │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211 =#) :: Value │ │ " findall(ids::Union{IDS, IDSvector}, target_fields::Union{Symbol,AbstractArray{Symbol},Regex}=r\"\"; include_subfields::Bool=true)\nSearches for specified fields within IDS objects, supporting nested field exploration and customizable filtering.\n\n# Arguments\n- `root_ids::Union{IDS, IDSvector}`: Root IDS objects to search.\n- `target_fields::Union{Symbol, AbstractArray{Symbol}, Regex} = r\"\"`: Fields to search for, specified by a single symbol, array of symbols, or regular expression.\n- `include_subfields::Bool = true`: If `true`, retrieves nested fields below the target field when found; if `false`, stops at the matching field.\n\n# Returns\n- `Vector{IDS_Field_Finder}`: A vector of `IDS_Field_Finder` structures, each containing details on a located field such as parent IDS, root IDS, field type, and full field path.\n\n# Example\n```julia-repl\njulia> findall(dd.equilibrium.time_slice[].global_quantities) # By default, it searches everything under given IDS\njulia> findall(dd.equilibrium.time_slice[].global_quantities, r\"\") # Same behavior (Default)\n\n# Find fields matching a single symbol within a IDS structure\njulia> IFF = findall(dd.equilibrium.time_slice, :psi)\n\n# Search for multiple symbols within multiple root IDS objects\njulia> IFF = findall([dd.equilibrium, dd.core_profiles], [:psi, :j_tor])\n\n# Use regular expressions for flexible and powerful search patterns\njulia> IFF = findall(dd, r\"prof.*1d.*psi\")\n\n# Control subfield inclusion using the `include_subfields` keyword\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=false)\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=true) # Default behavior\n\n# Default show for IFF (IDF_Field_Finder) structure\njulia> IFF\n\n# Retrieve actual values of found IDS objects (lazy evaluation)\njulia> IFF[1].value\njulia> IFF[end].value\n```\n" :: Value │ │ [function] │ │ [call] │ │ [.] │ │ Base :: Identifier │ │ [inert] │ │ findall :: Identifier │ │ [parameters] │ │ [kw] │ │ [::] │ │ include_subfields :: Identifier │ │ Bool :: Identifier │ │ true :: Value │ │ [kw] │ │ [::] │ │ root_name :: Identifier │ │ String :: Identifier │ │ "" :: Value │ │ [macrocall] │ │ @nospecialize :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) :: Value │ │ [::] │ │ root_ids :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [kw] │ │ [macrocall] │ │ @nospecialize :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) :: Value │ │ [::] │ │ target :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ Symbol :: Identifier │ │ [curly] │ │ AbstractArray :: Identifier │ │ Symbol :: Identifier │ │ Regex :: Identifier │ │ [macrocall] │ │ @r_str :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) :: Value │ │ "" :: Value │ │ [block] │ │ [=] │ │ root_name :: Identifier │ │ [if] │ │ [call] │ │ isempty :: Identifier │ │ root_name :: Identifier │ │ [call] │ │ location :: Identifier │ │ root_ids :: Identifier │ │ root_name :: Identifier │ │ [=] │ │ IFF_list :: Identifier │ │ [call] │ │ [curly] │ │ Vector :: Identifier │ │ IDS_Field_Finder :: Identifier │ │ [=] │ │ flag_found :: Identifier │ │ false :: Value │ │ [=] │ │ stack :: Identifier │ │ [call] │ │ [curly] │ │ Vector :: Identifier │ │ [curly] │ │ Tuple :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ IDS :: Identifier │ │ String :: Identifier │ │ Bool :: Identifier │ │ [call] │ │ sizehint! :: Identifier │ │ stack :: Identifier │ │ 1000 :: Value │ │ [if] │ │ [call] │ │ isa :: Identifier │ │ root_ids :: Identifier │ │ IDSvector :: Identifier │ │ [block] │ │ [=] │ │ parent_ids :: Identifier │ │ [.] │ │ [.] │ │ root_ids :: Identifier │ │ [inert] │ │ _parent :: Identifier │ │ [inert] │ │ value :: Identifier │ │ [call] │ │ push! :: Identifier │ │ stack :: Identifier │ │ [tuple] │ │ parent_ids :: Identifier │ │ [call] │ │ location :: Identifier │ │ parent_ids :: Identifier │ │ false :: Value │ │ [block] │ │ [call] │ │ push! :: Identifier │ │ stack :: Identifier │ │ [tuple] │ │ root_ids :: Identifier │ │ root_name :: Identifier │ │ false :: Value │ │ [function] │ │ [call] │ │ is_target_found :: Identifier │ │ [::] │ │ ids :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [::] │ │ field :: Identifier │ │ Symbol :: Identifier │ │ [::] │ │ path :: Identifier │ │ String :: Identifier │ │ [::] │ │ target :: Identifier │ │ Regex :: Identifier │ │ [block] │ │ [return] │ │ [call] │ │ occursin :: Identifier │ │ target :: Identifier │ │ path :: Identifier │ │ [function] │ │ [call] │ │ is_target_found :: Identifier │ │ [::] │ │ ids :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [::] │ │ field :: Identifier │ │ Symbol :: Identifier │ │ [::] │ │ path :: Identifier │ │ String :: Identifier │ │ [::] │ │ target :: Identifier │ │ Symbol :: Identifier │ │ [block] │ │ [return] │ │ [call] │ │ == :: Identifier │ │ field :: Identifier │ │ target :: Identifier │ │ [function] │ │ [call] │ │ is_target_found :: Identifier │ │ [::] │ │ ids :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [::] │ │ field :: Identifier │ │ Symbol :: Identifier │ │ [::] │ │ path :: Identifier │ │ String :: Identifier │ │ [::] │ │ target :: Identifier │ │ [curly] │ │ AbstractArray :: Identifier │ │ Symbol :: Identifier │ │ [block] │ │ [return] │ │ [call] │ │ in :: Identifier │ │ field :: Identifier │ │ target :: Identifier │ │ [while] │ │ [call] │ │ ! :: Identifier │ │ [call] │ │ isempty :: Identifier │ │ stack :: Identifier │ │ [block] │ │ [=] │ │ [tuple] │ │ ids :: Identifier │ │ path :: Identifier │ │ parent_found :: Identifier │ │ [call] │ │ pop! :: Identifier │ │ stack :: Identifier │ │ [=] │ │ fields :: Identifier │ │ [call] │ │ filter :: Identifier │ │ [->] │ │ x :: Identifier │ │ [block] │ │ [call] │ │ ∉ :: Identifier │ │ x :: Identifier │ │ [.] │ │ IMASdd :: Identifier │ │ [inert] │ │ private_fields :: Identifier │ │ [call] │ │ fieldnames :: Identifier │ │ [call] │ │ typeof :: Identifier │ │ ids :: Identifier │ │ [for] │ │ [=] │ │ field :: Identifier │ │ fields :: Identifier │ │ [block] │ │ [=] │ │ child :: Identifier │ │ [call] │ │ getfield :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ [if] │ │ [call] │ │ isempty :: Identifier │ │ child :: Identifier │ │ [continue] │ │ nothing :: Identifier │ │ [if] │ │ [<:] │ │ [call] │ │ typeof :: Identifier │ │ child :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDSvector :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ IDS :: Identifier │ │ [block] │ │ [for] │ │ [=] │ │ [tuple] │ │ k :: Identifier │ │ grand_child :: Identifier │ │ [call] │ │ pairs :: Identifier │ │ child :: Identifier │ │ [block] │ │ [=] │ │ new_path :: Identifier │ │ [call] │ │ * :: Identifier │ │ path :: Identifier │ │ "." :: Value │ │ [call] │ │ String :: Identifier │ │ field :: Identifier │ │ [string] │ │ "[" :: Value │ │ k :: Identifier │ │ "]" :: Value │ │ [=] │ │ flag_found :: Identifier │ │ [if] │ │ parent_found :: Identifier │ │ true :: Value │ │ [call] │ │ is_target_found :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ new_path :: Identifier │ │ target :: Identifier │ │ [if] │ │ [||] │ │ include_subfields :: Identifier │ │ [call] │ │ ! :: Identifier │ │ flag_found :: Identifier │ │ [block] │ │ [call] │ │ push! :: Identifier │ │ stack :: Identifier │ │ [tuple] │ │ grand_child :: Identifier │ │ new_path :: Identifier │ │ flag_found :: Identifier │ │ [elseif] │ │ [block] │ │ [<:] │ │ [call] │ │ typeof :: Identifier │ │ child :: Identifier │ │ IDS :: Identifier │ │ [block] │ │ [=] │ │ new_path :: Identifier │ │ [call] │ │ * :: Identifier │ │ path :: Identifier │ │ "." :: Value │ │ [call] │ │ String :: Identifier │ │ field :: Identifier │ │ [=] │ │ flag_found :: Identifier │ │ [if] │ │ parent_found :: Identifier │ │ true :: Value │ │ [call] │ │ is_target_found :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ new_path :: Identifier │ │ target :: Identifier │ │ [if] │ │ [||] │ │ include_subfields :: Identifier │ │ [call] │ │ ! :: Identifier │ │ flag_found :: Identifier │ │ [block] │ │ [call] │ │ push! :: Identifier │ │ stack :: Identifier │ │ [tuple] │ │ child :: Identifier │ │ new_path :: Identifier │ │ flag_found :: Identifier │ │ [block] │ │ [=] │ │ new_path :: Identifier │ │ [call] │ │ * :: Identifier │ │ path :: Identifier │ │ "." :: Value │ │ [call] │ │ String :: Identifier │ │ field :: Identifier │ │ [=] │ │ flag_found :: Identifier │ │ [if] │ │ parent_found :: Identifier │ │ true :: Value │ │ [call] │ │ is_target_found :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ new_path :: Identifier │ │ target :: Identifier │ │ [if] │ │ flag_found :: Identifier │ │ [block] │ │ [if] │ │ [call] │ │ ! :: Identifier │ │ [call] │ │ ismissing :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ [block] │ │ [call] │ │ push! :: Identifier │ │ IFF_list :: Identifier │ │ [call] │ │ IDS_Field_Finder :: Identifier │ │ [parameters] │ │ [kw] │ │ parent_ids :: Identifier │ │ ids :: Identifier │ │ root_ids :: Identifier │ │ field :: Identifier │ │ [kw] │ │ field_type :: Identifier │ │ [call] │ │ fieldtype :: Identifier │ │ [call] │ │ typeof :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ root_name :: Identifier │ │ [kw] │ │ field_path :: Identifier │ │ new_path :: Identifier │ │ [=] │ │ flag_found :: Identifier │ │ false :: Value │ │ [if] │ │ [call] │ │ == :: Identifier │ │ [call] │ │ length :: Identifier │ │ IFF_list :: Identifier │ │ 1 :: Value │ │ [block] │ │ [return] │ │ [ref] │ │ IFF_list :: Identifier │ │ 1 :: Value │ │ [block] │ │ [return] │ │ [call] │ │ reverse! :: Identifier │ │ IFF_list :: Identifier │ │ │ st1 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source │ [block] │ │ [=] │ │ val :: Identifier │ scope_layer=3 │ [function] │ │ [call] │ │ [.] │ │ Base :: Identifier │ scope_layer=1 │ [inert] │ │ findall :: Identifier │ │ [parameters] │ │ [kw] │ │ [::] │ │ include_subfields :: Identifier │ scope_layer=1 │ Bool :: Identifier │ scope_layer=1 │ true :: Value │ macro_source=420 │ [kw] │ │ [::] │ │ root_name :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ "" :: Value │ macro_source=420 │ [meta] │ │ nospecialize :: Identifier │ scope_layer=1 │ [::] │ │ root_ids :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [kw] │ │ [meta] │ │ nospecialize :: Identifier │ scope_layer=1 │ [::] │ │ target :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractArray :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ Regex :: Identifier │ scope_layer=1 │ r"" :: Value │ macro_source=420 │ [block] │ │ [=] │ │ root_name :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ isempty :: Identifier │ scope_layer=1 │ root_name :: Identifier │ scope_layer=1 │ [call] │ │ location :: Identifier │ scope_layer=1 │ root_ids :: Identifier │ scope_layer=1 │ root_name :: Identifier │ scope_layer=1 │ [=] │ │ IFF_list :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ IDS_Field_Finder :: Identifier │ scope_layer=1 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=420 │ [=] │ │ stack :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ Bool :: Identifier │ scope_layer=1 │ [call] │ │ sizehint! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ 1000 :: Value │ macro_source=420 │ [if] │ │ [call] │ │ isa :: Identifier │ scope_layer=1 │ root_ids :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ parent_ids :: Identifier │ scope_layer=1 │ [.] │ │ [.] │ │ root_ids :: Identifier │ scope_layer=1 │ [inert] │ │ _parent :: Identifier │ │ [inert] │ │ value :: Identifier │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [tuple] │ │ parent_ids :: Identifier │ scope_layer=1 │ [call] │ │ location :: Identifier │ scope_layer=1 │ parent_ids :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=420 │ [block] │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [tuple] │ │ root_ids :: Identifier │ scope_layer=1 │ root_name :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=420 │ [function] │ │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ [::] │ │ ids :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [::] │ │ field :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [::] │ │ path :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ [::] │ │ target :: Identifier │ scope_layer=1 │ Regex :: Identifier │ scope_layer=1 │ [block] │ │ [return] │ │ [call] │ │ occursin :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ [function] │ │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ [::] │ │ ids :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [::] │ │ field :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [::] │ │ path :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ [::] │ │ target :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [block] │ │ [return] │ │ [call] │ │ == :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [function] │ │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ [::] │ │ ids :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [::] │ │ field :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [::] │ │ path :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ [::] │ │ target :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractArray :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [block] │ │ [return] │ │ [call] │ │ in :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [while] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ [call] │ │ isempty :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [tuple] │ │ ids :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ parent_found :: Identifier │ scope_layer=1 │ [call] │ │ pop! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [=] │ │ fields :: Identifier │ scope_layer=1 │ [call] │ │ filter :: Identifier │ scope_layer=1 │ [->] │ │ x :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ ∉ :: Identifier │ scope_layer=1 │ x :: Identifier │ scope_layer=1 │ [.] │ │ IMASdd :: Identifier │ scope_layer=1 │ [inert] │ │ private_fields :: Identifier │ │ [call] │ │ fieldnames :: Identifier │ scope_layer=1 │ [call] │ │ typeof :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ [for] │ │ [=] │ │ field :: Identifier │ scope_layer=1 │ fields :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ child :: Identifier │ scope_layer=1 │ [call] │ │ getfield :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ isempty :: Identifier │ scope_layer=1 │ child :: Identifier │ scope_layer=1 │ [continue] │ macro_source=420 │ nothing :: Identifier │ scope_layer=1 │ [if] │ │ [<:] │ scope_layer=1 │ [call] │ │ typeof :: Identifier │ scope_layer=1 │ child :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ [block] │ │ [for] │ │ [=] │ │ [tuple] │ │ k :: Identifier │ scope_layer=1 │ grand_child :: Identifier │ scope_layer=1 │ [call] │ │ pairs :: Identifier │ scope_layer=1 │ child :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ new_path :: Identifier │ scope_layer=1 │ [call] │ │ * :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ "." :: Value │ macro_source=420 │ [call] │ │ String :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [string] │ │ "[" :: Value │ macro_source=420 │ k :: Identifier │ scope_layer=1 │ "]" :: Value │ macro_source=420 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ [if] │ │ parent_found :: Identifier │ scope_layer=1 │ true :: Value │ macro_source=420 │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [if] │ │ [||] │ │ include_subfields :: Identifier │ scope_layer=1 │ [call] │ │ ! :: Identifier │ scope_layer=1 │ flag_found :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [tuple] │ │ grand_child :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ flag_found :: Identifier │ scope_layer=1 │ [elseif] │ │ [block] │ │ [<:] │ scope_layer=1 │ [call] │ │ typeof :: Identifier │ scope_layer=1 │ child :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ new_path :: Identifier │ scope_layer=1 │ [call] │ │ * :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ "." :: Value │ macro_source=420 │ [call] │ │ String :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ [if] │ │ parent_found :: Identifier │ scope_layer=1 │ true :: Value │ macro_source=420 │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [if] │ │ [||] │ │ include_subfields :: Identifier │ scope_layer=1 │ [call] │ │ ! :: Identifier │ scope_layer=1 │ flag_found :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [tuple] │ │ child :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ flag_found :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ new_path :: Identifier │ scope_layer=1 │ [call] │ │ * :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ "." :: Value │ macro_source=420 │ [call] │ │ String :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ [if] │ │ parent_found :: Identifier │ scope_layer=1 │ true :: Value │ macro_source=420 │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [if] │ │ flag_found :: Identifier │ scope_layer=1 │ [block] │ │ [if] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ [call] │ │ ismissing :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ IFF_list :: Identifier │ scope_layer=1 │ [call] │ │ IDS_Field_Finder :: Identifier │ scope_layer=1 │ [parameters] │ │ [kw] │ │ parent_ids :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ root_ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [kw] │ │ field_type :: Identifier │ scope_layer=1 │ [call] │ │ fieldtype :: Identifier │ scope_layer=1 │ [call] │ │ typeof :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ root_name :: Identifier │ scope_layer=1 │ [kw] │ │ field_path :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=420 │ [if] │ │ [call] │ │ == :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ IFF_list :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=420 │ [block] │ │ [return] │ │ [ref] │ │ IFF_list :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=420 │ [block] │ │ [return] │ │ [call] │ │ reverse! :: Identifier │ scope_layer=1 │ IFF_list :: Identifier │ scope_layer=1 │ [call] │ │ Base.Docs.doc! :: Value │ macro_source=420 │ IMASdd :: Value │ macro_source=420 │ [call] │ │ Base.Docs.Binding :: Value │ macro_source=420 │ Base :: Identifier │ scope_layer=1 │ [inert] │ │ findall :: Identifier │ │ [call] │ macro_source=420 │ Base.Docs.docstr :: Value │ macro_source=420 │ [call] │ macro_source=420 │ Core.svec :: Value │ macro_source=420 │ " findall(ids::Union{IDS, IDSvector}, target_fields::Union{Symbol,AbstractArray{Symbol},Regex}=r\"\"; include_subfields::Bool=true)\nSearches for specified fields within IDS objects, supporting nested field exploration and customizable filtering.\n\n# Arguments\n- `root_ids::Union{IDS, IDSvector}`: Root IDS objects to search.\n- `target_fields::Union{Symbol, AbstractArray{Symbol}, Regex} = r\"\"`: Fields to search for, specified by a single symbol, array of symbols, or regular expression.\n- `include_subfields::Bool = true`: If `true`, retrieves nested fields below the target field when found; if `false`, stops at the matching field.\n\n# Returns\n- `Vector{IDS_Field_Finder}`: A vector of `IDS_Field_Finder` structures, each containing details on a located field such as parent IDS, root IDS, field type, and full field path.\n\n# Example\n```julia-repl\njulia> findall(dd.equilibrium.time_slice[].global_quantities) # By default, it searches everything under given IDS\njulia> findall(dd.equilibrium.time_slice[].global_quantities, r\"\") # Same behavior (Default)\n\n# Find fields matching a single symbol within a IDS structure\njulia> IFF = findall(dd.equilibrium.time_slice, :psi)\n\n# Search for multiple symbols within multiple root IDS objects\njulia> IFF = findall([dd.equilibrium, dd.core_profiles], [:psi, :j_tor])\n\n# Use regular expressions for flexible and powerful search patterns\njulia> IFF = findall(dd, r\"prof.*1d.*psi\")\n\n# Control subfield inclusion using the `include_subfields` keyword\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=false)\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=true) # Default behavior\n\n# Default show for IFF (IDF_Field_Finder) structure\njulia> IFF\n\n# Retrieve actual values of found IDS objects (lazy evaluation)\njulia> IFF[1].value\njulia> IFF[end].value\n```\n" :: Value │ macro_source=420 │ [call] │ macro_source=420 │ Dict{Symbol, Any} :: Value │ macro_source=420 │ :path => "/home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl" :: Value │ macro_source=420 │ :linenumber => 211 :: Value │ macro_source=420 │ :module => IMASdd :: Value │ macro_source=420 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractArray :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ Regex :: Identifier │ scope_layer=1 │ val :: Identifier │ scope_layer=3 │ │ file = "/home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl" │ line = 211 └ mod = IMASdd ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =# - expected identifier or `identifier::type` Expression:  (meta nospecialize (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex))) Containing expressions:  (function (call (. Base (inert findall)) (parameters (kw (:: include_subfields Bool) true) (kw (:: root_name String) "")) (meta nospecialize (:: root_ids (curly Union IDS IDSvector))) (kw (meta nospecialize (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex))) r"")) (block (= root_name (if (call isempty root_name) (call location root_ids) root_name)) (= IFF_list (call (curly Vector IDS_Field_Finder))) (= flag_found false) (= stack (call (curly Vector (curly Tuple (curly Union IDS IDSvector (curly Vector IDS)) String Bool)))) (call sizehint! stack 1000) (if (call isa root_ids IDSvector) (block (= parent_ids (. (. root_ids (inert _parent)) (inert value))) (call push! stack (tuple parent_ids (call location parent_ids) false))) (block (call push! stack (tuple root_ids root_name false)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target Regex)) (block (return (call occursin target path)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target Symbol)) (block (return (call == field target)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target (curly AbstractArray Symbol))) (block (return (call in field target)))) (while (call ! (call isempty stack)) (block (= (tuple ids path parent_found) (call pop! stack)) (= fields (call filter (-> x (block (call ∉ x (. IMASdd (inert private_fields))))) (call fieldnames (call typeof ids)))) (for (= field fields) (block (= child (call getfield ids field)) (if (call isempty child) (continue) nothing) (if (<: (call typeof child) (curly Union IDSvector (curly Vector IDS))) (block (for (= (tuple k grand_child) (call pairs child)) (block (= new_path (call * path "." (call String field) (string "[" k "]"))) (= flag_found (if parent_found true (call is_target_found ids field new_path target))) (if (|| include_subfields (call ! flag_found)) (block (call push! stack (tuple grand_child new_path flag_found))))))) (elseif (block (<: (call typeof child) IDS)) (block (= new_path (call * path "." (call String field))) (= flag_found (if parent_found true (call is_target_found ids field new_path target))) (if (|| include_subfields (call ! flag_found)) (block (call push! stack (tuple child new_path flag_found))))) (block (= new_path (call * path "." (call String field))) (= flag_found (if parent_found true (call is_target_found ids field new_path target)))))) (if flag_found (block (if (call ! (call ismissing ids field)) (block (call push! IFF_list (call IDS_Field_Finder (parameters (kw parent_ids ids) root_ids field (kw field_type (call fieldtype (call typeof ids) field)) root_name (kw field_path new_path)))))) (= flag_found false))))))) (if (call == (call length IFF_list) 1) (block (return (ref IFF_list 1))) (block (return (call reverse! IFF_list))))))  Detailed provenance:  (meta nospecialize (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex)))  └─ (meta nospecialize (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex)))  ├─ @ /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211 =#) " findall(ids::Union{IDS, IDSvector}, target_fields::Union{Symbol,AbstractArray{Symbol},Regex}=r\"\"; include_subfields::Bool=true)\nSearches for specified fields within IDS objects, supporting nested field exploration and customizable filtering.\n\n# Arguments\n- `root_ids::Union{IDS, IDSvector}`: Root IDS objects to search.\n- `target_fields::Union{Symbol, AbstractArray{Symbol}, Regex} = r\"\"`: Fields to search for, specified by a single symbol, array of symbols, or regular expression.\n- `include_subfields::Bool = true`: If `true`, retrieves nested fields below the target field when found; if `false`, stops at the matching field.\n\n# Returns\n- `Vector{IDS_Field_Finder}`: A vector of `IDS_Field_Finder` structures, each containing details on a located field such as parent IDS, root IDS, field type, and full field path.\n\n# Example\n```julia-repl\njulia> findall(dd.equilibrium.time_slice[].global_quantities) # By default, it searches everything under given IDS\njulia> findall(dd.equilibrium.time_slice[].global_quantities, r\"\") # Same behavior (Default)\n\n# Find fields matching a single symbol within a IDS structure\njulia> IFF = findall(dd.equilibrium.time_slice, :psi)\n\n# Search for multiple symbols within multiple root IDS objects\njulia> IFF = findall([dd.equilibrium, dd.core_profiles], [:psi, :j_tor])\n\n# Use regular expressions for flexible and powerful search patterns\njulia> IFF = findall(dd, r\"prof.*1d.*psi\")\n\n# Control subfield inclusion using the `include_subfields` keyword\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=false)\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=true) # Default behavior\n\n# Default show for IFF (IDF_Field_Finder) structure\njulia> IFF\n\n# Retrieve actual values of found IDS objects (lazy evaluation)\njulia> IFF[1].value\njulia> IFF[end].value\n```\n" (function (call (. Base (inert findall)) (parameters (kw (:: include_subfields Bool) true) (kw (:: root_name String) "")) (macrocall @nospecialize :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) (:: root_ids (curly Union IDS IDSvector))) (kw (macrocall @nospecialize :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex))) (macrocall @r_str :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) ""))) (block (= root_name (if (call isempty root_name) (call location root_ids) root_name)) (= IFF_list (call (curly Vector IDS_Field_Finder))) (= flag_found false) (= stack (call (curly Vector (curly Tuple (curly Union IDS IDSvector (curly Vector IDS)) String Bool)))) (call sizehint! stack 1000) (if (call isa root_ids IDSvector) (block (= parent_ids (. (. root_ids (inert _parent)) (inert value))) (call push! stack (tuple parent_ids (call location parent_ids) false))) (block (call push! stack (tuple root_ids root_name false)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target Regex)) (block (return (call occursin target path)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target Symbol)) (block (return (call == field target)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target (curly AbstractArray Symbol))) (block (return (call in field target)))) (while (call ! (call isempty stack)) (block (= (tuple ids path parent_found) (call pop! stack)) (= fields (call filter (-> x (block (call ∉ x (. IMASdd (inert private_fields))))) (call fieldnames (call typeof ids)))) (for (= field fields) (block (= child (call getfield ids field)) (if (call isempty child) (continue) nothing) (if (<: (call typeof child) (curly Union IDSvector (curly Vector IDS))) (block (for (= (tuple k grand_child) (call pairs child)) (block (= new_path (call * path "." (call String field) (string "[" k "]"))) (= flag_found (if parent_found true (call is_target_found ids field new_path target))) (if (|| include_subfields (call ! flag_found)) (block (call push! stack (tuple grand_child new_path flag_found))))))) (elseif (block (<: (call typeof child) IDS)) (block (= new_path (call * path "." (call String field))) (= flag_found (if parent_found true (call is_target_found ids field new_path target))) (if (|| include_subfields (call ! flag_found)) (block (call push! stack (tuple child new_path flag_found))))) (block (= new_path (call * path "." (call String field))) (= flag_found (if parent_found true (call is_target_found ids field new_path target)))))) (if flag_found (block (if (call ! (call ismissing ids field)) (block (call push! IFF_list (call IDS_Field_Finder (parameters (kw parent_ids ids) root_ids field (kw field_type (call fieldtype (call typeof ids) field)) root_name (kw field_path new_path)))))) (= flag_found false))))))) (if (call == (call length IFF_list) 1) (block (return (ref IFF_list 1))) (block (return (call reverse! IFF_list)))))))  └─ @ /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211  Stacktrace:  [1] expand_forms_2(ctx::Base.JuliaLowering.MacroExpansionContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/desugaring.jl:4448  [2] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:30  [3] include(mapexpr::Function, mod::Module, _path::String)  @ Base Base.jl:327  [4] top-level scope  @ ~/.julia/packages/IMASdd/ek0Qq/src/IMASdd.jl:19  [5] include(mod::Module, _path::String)  @ Base Base.jl:326  [6] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base loading.jl:3296  [7] top-level scope  @ stdin:5  [8] eval(m::Module, e::Any)  @ Core boot.jl:521  [9] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base loading.jl:3132  [10] include_string(m::Module, txt::String, fname::String)  @ Base loading.jl:3142 [inlined]  [11] exec_options(opts::Base.JLOptions)  @ Base client.jl:353  [12] _start()  @ Base client.jl:596 in expression starting at /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211 in expression starting at /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/IMASdd.jl:1 in expression starting at stdin:5 ✗ IMASdd 68 dependencies successfully precompiled in 1551 seconds. 36 already precompiled. Precompilation completed after 1603.6s ################################################################################ # Testing # Testing IMASdd Status `/tmp/jl_O5qr5E/Project.toml` [6e4b80f9] BenchmarkTools v1.8.0 [c5a45a97] IMASdd v8.4.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_O5qr5E/Manifest.toml` [1520ce14] AbstractTrees v0.4.5 ⌅ [4f381ef7] AdaptiveArrayPools v0.1.2 [6e4b80f9] BenchmarkTools v1.8.0 [bbf7d656] CommonSubexpressions v0.3.1 [34da2185] Compat v4.18.1 [7204ce3a] CoordinateConventions v1.0.5 [a8cc5b0e] Crayons v4.1.1 [9a962f9c] DataAPI v1.16.0 [82cc6244] DataInterpolations v8.10.0 [e2d170a0] DataValueInterfaces v1.0.0 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.16.0 [ffbed154] DocStringExtensions v0.9.5 [4e289a0a] EnumX v1.0.7 [e2ba6199] ExprTools v0.1.10 ⌅ [64ca27bc] FindFirstFunctions v1.8.0 [f6369f11] ForwardDiff v1.3.3 [f67ccb44] HDF5 v0.17.3 [c5a45a97] IMASdd v8.4.0 [92d709cd] IrrationalConstants v0.2.6 [82899510] IteratorInterfaceExtensions v1.0.0 [692b3bcd] JLLWrappers v1.8.0 ⌅ [682c06a0] JSON v0.21.4 [b964fa9f] LaTeXStrings v1.4.0 ⌅ [2ab3a3ac] LogExpFunctions v0.3.29 [3da0fdf6] MPIPreferences v0.1.12 [1914dd2f] MacroTools v0.5.16 [6fafb56a] Memoization v0.2.2 [77ba4419] NaNMath v1.1.3 ⌅ [bac558e1] OrderedCollections v1.8.2 [69de0a69] Parsers v2.8.5 [aea7be01] PrecompileTools v1.3.4 [21216c6a] Preferences v1.5.2 [08abe8d2] PrettyTables v3.3.2 [3cdcf5f2] RecipesBase v1.3.4 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [276daf66] SpecialFunctions v2.8.0 [1e83bf80] StaticArraysCore v1.4.4 [10745b16] Statistics v1.11.1 [892a3eda] StringManipulation v0.4.4 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.12.1 [4239201d] ThreadSafeDicts v0.1.6 [a759f4b9] TimerOutputs v0.5.29 [0234f1f7] HDF5_jll v2.1.2+0 [e33a78d0] Hwloc_jll v2.13.0+1 [94ce4f54] Libiconv_jll v1.18.0+0 [b5ada748] MPIABI_jll v0.1.5+0 [7cb0a576] MPICH_jll v5.0.1+0 [f1f71cc9] MPItrampoline_jll v5.5.6+0 [9237b28f] MicrosoftMPI_jll v10.1.4+3 [fe0851c0] OpenMPI_jll v5.0.11+0 [efe28fd5] OpenSpecFun_jll v0.5.6+0 ⌅ [02c8fc9c] XML2_jll v2.13.9+0 [a65dc6b1] Xorg_libpciaccess_jll v0.19.0+0 ⌅ [2b3700d1] aws_c_auth_jll v0.9.6+0 [70f11efc] aws_c_cal_jll v0.9.13+0 [73048d1d] aws_c_common_jll v0.12.6+0 [73a04cd5] aws_c_compression_jll v0.3.2+0 [3254fc65] aws_c_http_jll v0.10.13+0 [13c41daa] aws_c_io_jll v0.26.3+0 ⌅ [bd1f34fb] aws_c_s3_jll v0.11.5+0 [1282aa60] aws_c_sdkutils_jll v0.2.4+1 [b2a88e68] aws_checksums_jll v0.2.10+0 [c4b69c83] dlfcn_win32_jll v1.4.2+0 [477f73a3] libaec_jll v1.1.7+0 [9aeb927a] mpif_jll v0.1.7+0 [cddc5d3d] s2n_tls_jll v1.7.3+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [4af54fe1] LazyArtifacts v1.11.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.14.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [a63ad114] Mmap v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.14.0 [de0858da] Printf v1.11.0 [9abbd945] Profile v1.11.0 [3fa0cd96] REPL v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.13.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [f489334b] StyledStrings v1.13.0 [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.5.2+0 [deac9b47] LibCURL_jll v8.20.0+1 [e37daf67] LibGit2_jll v1.9.4+0 [29816b5a] LibSSH2_jll v1.11.101+0 [14a3606d] MozillaCACerts_jll v2026.5.14 [4536629a] OpenBLAS_jll v0.3.33+0 [05823500] OpenLibm_jll v0.8.7+0 [458c3c95] OpenSSL_jll v3.5.6+0 [efcefdf7] PCRE2_jll v10.47.0+0 [83775a58] Zlib_jll v1.3.2+0 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.69.0+0 [3f19e933] p7zip_jll v17.8.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/EnumX/CGSQY/src/EnumX.jl:122 =# - Expected module name Expression:  (escape ExtrapolationType) Containing expressions:  (module false (escape ExtrapolationType) (block (primitive (<: T (curly Enum Int32)) 32) (let (= value_name_map Dict{Int32, Symbol}(3 => :Extension, 2 => :Linear, 1 => :Constant, 5 => :Reflective, 4 => :Periodic, 0 => :None)) (block (= (call check_valid x) (block (|| (call in x (call keys value_name_map)) (call throw (call ArgumentError (string "invalid value for Enum " (inert ExtrapolationType) ": " x ".")))))) (global (function (call (escape T) (:: x Integer)) (block (call check_valid x) (return (call (. Base (inert bitcast)) (escape T) (call convert Int32 x)))))) (= (call (. (. Base (inert Enums)) (inert namemap)) (:: (curly (. Base (inert Type)) (escape T)))) (block value_name_map)) (= (call (. (. Base (inert Enums)) (inert instances)) (:: (curly (. Base (inert Type)) (escape T)))) (block (tuple (escape None) (escape Constant) (escape Linear) (escape Extension) (escape Periodic) (escape Reflective)))) (= (call (. EnumX (inert symbol_map)) (:: (curly (. Base (inert Type)) (escape T)))) (block Pair{Symbol, Int32}[:None => 0, :Constant => 1, :Linear => 2, :Extension => 3, :Periodic => 4, :Reflective => 5])))) (escape (public T None Constant Linear Extension Periodic Reflective)) (const (= (escape None) (call (escape T) 0))) (const (= (escape Constant) (call (escape T) 1))) (const (= (escape Linear) (call (escape T) 2))) (const (= (escape Extension) (call (escape T) 3))) (const (= (escape Periodic) (call (escape T) 4))) (const (= (escape Reflective) (call (escape T) 5)))))  Detailed provenance:  (escape ExtrapolationType)  └─ (escape ExtrapolationType)  ├─ @ /home/pkgeval/.julia/packages/EnumX/CGSQY/src/EnumX.jl:122  └─ (macrocall @enumx :(#= /home/pkgeval/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14 =#) ExtrapolationType None Constant Linear Extension Periodic Reflective)  └─ @ /home/pkgeval/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14  Stacktrace:  [1] lower_step(iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}, mod::Module, world::UInt64; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:81  [2] lower_step(iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}, mod::Module, world::UInt64; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:72  [3] _eval(mod::Module, iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}; soft_scope::Nothing)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:530  [4] eval(mod::Module, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}; macro_world::UInt64, soft_scope::Nothing, opts::@Kwargs{expr_compat_mode::Bool})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:518 [inlined]  [5] top-level scope  @ ~/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14  [6] macro expansion  @ ~/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14 [inlined]  [7] include(mod::Module, _path::String)  @ Base Base.jl:326  [8] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base loading.jl:3296  [9] top-level scope  @ stdin:5  [10] eval(m::Module, e::Any)  @ Core boot.jl:521  [11] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base loading.jl:3132  [12] include_string(m::Module, txt::String, fname::String)  @ Base loading.jl:3142 [inlined]  [13] exec_options(opts::Base.JLOptions)  @ Base client.jl:353  [14] _start()  @ Base client.jl:596 in expression starting at /home/pkgeval/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:1 in expression starting at stdin:5 [ Info: IMASdd: @nospecializeinfer is ENABLED ┌ Info: JuliaLowering threw given input: │ code = │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211 =# Core.@doc " findall(ids::Union{IDS, IDSvector}, target_fields::Union{Symbol,AbstractArray{Symbol},Regex}=r\"\"; include_subfields::Bool=true)\nSearches for specified fields within IDS objects, supporting nested field exploration and customizable filtering.\n\n# Arguments\n- `root_ids::Union{IDS, IDSvector}`: Root IDS objects to search.\n- `target_fields::Union{Symbol, AbstractArray{Symbol}, Regex} = r\"\"`: Fields to search for, specified by a single symbol, array of symbols, or regular expression.\n- `include_subfields::Bool = true`: If `true`, retrieves nested fields below the target field when found; if `false`, stops at the matching field.\n\n# Returns\n- `Vector{IDS_Field_Finder}`: A vector of `IDS_Field_Finder` structures, each containing details on a located field such as parent IDS, root IDS, field type, and full field path.\n\n# Example\n```julia-repl\njulia> findall(dd.equilibrium.time_slice[].global_quantities) # By default, it searches everything under given IDS\njulia> findall(dd.equilibrium.time_slice[].global_quantities, r\"\") # Same behavior (Default)\n\n# Find fields matching a single symbol within a IDS structure\njulia> IFF = findall(dd.equilibrium.time_slice, :psi)\n\n# Search for multiple symbols within multiple root IDS objects\njulia> IFF = findall([dd.equilibrium, dd.core_profiles], [:psi, :j_tor])\n\n# Use regular expressions for flexible and powerful search patterns\njulia> IFF = findall(dd, r\"prof.*1d.*psi\")\n\n# Control subfield inclusion using the `include_subfields` keyword\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=false)\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=true) # Default behavior\n\n# Default show for IFF (IDF_Field_Finder) structure\njulia> IFF\n\n# Retrieve actual values of found IDS objects (lazy evaluation)\njulia> IFF[1].value\njulia> IFF[end].value\n```\n" function Base.findall(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =# @nospecialize(root_ids::Union{IDS, IDSvector}), #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =# @nospecialize(target::Union{Symbol, AbstractArray{Symbol}, Regex}) = r""; include_subfields::Bool = true, root_name::String = "") │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =# │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:250 =# │ root_name = if isempty(root_name) │ location(root_ids) │ else │ root_name │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:252 =# │ IFF_list = Vector{IDS_Field_Finder}() │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:254 =# │ flag_found = false │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:255 =# │ stack = Vector{Tuple{Union{IDS, IDSvector, Vector{IDS}}, String, Bool}}() │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:256 =# │ sizehint!(stack, 1000) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:258 =# │ if root_ids isa IDSvector │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:259 =# │ parent_ids = root_ids._parent.value │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:260 =# │ push!(stack, (parent_ids, location(parent_ids), false)) │ else │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:262 =# │ push!(stack, (root_ids, root_name, false)) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:266 =# │ function is_target_found(ids::Union{IDS, IDSvector}, field::Symbol, path::String, target::Regex) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:266 =# │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:267 =# │ return occursin(target, path) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:269 =# │ function is_target_found(ids::Union{IDS, IDSvector}, field::Symbol, path::String, target::Symbol) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:269 =# │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:270 =# │ return field == target │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:272 =# │ function is_target_found(ids::Union{IDS, IDSvector}, field::Symbol, path::String, target::AbstractArray{Symbol}) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:272 =# │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:273 =# │ return field in target │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:276 =# │ while !(isempty(stack)) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:277 =# │ (ids, path, parent_found) = pop!(stack) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:279 =# │ fields = filter((x->begin │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:279 =# │ x ∉ IMASdd.private_fields │ end), fieldnames(typeof(ids))) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:281 =# │ for field = fields │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:282 =# │ child = getfield(ids, field) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:284 =# │ if isempty(child) │ continue │ else │ nothing │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:286 =# │ if typeof(child) <: Union{IDSvector, Vector{IDS}} │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:287 =# │ for (k, grand_child) = pairs(child) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:288 =# │ new_path = path * "." * String(field) * "[$(k)]" │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:289 =# │ flag_found = if parent_found │ true │ else │ is_target_found(ids, field, new_path, target) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:290 =# │ if include_subfields || !flag_found │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:291 =# │ push!(stack, (grand_child, new_path, flag_found)) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:293 =# │ end │ elseif #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:294 =# typeof(child) <: IDS │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:295 =# │ new_path = path * "." * String(field) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:296 =# │ flag_found = if parent_found │ true │ else │ is_target_found(ids, field, new_path, target) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:297 =# │ if include_subfields || !flag_found │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:298 =# │ push!(stack, (child, new_path, flag_found)) │ end │ else │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:301 =# │ new_path = path * "." * String(field) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:302 =# │ flag_found = if parent_found │ true │ else │ is_target_found(ids, field, new_path, target) │ end │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:305 =# │ if flag_found │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:306 =# │ if !(ismissing(ids, field)) │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:307 =# │ push!(IFF_list, IDS_Field_Finder(; parent_ids = ids, root_ids, field, field_type = fieldtype(typeof(ids), field), root_name, field_path = new_path)) │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:317 =# │ flag_found = false │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:319 =# │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:320 =# │ end │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:324 =# │ if length(IFF_list) == 1 │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:325 =# │ return IFF_list[1] │ else │ #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:327 =# │ return reverse!(IFF_list) │ end │ end) │ st0 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__ │ [macrocall] │ │ @doc :: Identifier │ mod │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211 =#) :: Value │ │ " findall(ids::Union{IDS, IDSvector}, target_fields::Union{Symbol,AbstractArray{Symbol},Regex}=r\"\"; include_subfields::Bool=true)\nSearches for specified fields within IDS objects, supporting nested field exploration and customizable filtering.\n\n# Arguments\n- `root_ids::Union{IDS, IDSvector}`: Root IDS objects to search.\n- `target_fields::Union{Symbol, AbstractArray{Symbol}, Regex} = r\"\"`: Fields to search for, specified by a single symbol, array of symbols, or regular expression.\n- `include_subfields::Bool = true`: If `true`, retrieves nested fields below the target field when found; if `false`, stops at the matching field.\n\n# Returns\n- `Vector{IDS_Field_Finder}`: A vector of `IDS_Field_Finder` structures, each containing details on a located field such as parent IDS, root IDS, field type, and full field path.\n\n# Example\n```julia-repl\njulia> findall(dd.equilibrium.time_slice[].global_quantities) # By default, it searches everything under given IDS\njulia> findall(dd.equilibrium.time_slice[].global_quantities, r\"\") # Same behavior (Default)\n\n# Find fields matching a single symbol within a IDS structure\njulia> IFF = findall(dd.equilibrium.time_slice, :psi)\n\n# Search for multiple symbols within multiple root IDS objects\njulia> IFF = findall([dd.equilibrium, dd.core_profiles], [:psi, :j_tor])\n\n# Use regular expressions for flexible and powerful search patterns\njulia> IFF = findall(dd, r\"prof.*1d.*psi\")\n\n# Control subfield inclusion using the `include_subfields` keyword\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=false)\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=true) # Default behavior\n\n# Default show for IFF (IDF_Field_Finder) structure\njulia> IFF\n\n# Retrieve actual values of found IDS objects (lazy evaluation)\njulia> IFF[1].value\njulia> IFF[end].value\n```\n" :: Value │ │ [function] │ │ [call] │ │ [.] │ │ Base :: Identifier │ │ [inert] │ │ findall :: Identifier │ │ [parameters] │ │ [kw] │ │ [::] │ │ include_subfields :: Identifier │ │ Bool :: Identifier │ │ true :: Value │ │ [kw] │ │ [::] │ │ root_name :: Identifier │ │ String :: Identifier │ │ "" :: Value │ │ [macrocall] │ │ @nospecialize :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) :: Value │ │ [::] │ │ root_ids :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [kw] │ │ [macrocall] │ │ @nospecialize :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) :: Value │ │ [::] │ │ target :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ Symbol :: Identifier │ │ [curly] │ │ AbstractArray :: Identifier │ │ Symbol :: Identifier │ │ Regex :: Identifier │ │ [macrocall] │ │ @r_str :: Identifier │ │ :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) :: Value │ │ "" :: Value │ │ [block] │ │ [=] │ │ root_name :: Identifier │ │ [if] │ │ [call] │ │ isempty :: Identifier │ │ root_name :: Identifier │ │ [call] │ │ location :: Identifier │ │ root_ids :: Identifier │ │ root_name :: Identifier │ │ [=] │ │ IFF_list :: Identifier │ │ [call] │ │ [curly] │ │ Vector :: Identifier │ │ IDS_Field_Finder :: Identifier │ │ [=] │ │ flag_found :: Identifier │ │ false :: Value │ │ [=] │ │ stack :: Identifier │ │ [call] │ │ [curly] │ │ Vector :: Identifier │ │ [curly] │ │ Tuple :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ IDS :: Identifier │ │ String :: Identifier │ │ Bool :: Identifier │ │ [call] │ │ sizehint! :: Identifier │ │ stack :: Identifier │ │ 1000 :: Value │ │ [if] │ │ [call] │ │ isa :: Identifier │ │ root_ids :: Identifier │ │ IDSvector :: Identifier │ │ [block] │ │ [=] │ │ parent_ids :: Identifier │ │ [.] │ │ [.] │ │ root_ids :: Identifier │ │ [inert] │ │ _parent :: Identifier │ │ [inert] │ │ value :: Identifier │ │ [call] │ │ push! :: Identifier │ │ stack :: Identifier │ │ [tuple] │ │ parent_ids :: Identifier │ │ [call] │ │ location :: Identifier │ │ parent_ids :: Identifier │ │ false :: Value │ │ [block] │ │ [call] │ │ push! :: Identifier │ │ stack :: Identifier │ │ [tuple] │ │ root_ids :: Identifier │ │ root_name :: Identifier │ │ false :: Value │ │ [function] │ │ [call] │ │ is_target_found :: Identifier │ │ [::] │ │ ids :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [::] │ │ field :: Identifier │ │ Symbol :: Identifier │ │ [::] │ │ path :: Identifier │ │ String :: Identifier │ │ [::] │ │ target :: Identifier │ │ Regex :: Identifier │ │ [block] │ │ [return] │ │ [call] │ │ occursin :: Identifier │ │ target :: Identifier │ │ path :: Identifier │ │ [function] │ │ [call] │ │ is_target_found :: Identifier │ │ [::] │ │ ids :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [::] │ │ field :: Identifier │ │ Symbol :: Identifier │ │ [::] │ │ path :: Identifier │ │ String :: Identifier │ │ [::] │ │ target :: Identifier │ │ Symbol :: Identifier │ │ [block] │ │ [return] │ │ [call] │ │ == :: Identifier │ │ field :: Identifier │ │ target :: Identifier │ │ [function] │ │ [call] │ │ is_target_found :: Identifier │ │ [::] │ │ ids :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDS :: Identifier │ │ IDSvector :: Identifier │ │ [::] │ │ field :: Identifier │ │ Symbol :: Identifier │ │ [::] │ │ path :: Identifier │ │ String :: Identifier │ │ [::] │ │ target :: Identifier │ │ [curly] │ │ AbstractArray :: Identifier │ │ Symbol :: Identifier │ │ [block] │ │ [return] │ │ [call] │ │ in :: Identifier │ │ field :: Identifier │ │ target :: Identifier │ │ [while] │ │ [call] │ │ ! :: Identifier │ │ [call] │ │ isempty :: Identifier │ │ stack :: Identifier │ │ [block] │ │ [=] │ │ [tuple] │ │ ids :: Identifier │ │ path :: Identifier │ │ parent_found :: Identifier │ │ [call] │ │ pop! :: Identifier │ │ stack :: Identifier │ │ [=] │ │ fields :: Identifier │ │ [call] │ │ filter :: Identifier │ │ [->] │ │ x :: Identifier │ │ [block] │ │ [call] │ │ ∉ :: Identifier │ │ x :: Identifier │ │ [.] │ │ IMASdd :: Identifier │ │ [inert] │ │ private_fields :: Identifier │ │ [call] │ │ fieldnames :: Identifier │ │ [call] │ │ typeof :: Identifier │ │ ids :: Identifier │ │ [for] │ │ [=] │ │ field :: Identifier │ │ fields :: Identifier │ │ [block] │ │ [=] │ │ child :: Identifier │ │ [call] │ │ getfield :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ [if] │ │ [call] │ │ isempty :: Identifier │ │ child :: Identifier │ │ [continue] │ │ nothing :: Identifier │ │ [if] │ │ [<:] │ │ [call] │ │ typeof :: Identifier │ │ child :: Identifier │ │ [curly] │ │ Union :: Identifier │ │ IDSvector :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ IDS :: Identifier │ │ [block] │ │ [for] │ │ [=] │ │ [tuple] │ │ k :: Identifier │ │ grand_child :: Identifier │ │ [call] │ │ pairs :: Identifier │ │ child :: Identifier │ │ [block] │ │ [=] │ │ new_path :: Identifier │ │ [call] │ │ * :: Identifier │ │ path :: Identifier │ │ "." :: Value │ │ [call] │ │ String :: Identifier │ │ field :: Identifier │ │ [string] │ │ "[" :: Value │ │ k :: Identifier │ │ "]" :: Value │ │ [=] │ │ flag_found :: Identifier │ │ [if] │ │ parent_found :: Identifier │ │ true :: Value │ │ [call] │ │ is_target_found :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ new_path :: Identifier │ │ target :: Identifier │ │ [if] │ │ [||] │ │ include_subfields :: Identifier │ │ [call] │ │ ! :: Identifier │ │ flag_found :: Identifier │ │ [block] │ │ [call] │ │ push! :: Identifier │ │ stack :: Identifier │ │ [tuple] │ │ grand_child :: Identifier │ │ new_path :: Identifier │ │ flag_found :: Identifier │ │ [elseif] │ │ [block] │ │ [<:] │ │ [call] │ │ typeof :: Identifier │ │ child :: Identifier │ │ IDS :: Identifier │ │ [block] │ │ [=] │ │ new_path :: Identifier │ │ [call] │ │ * :: Identifier │ │ path :: Identifier │ │ "." :: Value │ │ [call] │ │ String :: Identifier │ │ field :: Identifier │ │ [=] │ │ flag_found :: Identifier │ │ [if] │ │ parent_found :: Identifier │ │ true :: Value │ │ [call] │ │ is_target_found :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ new_path :: Identifier │ │ target :: Identifier │ │ [if] │ │ [||] │ │ include_subfields :: Identifier │ │ [call] │ │ ! :: Identifier │ │ flag_found :: Identifier │ │ [block] │ │ [call] │ │ push! :: Identifier │ │ stack :: Identifier │ │ [tuple] │ │ child :: Identifier │ │ new_path :: Identifier │ │ flag_found :: Identifier │ │ [block] │ │ [=] │ │ new_path :: Identifier │ │ [call] │ │ * :: Identifier │ │ path :: Identifier │ │ "." :: Value │ │ [call] │ │ String :: Identifier │ │ field :: Identifier │ │ [=] │ │ flag_found :: Identifier │ │ [if] │ │ parent_found :: Identifier │ │ true :: Value │ │ [call] │ │ is_target_found :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ new_path :: Identifier │ │ target :: Identifier │ │ [if] │ │ flag_found :: Identifier │ │ [block] │ │ [if] │ │ [call] │ │ ! :: Identifier │ │ [call] │ │ ismissing :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ [block] │ │ [call] │ │ push! :: Identifier │ │ IFF_list :: Identifier │ │ [call] │ │ IDS_Field_Finder :: Identifier │ │ [parameters] │ │ [kw] │ │ parent_ids :: Identifier │ │ ids :: Identifier │ │ root_ids :: Identifier │ │ field :: Identifier │ │ [kw] │ │ field_type :: Identifier │ │ [call] │ │ fieldtype :: Identifier │ │ [call] │ │ typeof :: Identifier │ │ ids :: Identifier │ │ field :: Identifier │ │ root_name :: Identifier │ │ [kw] │ │ field_path :: Identifier │ │ new_path :: Identifier │ │ [=] │ │ flag_found :: Identifier │ │ false :: Value │ │ [if] │ │ [call] │ │ == :: Identifier │ │ [call] │ │ length :: Identifier │ │ IFF_list :: Identifier │ │ 1 :: Value │ │ [block] │ │ [return] │ │ [ref] │ │ IFF_list :: Identifier │ │ 1 :: Value │ │ [block] │ │ [return] │ │ [call] │ │ reverse! :: Identifier │ │ IFF_list :: Identifier │ │ │ st1 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source │ [block] │ │ [=] │ │ val :: Identifier │ scope_layer=3 │ [function] │ │ [call] │ │ [.] │ │ Base :: Identifier │ scope_layer=1 │ [inert] │ │ findall :: Identifier │ │ [parameters] │ │ [kw] │ │ [::] │ │ include_subfields :: Identifier │ scope_layer=1 │ Bool :: Identifier │ scope_layer=1 │ true :: Value │ macro_source=420 │ [kw] │ │ [::] │ │ root_name :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ "" :: Value │ macro_source=420 │ [meta] │ │ nospecialize :: Identifier │ scope_layer=1 │ [::] │ │ root_ids :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [kw] │ │ [meta] │ │ nospecialize :: Identifier │ scope_layer=1 │ [::] │ │ target :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractArray :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ Regex :: Identifier │ scope_layer=1 │ r"" :: Value │ macro_source=420 │ [block] │ │ [=] │ │ root_name :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ isempty :: Identifier │ scope_layer=1 │ root_name :: Identifier │ scope_layer=1 │ [call] │ │ location :: Identifier │ scope_layer=1 │ root_ids :: Identifier │ scope_layer=1 │ root_name :: Identifier │ scope_layer=1 │ [=] │ │ IFF_list :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ IDS_Field_Finder :: Identifier │ scope_layer=1 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=420 │ [=] │ │ stack :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ Bool :: Identifier │ scope_layer=1 │ [call] │ │ sizehint! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ 1000 :: Value │ macro_source=420 │ [if] │ │ [call] │ │ isa :: Identifier │ scope_layer=1 │ root_ids :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ parent_ids :: Identifier │ scope_layer=1 │ [.] │ │ [.] │ │ root_ids :: Identifier │ scope_layer=1 │ [inert] │ │ _parent :: Identifier │ │ [inert] │ │ value :: Identifier │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [tuple] │ │ parent_ids :: Identifier │ scope_layer=1 │ [call] │ │ location :: Identifier │ scope_layer=1 │ parent_ids :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=420 │ [block] │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [tuple] │ │ root_ids :: Identifier │ scope_layer=1 │ root_name :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=420 │ [function] │ │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ [::] │ │ ids :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [::] │ │ field :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [::] │ │ path :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ [::] │ │ target :: Identifier │ scope_layer=1 │ Regex :: Identifier │ scope_layer=1 │ [block] │ │ [return] │ │ [call] │ │ occursin :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ [function] │ │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ [::] │ │ ids :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [::] │ │ field :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [::] │ │ path :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ [::] │ │ target :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [block] │ │ [return] │ │ [call] │ │ == :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [function] │ │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ [::] │ │ ids :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [::] │ │ field :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [::] │ │ path :: Identifier │ scope_layer=1 │ String :: Identifier │ scope_layer=1 │ [::] │ │ target :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractArray :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [block] │ │ [return] │ │ [call] │ │ in :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [while] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ [call] │ │ isempty :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [tuple] │ │ ids :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ parent_found :: Identifier │ scope_layer=1 │ [call] │ │ pop! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [=] │ │ fields :: Identifier │ scope_layer=1 │ [call] │ │ filter :: Identifier │ scope_layer=1 │ [->] │ │ x :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ ∉ :: Identifier │ scope_layer=1 │ x :: Identifier │ scope_layer=1 │ [.] │ │ IMASdd :: Identifier │ scope_layer=1 │ [inert] │ │ private_fields :: Identifier │ │ [call] │ │ fieldnames :: Identifier │ scope_layer=1 │ [call] │ │ typeof :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ [for] │ │ [=] │ │ field :: Identifier │ scope_layer=1 │ fields :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ child :: Identifier │ scope_layer=1 │ [call] │ │ getfield :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [if] │ │ [call] │ │ isempty :: Identifier │ scope_layer=1 │ child :: Identifier │ scope_layer=1 │ [continue] │ macro_source=420 │ nothing :: Identifier │ scope_layer=1 │ [if] │ │ [<:] │ scope_layer=1 │ [call] │ │ typeof :: Identifier │ scope_layer=1 │ child :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ [block] │ │ [for] │ │ [=] │ │ [tuple] │ │ k :: Identifier │ scope_layer=1 │ grand_child :: Identifier │ scope_layer=1 │ [call] │ │ pairs :: Identifier │ scope_layer=1 │ child :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ new_path :: Identifier │ scope_layer=1 │ [call] │ │ * :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ "." :: Value │ macro_source=420 │ [call] │ │ String :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [string] │ │ "[" :: Value │ macro_source=420 │ k :: Identifier │ scope_layer=1 │ "]" :: Value │ macro_source=420 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ [if] │ │ parent_found :: Identifier │ scope_layer=1 │ true :: Value │ macro_source=420 │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [if] │ │ [||] │ │ include_subfields :: Identifier │ scope_layer=1 │ [call] │ │ ! :: Identifier │ scope_layer=1 │ flag_found :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [tuple] │ │ grand_child :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ flag_found :: Identifier │ scope_layer=1 │ [elseif] │ │ [block] │ │ [<:] │ scope_layer=1 │ [call] │ │ typeof :: Identifier │ scope_layer=1 │ child :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ new_path :: Identifier │ scope_layer=1 │ [call] │ │ * :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ "." :: Value │ macro_source=420 │ [call] │ │ String :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ [if] │ │ parent_found :: Identifier │ scope_layer=1 │ true :: Value │ macro_source=420 │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [if] │ │ [||] │ │ include_subfields :: Identifier │ scope_layer=1 │ [call] │ │ ! :: Identifier │ scope_layer=1 │ flag_found :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ stack :: Identifier │ scope_layer=1 │ [tuple] │ │ child :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ flag_found :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ new_path :: Identifier │ scope_layer=1 │ [call] │ │ * :: Identifier │ scope_layer=1 │ path :: Identifier │ scope_layer=1 │ "." :: Value │ macro_source=420 │ [call] │ │ String :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ [if] │ │ parent_found :: Identifier │ scope_layer=1 │ true :: Value │ macro_source=420 │ [call] │ │ is_target_found :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ target :: Identifier │ scope_layer=1 │ [if] │ │ flag_found :: Identifier │ scope_layer=1 │ [block] │ │ [if] │ │ [call] │ │ ! :: Identifier │ scope_layer=1 │ [call] │ │ ismissing :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ push! :: Identifier │ scope_layer=1 │ IFF_list :: Identifier │ scope_layer=1 │ [call] │ │ IDS_Field_Finder :: Identifier │ scope_layer=1 │ [parameters] │ │ [kw] │ │ parent_ids :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ root_ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ [kw] │ │ field_type :: Identifier │ scope_layer=1 │ [call] │ │ fieldtype :: Identifier │ scope_layer=1 │ [call] │ │ typeof :: Identifier │ scope_layer=1 │ ids :: Identifier │ scope_layer=1 │ field :: Identifier │ scope_layer=1 │ root_name :: Identifier │ scope_layer=1 │ [kw] │ │ field_path :: Identifier │ scope_layer=1 │ new_path :: Identifier │ scope_layer=1 │ [=] │ │ flag_found :: Identifier │ scope_layer=1 │ false :: Value │ macro_source=420 │ [if] │ │ [call] │ │ == :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ IFF_list :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=420 │ [block] │ │ [return] │ │ [ref] │ │ IFF_list :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=420 │ [block] │ │ [return] │ │ [call] │ │ reverse! :: Identifier │ scope_layer=1 │ IFF_list :: Identifier │ scope_layer=1 │ [call] │ │ Base.Docs.doc! :: Value │ macro_source=420 │ IMASdd :: Value │ macro_source=420 │ [call] │ │ Base.Docs.Binding :: Value │ macro_source=420 │ Base :: Identifier │ scope_layer=1 │ [inert] │ │ findall :: Identifier │ │ [call] │ macro_source=420 │ Base.Docs.docstr :: Value │ macro_source=420 │ [call] │ macro_source=420 │ Core.svec :: Value │ macro_source=420 │ " findall(ids::Union{IDS, IDSvector}, target_fields::Union{Symbol,AbstractArray{Symbol},Regex}=r\"\"; include_subfields::Bool=true)\nSearches for specified fields within IDS objects, supporting nested field exploration and customizable filtering.\n\n# Arguments\n- `root_ids::Union{IDS, IDSvector}`: Root IDS objects to search.\n- `target_fields::Union{Symbol, AbstractArray{Symbol}, Regex} = r\"\"`: Fields to search for, specified by a single symbol, array of symbols, or regular expression.\n- `include_subfields::Bool = true`: If `true`, retrieves nested fields below the target field when found; if `false`, stops at the matching field.\n\n# Returns\n- `Vector{IDS_Field_Finder}`: A vector of `IDS_Field_Finder` structures, each containing details on a located field such as parent IDS, root IDS, field type, and full field path.\n\n# Example\n```julia-repl\njulia> findall(dd.equilibrium.time_slice[].global_quantities) # By default, it searches everything under given IDS\njulia> findall(dd.equilibrium.time_slice[].global_quantities, r\"\") # Same behavior (Default)\n\n# Find fields matching a single symbol within a IDS structure\njulia> IFF = findall(dd.equilibrium.time_slice, :psi)\n\n# Search for multiple symbols within multiple root IDS objects\njulia> IFF = findall([dd.equilibrium, dd.core_profiles], [:psi, :j_tor])\n\n# Use regular expressions for flexible and powerful search patterns\njulia> IFF = findall(dd, r\"prof.*1d.*psi\")\n\n# Control subfield inclusion using the `include_subfields` keyword\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=false)\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=true) # Default behavior\n\n# Default show for IFF (IDF_Field_Finder) structure\njulia> IFF\n\n# Retrieve actual values of found IDS objects (lazy evaluation)\njulia> IFF[1].value\njulia> IFF[end].value\n```\n" :: Value │ macro_source=420 │ [call] │ macro_source=420 │ Dict{Symbol, Any} :: Value │ macro_source=420 │ :path => "/home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl" :: Value │ macro_source=420 │ :linenumber => 211 :: Value │ macro_source=420 │ :module => IMASdd :: Value │ macro_source=420 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ IDS :: Identifier │ scope_layer=1 │ IDSvector :: Identifier │ scope_layer=1 │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ [curly] │ │ AbstractArray :: Identifier │ scope_layer=1 │ Symbol :: Identifier │ scope_layer=1 │ Regex :: Identifier │ scope_layer=1 │ val :: Identifier │ scope_layer=3 │ │ file = "/home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl" │ line = 211 └ mod = IMASdd ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =# - expected identifier or `identifier::type` Expression:  (meta nospecialize (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex))) Containing expressions:  (function (call (. Base (inert findall)) (parameters (kw (:: include_subfields Bool) true) (kw (:: root_name String) "")) (meta nospecialize (:: root_ids (curly Union IDS IDSvector))) (kw (meta nospecialize (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex))) r"")) (block (= root_name (if (call isempty root_name) (call location root_ids) root_name)) (= IFF_list (call (curly Vector IDS_Field_Finder))) (= flag_found false) (= stack (call (curly Vector (curly Tuple (curly Union IDS IDSvector (curly Vector IDS)) String Bool)))) (call sizehint! stack 1000) (if (call isa root_ids IDSvector) (block (= parent_ids (. (. root_ids (inert _parent)) (inert value))) (call push! stack (tuple parent_ids (call location parent_ids) false))) (block (call push! stack (tuple root_ids root_name false)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target Regex)) (block (return (call occursin target path)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target Symbol)) (block (return (call == field target)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target (curly AbstractArray Symbol))) (block (return (call in field target)))) (while (call ! (call isempty stack)) (block (= (tuple ids path parent_found) (call pop! stack)) (= fields (call filter (-> x (block (call ∉ x (. IMASdd (inert private_fields))))) (call fieldnames (call typeof ids)))) (for (= field fields) (block (= child (call getfield ids field)) (if (call isempty child) (continue) nothing) (if (<: (call typeof child) (curly Union IDSvector (curly Vector IDS))) (block (for (= (tuple k grand_child) (call pairs child)) (block (= new_path (call * path "." (call String field) (string "[" k "]"))) (= flag_found (if parent_found true (call is_target_found ids field new_path target))) (if (|| include_subfields (call ! flag_found)) (block (call push! stack (tuple grand_child new_path flag_found))))))) (elseif (block (<: (call typeof child) IDS)) (block (= new_path (call * path "." (call String field))) (= flag_found (if parent_found true (call is_target_found ids field new_path target))) (if (|| include_subfields (call ! flag_found)) (block (call push! stack (tuple child new_path flag_found))))) (block (= new_path (call * path "." (call String field))) (= flag_found (if parent_found true (call is_target_found ids field new_path target)))))) (if flag_found (block (if (call ! (call ismissing ids field)) (block (call push! IFF_list (call IDS_Field_Finder (parameters (kw parent_ids ids) root_ids field (kw field_type (call fieldtype (call typeof ids) field)) root_name (kw field_path new_path)))))) (= flag_found false))))))) (if (call == (call length IFF_list) 1) (block (return (ref IFF_list 1))) (block (return (call reverse! IFF_list))))))  Detailed provenance:  (meta nospecialize (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex)))  └─ (meta nospecialize (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex)))  ├─ @ /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211 =#) " findall(ids::Union{IDS, IDSvector}, target_fields::Union{Symbol,AbstractArray{Symbol},Regex}=r\"\"; include_subfields::Bool=true)\nSearches for specified fields within IDS objects, supporting nested field exploration and customizable filtering.\n\n# Arguments\n- `root_ids::Union{IDS, IDSvector}`: Root IDS objects to search.\n- `target_fields::Union{Symbol, AbstractArray{Symbol}, Regex} = r\"\"`: Fields to search for, specified by a single symbol, array of symbols, or regular expression.\n- `include_subfields::Bool = true`: If `true`, retrieves nested fields below the target field when found; if `false`, stops at the matching field.\n\n# Returns\n- `Vector{IDS_Field_Finder}`: A vector of `IDS_Field_Finder` structures, each containing details on a located field such as parent IDS, root IDS, field type, and full field path.\n\n# Example\n```julia-repl\njulia> findall(dd.equilibrium.time_slice[].global_quantities) # By default, it searches everything under given IDS\njulia> findall(dd.equilibrium.time_slice[].global_quantities, r\"\") # Same behavior (Default)\n\n# Find fields matching a single symbol within a IDS structure\njulia> IFF = findall(dd.equilibrium.time_slice, :psi)\n\n# Search for multiple symbols within multiple root IDS objects\njulia> IFF = findall([dd.equilibrium, dd.core_profiles], [:psi, :j_tor])\n\n# Use regular expressions for flexible and powerful search patterns\njulia> IFF = findall(dd, r\"prof.*1d.*psi\")\n\n# Control subfield inclusion using the `include_subfields` keyword\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=false)\njulia> IFF = findall(dd, r\"prof.*2d\"; include_subfields=true) # Default behavior\n\n# Default show for IFF (IDF_Field_Finder) structure\njulia> IFF\n\n# Retrieve actual values of found IDS objects (lazy evaluation)\njulia> IFF[1].value\njulia> IFF[end].value\n```\n" (function (call (. Base (inert findall)) (parameters (kw (:: include_subfields Bool) true) (kw (:: root_name String) "")) (macrocall @nospecialize :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) (:: root_ids (curly Union IDS IDSvector))) (kw (macrocall @nospecialize :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) (:: target (curly Union Symbol (curly AbstractArray Symbol) Regex))) (macrocall @r_str :(#= /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:249 =#) ""))) (block (= root_name (if (call isempty root_name) (call location root_ids) root_name)) (= IFF_list (call (curly Vector IDS_Field_Finder))) (= flag_found false) (= stack (call (curly Vector (curly Tuple (curly Union IDS IDSvector (curly Vector IDS)) String Bool)))) (call sizehint! stack 1000) (if (call isa root_ids IDSvector) (block (= parent_ids (. (. root_ids (inert _parent)) (inert value))) (call push! stack (tuple parent_ids (call location parent_ids) false))) (block (call push! stack (tuple root_ids root_name false)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target Regex)) (block (return (call occursin target path)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target Symbol)) (block (return (call == field target)))) (function (call is_target_found (:: ids (curly Union IDS IDSvector)) (:: field Symbol) (:: path String) (:: target (curly AbstractArray Symbol))) (block (return (call in field target)))) (while (call ! (call isempty stack)) (block (= (tuple ids path parent_found) (call pop! stack)) (= fields (call filter (-> x (block (call ∉ x (. IMASdd (inert private_fields))))) (call fieldnames (call typeof ids)))) (for (= field fields) (block (= child (call getfield ids field)) (if (call isempty child) (continue) nothing) (if (<: (call typeof child) (curly Union IDSvector (curly Vector IDS))) (block (for (= (tuple k grand_child) (call pairs child)) (block (= new_path (call * path "." (call String field) (string "[" k "]"))) (= flag_found (if parent_found true (call is_target_found ids field new_path target))) (if (|| include_subfields (call ! flag_found)) (block (call push! stack (tuple grand_child new_path flag_found))))))) (elseif (block (<: (call typeof child) IDS)) (block (= new_path (call * path "." (call String field))) (= flag_found (if parent_found true (call is_target_found ids field new_path target))) (if (|| include_subfields (call ! flag_found)) (block (call push! stack (tuple child new_path flag_found))))) (block (= new_path (call * path "." (call String field))) (= flag_found (if parent_found true (call is_target_found ids field new_path target)))))) (if flag_found (block (if (call ! (call ismissing ids field)) (block (call push! IFF_list (call IDS_Field_Finder (parameters (kw parent_ids ids) root_ids field (kw field_type (call fieldtype (call typeof ids) field)) root_name (kw field_path new_path)))))) (= flag_found false))))))) (if (call == (call length IFF_list) 1) (block (return (ref IFF_list 1))) (block (return (call reverse! IFF_list)))))))  └─ @ /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211  Stacktrace:  [1] expand_forms_2(ctx::Base.JuliaLowering.MacroExpansionContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/desugaring.jl:4448  [2] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:30  [3] include(mapexpr::Function, mod::Module, _path::String)  @ Base Base.jl:327  [4] top-level scope  @ ~/.julia/packages/IMASdd/ek0Qq/src/IMASdd.jl:19  [5] include(mod::Module, _path::String)  @ Base Base.jl:326  [6] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base loading.jl:3296  [7] top-level scope  @ stdin:5  [8] eval(m::Module, e::Any)  @ Core boot.jl:521  [9] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base loading.jl:3132  [10] include_string(m::Module, txt::String, fname::String)  @ Base loading.jl:3142 [inlined]  [11] exec_options(opts::Base.JLOptions)  @ Base client.jl:353  [12] _start()  @ Base client.jl:596 in expression starting at /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/findall.jl:211 in expression starting at /home/pkgeval/.julia/packages/IMASdd/ek0Qq/src/IMASdd.jl:1 in expression starting at stdin:5 2 dependencies had output during precompilation: ┌ DataInterpolations │ ERROR: LoadError: LoweringError: │ #= /home/pkgeval/.julia/packages/EnumX/CGSQY/src/EnumX.jl:122 =# - Expected module name │ Expression: │ (escape ExtrapolationType) │ Containing expressions: │ (module false (escape ExtrapolationType) (block (primitive (<: T (curly Enum Int32)) 32) (let (= value_name_map Dict{Int32, Symbol}(3 => :Extension, 2 => :Linear, 1 => :Constant, 5 => :Reflective, 4 => :Periodic, 0 => :None)) (block (= (call check_valid x) (block (|| (call in x (call keys value_name_map)) (call throw (call ArgumentError (string "invalid value for Enum " (inert ExtrapolationType) ": " x ".")))))) (global (function (call (escape T) (:: x Integer)) (block (call check_valid x) (return (call (. Base (inert bitcast)) (escape T) (call convert Int32 x)))))) (= (call (. (. Base (inert Enums)) (inert namemap)) (:: (curly (. Base (inert Type)) (escape T)))) (block value_name_map)) (= (call (. (. Base (inert Enums)) (inert instances)) (:: (curly (. Base (inert Type)) (escape T)))) (block (tuple (escape None) (escape Constant) (escape Linear) (escape Extension) (escape Periodic) (escape Reflective)))) (= (call (. EnumX (inert symbol_map)) (:: (curly (. Base (inert Type)) (escape T)))) (block Pair{Symbol, Int32}[:None => 0, :Constant => 1, :Linear => 2, :Extension => 3, :Periodic => 4, :Reflective => 5])))) (escape (public T None Constant Linear Extension Periodic Reflective)) (const (= (escape None) (call (escape T) 0))) (const (= (escape Constant) (call (escape T) 1))) (const (= (escape Linear) (call (escape T) 2))) (const (= (escape Extension) (call (escape T) 3))) (const (= (escape Periodic) (call (escape T) 4))) (const (= (escape Reflective) (call (escape T) 5))))) │ │ Detailed provenance: │ (escape ExtrapolationType) │ └─ (escape ExtrapolationType) │ ├─ @ /home/pkgeval/.julia/packages/EnumX/CGSQY/src/EnumX.jl:122 │ └─ (macrocall @enumx :(#= /home/pkgeval/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14 =#) ExtrapolationType None Constant Linear Extension Periodic Reflective) │ └─ @ /home/pkgeval/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14 │ │ Stacktrace: │ [1] lower_step(iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}, mod::Module, world::UInt64; soft_scope::Nothing) │ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:81 │ [2] lower_step(iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}, mod::Module, world::UInt64; soft_scope::Nothing) │ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:72 │ [3] _eval(mod::Module, iter::Base.JuliaLowering.LoweringIterator{Dict{Symbol, Dict{Int64, Any}}}; soft_scope::Nothing) │ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:530 │ [4] eval(mod::Module, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}}; macro_world::UInt64, soft_scope::Nothing, opts::@Kwargs{expr_compat_mode::Bool}) │ @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/eval.jl:518 [inlined] │ [5] top-level scope │ @ ~/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14 │ [6] macro expansion │ @ ~/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:14 [inlined] │ [7] include(mod::Module, _path::String) │ @ Base Base.jl:326 │ [8] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing) │ @ Base loading.jl:3296 │ [9] top-level scope │ @ stdin:5 │ [10] eval(m::Module, e::Any) │ @ Core boot.jl:521 │ [11] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String) │ @ Base loading.jl:3132 │ [12] include_string(m::Module, txt::String, fname::String) │ @ Base loading.jl:3142 [inlined] │ [13] exec_options(opts::Base.JLOptions) │ @ Base client.jl:353 │ [14] _start() │ @ Base client.jl:596 │ in expression starting at /home/pkgeval/.julia/packages/DataInterpolations/j0nfa/src/DataInterpolations.jl:1 │ in expression starting at stdin:5 └ ┌ IMASdd │ [Output was shown above] └ ERROR: LoadError: The following 2 packages failed to precompile: DataInterpolations Failed to precompile DataInterpolations [82cc6244-b520-54b8-b5a6-8a565e85f1d0] to "/home/pkgeval/.julia/compiled/v1.14/DataInterpolations/jl_HButuN" (ProcessExited(1)). IMASdd Failed to precompile IMASdd [c5a45a97-b3f9-491c-b9a7-aa88c3bc0067] to "/home/pkgeval/.julia/compiled/v1.14/IMASdd/jl_Uz9Ctf" (ProcessExited(1)). in expression starting at /home/pkgeval/.julia/packages/IMASdd/ek0Qq/test/runtests_concrete.jl:1 in expression starting at /home/pkgeval/.julia/packages/IMASdd/ek0Qq/test/runtests.jl:2 Testing failed after 238.07s ERROR: LoadError: Package IMASdd errored during testing Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Types.jl:68 [2] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool) @ Pkg.Operations /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:3247 [3] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::@Kwargs{io::IOContext{IO}}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:587 [4] test(pkgs::Vector{PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:172 [5] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [6] test(pkg::String; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:159 [inlined] [7] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:223 [8] include(mod::Module, _path::String) @ Base Base.jl:326 [9] exec_options(opts::Base.JLOptions) @ Base client.jl:355 [10] _start() @ Base client.jl:596 in expression starting at /PkgEval.jl/scripts/evaluate.jl:214 PkgEval failed after 1906.17s: package fails to precompile