llcppsigfetch:include
This commit is contained in:
@@ -8,7 +8,7 @@ TestDefine Case 1:
|
||||
"macros": [{
|
||||
"Name": {
|
||||
"Token": 2,
|
||||
"Lit": "foo"
|
||||
"Lit": "OK"
|
||||
},
|
||||
"Body": [{
|
||||
"Token": 3,
|
||||
@@ -18,6 +18,70 @@ TestDefine Case 1:
|
||||
}
|
||||
}
|
||||
|
||||
TestDefine Case 2:
|
||||
{
|
||||
"temp.h": {
|
||||
"path": "temp.h",
|
||||
"decls": [],
|
||||
"includes": [],
|
||||
"macros": [{
|
||||
"Name": {
|
||||
"Token": 2,
|
||||
"Lit": "SQUARE"
|
||||
},
|
||||
"Body": [{
|
||||
"Token": 0,
|
||||
"Lit": "("
|
||||
}, {
|
||||
"Token": 2,
|
||||
"Lit": "x"
|
||||
}, {
|
||||
"Token": 0,
|
||||
"Lit": ")"
|
||||
}, {
|
||||
"Token": 0,
|
||||
"Lit": "("
|
||||
}, {
|
||||
"Token": 0,
|
||||
"Lit": "("
|
||||
}, {
|
||||
"Token": 2,
|
||||
"Lit": "x"
|
||||
}, {
|
||||
"Token": 0,
|
||||
"Lit": ")"
|
||||
}, {
|
||||
"Token": 0,
|
||||
"Lit": "*"
|
||||
}, {
|
||||
"Token": 0,
|
||||
"Lit": "("
|
||||
}, {
|
||||
"Token": 2,
|
||||
"Lit": "x"
|
||||
}, {
|
||||
"Token": 0,
|
||||
"Lit": ")"
|
||||
}, {
|
||||
"Token": 0,
|
||||
"Lit": ")"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
}
|
||||
|
||||
TestInclude Case 1:
|
||||
{
|
||||
"temp.h": {
|
||||
"path": "temp.h",
|
||||
"decls": [],
|
||||
"includes": [{
|
||||
"Path": "foo.h"
|
||||
}],
|
||||
"macros": []
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#stderr
|
||||
|
||||
|
||||
@@ -7,11 +7,13 @@ import (
|
||||
|
||||
func main() {
|
||||
TestDefine()
|
||||
TestInclude()
|
||||
}
|
||||
|
||||
func TestDefine() {
|
||||
testCases := []string{
|
||||
`#define foo 1`,
|
||||
`#define OK 1`,
|
||||
`#define SQUARE(x) ((x) * (x))`,
|
||||
}
|
||||
|
||||
for i, content := range testCases {
|
||||
@@ -31,3 +33,27 @@ func TestDefine() {
|
||||
converter.Dispose()
|
||||
}
|
||||
}
|
||||
|
||||
func TestInclude() {
|
||||
testCases := []string{
|
||||
`#include "foo.h"`,
|
||||
// `#include <limits.h>`, // Standard libraries are mostly platform-dependent
|
||||
}
|
||||
|
||||
for i, content := range testCases {
|
||||
converter, err := parse.NewConverter(content, true)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
_, err = converter.Convert()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
json := converter.MarshalASTFiles()
|
||||
c.Printf(c.Str("TestInclude Case %d:\n%s\n\n"), c.Int(i+1), json.Print())
|
||||
|
||||
converter.Dispose()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user