llcppsymg:parse with language config
This commit is contained in:
@@ -61,7 +61,7 @@ func main() {
|
|||||||
check(err)
|
check(err)
|
||||||
|
|
||||||
filepaths := genHeaderFilePath(conf.CFlags, conf.Include)
|
filepaths := genHeaderFilePath(conf.CFlags, conf.Include)
|
||||||
headerInfos, err := parse.ParseHeaderFile(filepaths, conf.TrimPrefixes)
|
headerInfos, err := parse.ParseHeaderFile(filepaths, conf.TrimPrefixes, conf.Cplusplus)
|
||||||
check(err)
|
check(err)
|
||||||
|
|
||||||
symbolInfo := getCommonSymbols(symbols, headerInfos, conf.TrimPrefixes)
|
symbolInfo := getCommonSymbols(symbols, headerInfos, conf.TrimPrefixes)
|
||||||
|
|||||||
@@ -134,14 +134,14 @@ func visit(cursor, parent clang.Cursor, clientData c.Pointer) clang.ChildVisitRe
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ParseHeaderFile(filepaths []string, prefixes []string, isCpp bool) (map[string]string, error) {
|
func ParseHeaderFile(filepaths []string, prefixes []string, isCpp bool) (map[string]string, error) {
|
||||||
|
|
||||||
context = newContext(prefixes)
|
context = newContext(prefixes)
|
||||||
|
index := clang.CreateIndex(0, 0)
|
||||||
for _, filename := range filepaths {
|
for _, filename := range filepaths {
|
||||||
index, unit, err := clangutils.CreateTranslationUnit(&clangutils.Config{
|
_, unit, err := clangutils.CreateTranslationUnit(&clangutils.Config{
|
||||||
File: filename,
|
File: filename,
|
||||||
Temp: false,
|
Temp: false,
|
||||||
IsCpp: isCpp,
|
IsCpp: isCpp,
|
||||||
|
Index: index,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.New("Unable to parse translation unit for file " + filename)
|
return nil, errors.New("Unable to parse translation unit for file " + filename)
|
||||||
@@ -151,7 +151,7 @@ func ParseHeaderFile(filepaths []string, prefixes []string, isCpp bool) (map[str
|
|||||||
context.setCurrentFile(filename)
|
context.setCurrentFile(filename)
|
||||||
clang.VisitChildren(cursor, visit, nil)
|
clang.VisitChildren(cursor, visit, nil)
|
||||||
unit.Dispose()
|
unit.Dispose()
|
||||||
index.Dispose()
|
|
||||||
}
|
}
|
||||||
|
index.Dispose()
|
||||||
return context.symbolMap, nil
|
return context.symbolMap, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user