Skip to content

Commit 76805be

Browse files
Merge pull request #3179 from hersle/extend_description_consistently
Extend description and name in the same way
2 parents f19a5bf + 9e04b03 commit 76805be

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/systems/abstractsystem.jl

+8-8
Original file line numberDiff line numberDiff line change
@@ -2995,13 +2995,14 @@ end
29952995
"""
29962996
$(TYPEDSIGNATURES)
29972997
2998-
Extend the `basesys` with `sys`, the resulting system would inherit `sys`'s name
2999-
by default.
2998+
Extend `basesys` with `sys`.
2999+
By default, the resulting system inherits `sys`'s name and description.
30003000
30013001
See also [`compose`](@ref).
30023002
"""
3003-
function extend(sys::AbstractSystem, basesys::AbstractSystem; name::Symbol = nameof(sys),
3004-
gui_metadata = get_gui_metadata(sys))
3003+
function extend(sys::AbstractSystem, basesys::AbstractSystem;
3004+
name::Symbol = nameof(sys), description = description(sys),
3005+
gui_metadata = get_gui_metadata(sys))
30053006
T = SciMLBase.parameterless_type(basesys)
30063007
ivs = independent_variables(basesys)
30073008
if !(sys isa T)
@@ -3023,13 +3024,12 @@ function extend(sys::AbstractSystem, basesys::AbstractSystem; name::Symbol = nam
30233024
cevs = union(get_continuous_events(basesys), get_continuous_events(sys))
30243025
devs = union(get_discrete_events(basesys), get_discrete_events(sys))
30253026
defs = merge(get_defaults(basesys), get_defaults(sys)) # prefer `sys`
3026-
desc = join(filter(desc -> !isempty(desc), description.([sys, basesys])), " ") # concatenate non-empty descriptions with space
30273027
meta = union_nothing(get_metadata(basesys), get_metadata(sys))
30283028
syss = union(get_systems(basesys), get_systems(sys))
30293029
args = length(ivs) == 0 ? (eqs, sts, ps) : (eqs, ivs[1], sts, ps)
30303030
kwargs = (parameter_dependencies = dep_ps, observed = obs, continuous_events = cevs,
30313031
discrete_events = devs, defaults = defs, systems = syss, metadata = meta,
3032-
name = name, description = desc, gui_metadata = gui_metadata)
3032+
name = name, description = description, gui_metadata = gui_metadata)
30333033

30343034
# collect fields specific to some system types
30353035
if basesys isa ODESystem
@@ -3041,8 +3041,8 @@ function extend(sys::AbstractSystem, basesys::AbstractSystem; name::Symbol = nam
30413041
return T(args...; kwargs...)
30423042
end
30433043

3044-
function Base.:(&)(sys::AbstractSystem, basesys::AbstractSystem; name::Symbol = nameof(sys))
3045-
extend(sys, basesys; name = name)
3044+
function Base.:(&)(sys::AbstractSystem, basesys::AbstractSystem; kwargs...)
3045+
extend(sys, basesys; kwargs...)
30463046
end
30473047

30483048
"""

0 commit comments

Comments
 (0)