-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_note_BNFNode_location.jl
29 lines (26 loc) · 1.17 KB
/
test_note_BNFNode_location.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using MacroTools
using MacroTools: postwalk
@testset "rewrite_struct" begin
def = Meta.parse("struct Sequence <: BNFNode
elements::Tuple{Vararg{<:BNFNode}}
function Sequence(elements...)
new(elements)
end
end")
got = postwalk(rmlines, AnotherParser.rewrite_struct(def))
want = postwalk(rmlines,
Meta.parse("Base.@__doc__ struct Sequence <: BNFNode
source::Union{Nothing, LineNumberNode}
elements::Tuple{Vararg{<:BNFNode}}
function Sequence(elements...)
new(nothing, elements)
end
function Sequence(source::Union{Nothing, LineNumberNode},
elements...)
new(source, elements)
end
end"))
# ??? Why does Expr == Expr fail?
# @test got == want
@test string(got) == string(want)
end