Skip to content

Commit b5f7e9e

Browse files
committed
[clangd] Add a trained DecisionForest for code completion.
Replaces the dummy CodeCompletion model with a trained DecisionForest model. The features.json needs to be manually curated specifying the features to be used. This is a one-time cost and does not change if the model changes until we decide to add/remove features. Differential Revision: https://reviews.llvm.org/D88071
1 parent f775fe5 commit b5f7e9e

File tree

2 files changed

+382710
-5
lines changed

2 files changed

+382710
-5
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,84 @@
11
[
2+
{
3+
"name": "FilterLength",
4+
"kind": "NUMBER"
5+
},
6+
{
7+
"name": "IsDeprecated",
8+
"kind": "NUMBER"
9+
},
10+
{
11+
"name": "IsReservedName",
12+
"kind": "NUMBER"
13+
},
14+
{
15+
"name": "IsImplementationDetail",
16+
"kind": "NUMBER"
17+
},
18+
{
19+
"name": "NumReferences",
20+
"kind": "NUMBER"
21+
},
22+
{
23+
"name": "IsNameInContext",
24+
"kind": "NUMBER"
25+
},
26+
{
27+
"name": "IsForbidden",
28+
"kind": "NUMBER"
29+
},
30+
{
31+
"name": "IsInBaseClass",
32+
"kind": "NUMBER"
33+
},
34+
{
35+
"name": "FileProximityDistance",
36+
"kind": "NUMBER"
37+
},
38+
{
39+
"name": "SemaFileProximityScore",
40+
"kind": "NUMBER"
41+
},
42+
{
43+
"name": "SymbolScopeDistance",
44+
"kind": "NUMBER"
45+
},
46+
{
47+
"name": "SemaSaysInScope",
48+
"kind": "NUMBER"
49+
},
50+
{
51+
"name": "IsInstanceMember",
52+
"kind": "NUMBER"
53+
},
54+
{
55+
"name": "HadContextType",
56+
"kind": "NUMBER"
57+
},
58+
{
59+
"name": "HadSymbolType",
60+
"kind": "NUMBER"
61+
},
62+
{
63+
"name": "TypeMatchesPreferred",
64+
"kind": "NUMBER"
65+
},
66+
{
67+
"name": "SymbolCategory",
68+
"kind": "ENUM",
69+
"type": "clang::clangd::SymbolQualitySignals::SymbolCategory",
70+
"header": "Quality.h"
71+
},
272
{
373
"name": "ContextKind",
474
"kind": "ENUM",
575
"type": "clang::CodeCompletionContext::Kind",
676
"header": "clang/Sema/CodeCompleteConsumer.h"
77+
},
78+
{
79+
"name": "Scope",
80+
"kind": "ENUM",
81+
"type": "clang::clangd::SymbolRelevanceSignals::AccessibleScope",
82+
"header": "Quality.h"
783
}
884
]

0 commit comments

Comments
 (0)