package ast import ( "testing" ) func TestTypedefDecl(t *testing.T) { nodes := map[string]testNode{ `0x7fdef0862430 col:16`: testNode{&TypedefDecl{ Addr: 0x7fdef0862430, Pos: NewPositionFromString("line:120:1, col:16"), Position2: "col:16", Name: "", Type: "", Type2: "", IsImplicit: false, IsReferenced: false, ChildNodes: []Node{}, }, 0x7fdef0862430, NewPositionFromString("line:120:1, col:16"), []Node{}, }, `0x7ffb9f824278 <> implicit __uint128_t 'unsigned __int128'`: testNode{&TypedefDecl{ Addr: 0x7ffb9f824278, Pos: NewPositionFromString(""), Position2: "", Name: "__uint128_t", Type: "unsigned __int128", Type2: "", IsImplicit: true, IsReferenced: false, ChildNodes: []Node{}, }, 0x7ffb9f824278, NewPositionFromString(""), []Node{}, }, `0x7ffb9f824898 <> implicit referenced __builtin_va_list 'struct __va_list_tag [1]'`: testNode{&TypedefDecl{ Addr: 0x7ffb9f824898, Pos: NewPositionFromString(""), Position2: "", Name: "__builtin_va_list", Type: "struct __va_list_tag [1]", Type2: "", IsImplicit: true, IsReferenced: true, ChildNodes: []Node{}, }, 0x7ffb9f824898, NewPositionFromString(""), []Node{}, }, `0x7ffb9f8248f8 col:24 __int8_t 'signed char'`: testNode{&TypedefDecl{ Addr: 0x7ffb9f8248f8, Pos: NewPositionFromString("/usr/include/i386/_types.h:37:1, col:24"), Position2: "col:24", Name: "__int8_t", Type: "signed char", Type2: "", IsImplicit: false, IsReferenced: false, ChildNodes: []Node{}, }, 0x7ffb9f8248f8, NewPositionFromString("/usr/include/i386/_types.h:37:1, col:24"), []Node{}, }, `0x7ffb9f8dbf50 col:27 referenced __darwin_va_list '__builtin_va_list':'struct __va_list_tag [1]'`: testNode{&TypedefDecl{ Addr: 0x7ffb9f8dbf50, Pos: NewPositionFromString("line:98:1, col:27"), Position2: "col:27", Name: "__darwin_va_list", Type: "__builtin_va_list", Type2: "struct __va_list_tag [1]", IsImplicit: false, IsReferenced: true, ChildNodes: []Node{}, }, 0x7ffb9f8dbf50, NewPositionFromString("line:98:1, col:27"), []Node{}, }, `0x34461f0 __io_read_fn '__ssize_t (void *, char *, size_t)'`: testNode{&TypedefDecl{ Addr: 0x34461f0, Pos: NewPositionFromString("line:338:1, col:77"), Position2: "", Name: "__io_read_fn", Type: "__ssize_t (void *, char *, size_t)", Type2: "", IsImplicit: false, IsReferenced: false, ChildNodes: []Node{}, }, 0x34461f0, NewPositionFromString("line:338:1, col:77"), []Node{}, }, `0x55b9da8784b0 line:341:19 __io_write_fn '__ssize_t (void *, const char *, size_t)'`: testNode{&TypedefDecl{ Addr: 0x55b9da8784b0, Pos: NewPositionFromString("line:341:1, line:342:16"), Position2: "line:341:19", Name: "__io_write_fn", Type: "__ssize_t (void *, const char *, size_t)", Type2: "", IsImplicit: false, IsReferenced: false, ChildNodes: []Node{}, }, 0x55b9da8784b0, NewPositionFromString("line:341:1, line:342:16"), []Node{}, }, `0x3f0b9b0 col:3 referenced extCoord 'struct extCoord':'extCoord'`: testNode{&TypedefDecl{ Addr: 0x3f0b9b0, Pos: NewPositionFromString("line:12:1, line:15:3"), Position2: "col:3", Name: "extCoord", Type: "struct extCoord", Type2: "extCoord", IsImplicit: false, IsReferenced: true, ChildNodes: []Node{}, }, 0x3f0b9b0, NewPositionFromString("line:12:1, line:15:3"), []Node{}, }, } runNodeTests(t, nodes) }