Skip to content

Commit f3b6bb7

Browse files
committed
Fix different targets
1 parent 11b105c commit f3b6bb7

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/build_function.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ function numbered_expr(O::Union{Term,Sym},args...;varordering = args[1],offset =
479479
end
480480
end
481481
end
482-
return Expr(:call, O isa Sym ? nameof(O) : tosymbol(O.op),
482+
return Expr(:call, O isa Sym ? tosymbol(O, escape=false) : Symbol(O.op),
483483
[numbered_expr(x,args...;offset=offset,lhsname=lhsname,
484484
rhsnames=rhsnames,varordering=varordering) for x in O.args]...)
485485
end
@@ -489,7 +489,7 @@ function numbered_expr(de::ModelingToolkit.Equation,args...;varordering = args[1
489489

490490
varordering = value.(args[1])
491491
var = var_from_nested_derivative(de.lhs)[1]
492-
i = findfirst(x->isequal(tosymbol(x isa Sym ? x : x.op), tosymbol(var)),varordering)
492+
i = findfirst(x->isequal(tosymbol(x isa Sym ? x : x.op, escape=false), tosymbol(var, escape=false)),varordering)
493493
:($lhsname[$(i+offset)] = $(numbered_expr(de.rhs,args...;offset=offset,
494494
varordering = varordering,
495495
lhsname = lhsname,

src/systems/diffeqs/abstractodesystem.jl

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,15 @@ Base.Symbol(x::Union{Num,Symbolic}) = tosymbol(x)
7272
tosymbol(x; kwargs...) = x
7373
tosymbol(x::Sym; kwargs...) = nameof(x)
7474
tosymbol(t::Num; kwargs...) = tosymbol(value(t); kwargs...)
75-
function tosymbol(t::Term; states=nothing)
75+
76+
"""
77+
tosymbol(x::Union{Num,Symbolic}; states=nothing, escape=true) -> Symbol
78+
79+
Convert `x` to a symbol. `states` are the states of a system, and `escape`
80+
means if the target has escapes like `val"y⦗t⦘"`. If `escape` then it will only
81+
output `y` instead of `y⦗t⦘`.
82+
"""
83+
function tosymbol(t::Term; states=nothing, escape=true)
7684
if t.op isa Sym
7785
if states !== nothing && !(any(isequal(t), states))
7886
return nameof(t.op)
@@ -91,7 +99,7 @@ function tosymbol(t::Term; states=nothing)
9199
@goto err
92100
end
93101

94-
return Symbol(op, "", join(args, ", "), "")
102+
return escape ? Symbol(op, "", join(args, ", "), "") : op
95103
@label err
96104
error("Cannot convert $t to a symbol")
97105
end

0 commit comments

Comments
 (0)