@@ -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
30013001See 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... )
30423042end
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 ... )
30463046end
30473047
30483048"""
0 commit comments