package ast import ( "testing" ) func TestDeclRefExpr(t *testing.T) { nodes := map[string]testNode{ `0x7fc972064460 'FILE *' lvalue ParmVar 0x7fc9720642d0 '_p' 'FILE *'`: testNode{&DeclRefExpr{ Addr: 0x7fc972064460, Pos: NewPositionFromString("col:8"), Type: "FILE *", Type1: "", Lvalue: true, For: "ParmVar", Address2: "0x7fc9720642d0", Name: "_p", Type2: "FILE *", Type3: "", ChildNodes: []Node{}, }, 0x7fc972064460, NewPositionFromString("col:8"), []Node{}, }, `0x7fc97206a958 'int (int, FILE *)' Function 0x7fc972064198 '__swbuf' 'int (int, FILE *)'`: testNode{&DeclRefExpr{ Addr: 0x7fc97206a958, Pos: NewPositionFromString("col:11"), Type: "int (int, FILE *)", Type1: "", Lvalue: false, For: "Function", Address2: "0x7fc972064198", Name: "__swbuf", Type2: "int (int, FILE *)", Type3: "", ChildNodes: []Node{}, }, 0x7fc97206a958, NewPositionFromString("col:11"), []Node{}, }, `0x7fa36680f170 'struct programming':'struct programming' lvalue Var 0x7fa36680dc20 'variable' 'struct programming':'struct programming'`: testNode{&DeclRefExpr{ Addr: 0x7fa36680f170, Pos: NewPositionFromString("col:19"), Type: "struct programming", Type1: "struct programming", Lvalue: true, For: "Var", Address2: "0x7fa36680dc20", Name: "variable", Type2: "struct programming", Type3: "struct programming", ChildNodes: []Node{}, }, 0x7fa36680f170, NewPositionFromString("col:19"), []Node{}, }, `0x35cb438 'int' EnumConstant 0x35ca300 'Jan' 'int'`: testNode{&DeclRefExpr{ Addr: 0x35cb438, Pos: NewPositionFromString("col:13"), Type: "int", Type1: "", Lvalue: false, For: "EnumConstant", Address2: "0x35ca300", Name: "Jan", Type2: "int", Type3: "", ChildNodes: []Node{}, }, 0x35cb438, NewPositionFromString("col:13"), []Node{}, }, `0x1ff8770 'T_ENUM':'T_ENUM' lvalue Var 0x1ff8600 'cc' 'T_ENUM':'T_ENUM'`: testNode{&DeclRefExpr{ Addr: 0x1ff8770, Pos: NewPositionFromString("col:33"), Type: "T_ENUM", Type1: "T_ENUM", Lvalue: true, For: "Var", Address2: "0x1ff8600", Name: "cc", Type2: "T_ENUM", Type3: "T_ENUM", ChildNodes: []Node{}, }, 0x1ff8770, NewPositionFromString("col:33"), []Node{}, }, } runNodeTests(t, nodes) }