nswrap/ast/typedef_decl_test.go

133 lines
4.1 KiB
Go

package ast
import (
"testing"
)
func TestTypedefDecl(t *testing.T) {
nodes := map[string]testNode{
`0x7fdef0862430 <line:120:1, col:16> 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 <<invalid sloc>> <invalid sloc> implicit __uint128_t 'unsigned __int128'`: testNode{&TypedefDecl{
Addr: 0x7ffb9f824278,
Pos: NewPositionFromString("<invalid sloc>"),
Position2: "<invalid sloc>",
Name: "__uint128_t",
Type: "unsigned __int128",
Type2: "",
IsImplicit: true,
IsReferenced: false,
ChildNodes: []Node{},
},
0x7ffb9f824278,
NewPositionFromString("<invalid sloc>"),
[]Node{},
},
`0x7ffb9f824898 <<invalid sloc>> <invalid sloc> implicit referenced __builtin_va_list 'struct __va_list_tag [1]'`: testNode{&TypedefDecl{
Addr: 0x7ffb9f824898,
Pos: NewPositionFromString("<invalid sloc>"),
Position2: "<invalid sloc>",
Name: "__builtin_va_list",
Type: "struct __va_list_tag [1]",
Type2: "",
IsImplicit: true,
IsReferenced: true,
ChildNodes: []Node{},
},
0x7ffb9f824898,
NewPositionFromString("<invalid sloc>"),
[]Node{},
},
`0x7ffb9f8248f8 </usr/include/i386/_types.h:37:1, col:24> 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 <line:98:1, col:27> 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 <line:338:1, col:77> __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:1, line:342:16> 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 <line:12:1, line:15:3> 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)
}