Skip to content

Commit d31461e

Browse files
committed
added get and set for VarName
1 parent 253dffe commit d31461e

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/varname.jl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,24 @@ julia> getindexing(@varname(y))
8888
"""
8989
getindexing(vn::VarName) = vn.indexing
9090

91+
"""
92+
get(obj, vn::VarName{sym})
93+
94+
Alias for `get(obj, PropertyLens{sym}() ∘ vn.indexing)`.
95+
"""
96+
function Setfield.get(obj, vn::VarName{sym}) where {sym}
97+
return Setfield.get(obj, PropertyLens{sym}() vn.indexing)
98+
end
99+
100+
"""
101+
set(obj, vn::VarName{sym}, value)
102+
103+
Alias for `set(obj, PropertyLens{sym}() ∘ vn.indexing, value)`.
104+
"""
105+
function Setfield.set(obj, vn::VarName{sym}, value) where {sym}
106+
return Setfield.set(obj, PropertyLens{sym}() vn.indexing, value)
107+
end
108+
91109

92110
Base.hash(vn::VarName, h::UInt) = hash((getsym(vn), getindexing(vn)), h)
93111
Base.:(==)(x::VarName, y::VarName) = getsym(x) == getsym(y) && getindexing(x) == getindexing(y)

0 commit comments

Comments
 (0)