@@ -16,28 +16,37 @@ import (
16
16
var fname = flag .String ("fname" , "" , "the file to analyze" )
17
17
18
18
func main () {
19
+ os .Exit (cmd (os .Args [1 :]))
20
+ }
21
+
22
+ func cmd (args []string ) int {
19
23
fmt .Printf (":: go-clang-dump...\n " )
20
- flag .Parse ()
24
+ if err := flag .CommandLine .Parse (args ); err != nil {
25
+ fmt .Printf ("ERROR: %s" , err )
26
+
27
+ return 1
28
+ }
29
+
21
30
fmt .Printf (":: fname: %s\n " , * fname )
22
31
fmt .Printf (":: args: %v\n " , flag .Args ())
23
32
24
33
if * fname == "" {
25
34
flag .Usage ()
26
35
fmt .Printf ("please provide a file name to analyze\n " )
27
36
28
- os . Exit ( 1 )
37
+ return 1
29
38
}
30
39
31
40
idx := clang .NewIndex (0 , 1 )
32
41
defer idx .Dispose ()
33
42
34
- args := []string {}
43
+ tuArgs := []string {}
35
44
if len (flag .Args ()) > 0 && flag .Args ()[0 ] == "-" {
36
- args = make ([]string , len (flag .Args ()[1 :]))
37
- copy (args , flag .Args ()[1 :])
45
+ tuArgs = make ([]string , len (flag .Args ()[1 :]))
46
+ copy (tuArgs , flag .Args ()[1 :])
38
47
}
39
48
40
- tu := idx .ParseTranslationUnit (* fname , args , nil , 0 )
49
+ tu := idx .ParseTranslationUnit (* fname , tuArgs , nil , 0 )
41
50
defer tu .Dispose ()
42
51
43
52
fmt .Printf ("tu: %s\n " , tu .Spelling ())
@@ -76,4 +85,6 @@ func main() {
76
85
}
77
86
78
87
fmt .Printf (":: bye.\n " )
88
+
89
+ return 0
79
90
}
0 commit comments