Commit 95d1457
the indexer emits glean facts directly
Summary:
In this diff, the swift indexer not only emits SCIP index, but also some glean facts for the new swift.angle schema.
For now the facts emitted are for predicate SymbolLanguage. We'll add more in future diffs.
This is based on the info obtained from demangling the USR.
Note: for now, these new facts are ignored by the indexing workflow
Rabbit hole:
Demangling the USRs was using std::regex which has really bad perf. The indexing time for my test went from 5 seconds to 5 minutes. I rewrote the code to do some basic parsing instead. Regression is now only 13%.
While I was at it, I added support for clang structs and enum USRs.
I also added a unit test for demangling.
Differential Revision: D79262434
fbshipit-source-id: e3048134756478b663513d85b9df4dd80809a6e91 parent 8d77473 commit 95d1457
1 file changed
Lines changed: 7 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
| |||
40 | 42 | | |
41 | 43 | | |
42 | 44 | | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
43 | 48 | | |
44 | 49 | | |
45 | 50 | | |
| |||
48 | 53 | | |
49 | 54 | | |
50 | 55 | | |
| 56 | + | |
51 | 57 | | |
52 | 58 | | |
53 | 59 | | |
| |||
0 commit comments