@@ -948,7 +948,7 @@ by default.
948
948
function extend (sys:: AbstractSystem , basesys:: AbstractSystem ; name:: Symbol = nameof (sys))
949
949
T = SciMLBase. parameterless_type (basesys)
950
950
ivs = independent_variables (basesys)
951
- if ! (typeof ( sys) <: T )
951
+ if ! (sys isa T)
952
952
if length (ivs) == 0
953
953
sys = convert_system (T, sys)
954
954
elseif length (ivs) == 1
@@ -958,11 +958,11 @@ function extend(sys::AbstractSystem, basesys::AbstractSystem; name::Symbol=nameo
958
958
end
959
959
end
960
960
961
- eqs = union (equations (basesys), equations (sys))
962
- sts = union (states (basesys), states (sys))
963
- ps = union (parameters (basesys), parameters (sys))
964
- obs = union (observed (basesys), observed (sys))
965
- defs = merge (defaults (basesys), defaults (sys)) # prefer `sys`
961
+ eqs = union (get_eqs (basesys), get_eqs (sys))
962
+ sts = union (get_states (basesys), get_states (sys))
963
+ ps = union (get_ps (basesys), get_ps (sys))
964
+ obs = union (get_observed (basesys), get_observed (sys))
965
+ defs = merge (get_defaults (basesys), get_defaults (sys)) # prefer `sys`
966
966
syss = union (get_systems (basesys), get_systems (sys))
967
967
968
968
if length (ivs) == 0
@@ -984,7 +984,7 @@ function compose(sys::AbstractSystem, systems::AbstractArray{<:AbstractSystem};
984
984
nsys = length (systems)
985
985
nsys >= 1 || throw (ArgumentError (" There must be at least 1 subsystem. Got $nsys subsystems." ))
986
986
@set! sys. name = name
987
- @set! sys. systems = systems
987
+ @set! sys. systems = [ get_systems (sys); systems]
988
988
return sys
989
989
end
990
990
compose (syss:: AbstractSystem... ; name= nameof (first (syss))) = compose (first (syss), collect (syss[2 : end ]); name= name)
0 commit comments