Skip to content

Commit 2fcac04

Browse files
committed
Make getproperty return BasicSymbolic if applicable
1 parent 4d00726 commit 2fcac04

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/types.jl

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,24 @@ function Base.getproperty(x::BasicSymbolic, sym::Symbol)
9797
return getfield(x, :meta).this
9898
elseif sym === :expr || sym === :meta
9999
return getfield(x, sym)
100+
elseif sym === :base || sym === :num
101+
bsi = getproperty(getfield(x, :expr), sym)
102+
if bsi isa BasicSymbolicImpl
103+
mdi = getfield(x, :meta).children[1]
104+
return BasicSymbolic(bsi, mdi)
105+
else
106+
return bsi
107+
end
108+
elseif sym === :exp || sym === :den
109+
bsi = getproperty(getfield(x, :expr), sym)
110+
if bsi isa BasicSymbolicImpl
111+
mdi = getfield(x, :meta).children[2]
112+
return BasicSymbolic(bsi, mdi)
113+
else
114+
return bsi
115+
end
100116
else
101-
return getproperty(x.expr, sym)
117+
return getproperty(getfield(x, :expr), sym)
102118
end
103119
end
104120

0 commit comments

Comments
 (0)