133 lines
4.1 KiB
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)
|
|
}
|