Skip to content

Commit 2c47aea

Browse files
Catherine Gasnierfacebook-github-bot
authored andcommitted
add predicate to obtain symbol ID of a member
Summary: Right now in the swift/scip schema, most predicates require a scip.Symbol (i.e. a symbol ID) to be queried. Symbols IDs for classes can be retrieved with scip.DisplayNameSymbol, but it's much harder for members. In addition, it's hard to connect containers and their members. This diff fixes that. Reviewed By: phlalx Differential Revision: D79338724 fbshipit-source-id: 37118a3ae7bef7d658d37a012b0595fc73340fda
1 parent 57257de commit 2c47aea

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

glean/schema/source/swift.angle

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,30 @@ predicate SymbolLanguage:
1010
symbol: scip.Symbol,
1111
language: lsif.types.LanguageId
1212
}
13+
14+
predicate ContainerMember:
15+
{
16+
container: scip.DisplayName,
17+
member: scip.DisplayName,
18+
kind: lsif.types.SymbolKind
19+
}
20+
21+
predicate MemberContainer:
22+
{
23+
member: scip.DisplayName,
24+
container: scip.DisplayName
25+
} stored { M, C } where
26+
swift.ContainerMember { C, M, _ }
27+
28+
predicate MemberSymbol:
29+
{
30+
member: ContainerMember,
31+
symbol: scip.Symbol
32+
}
33+
34+
predicate SymbolContainer:
35+
{
36+
symbol: scip.Symbol,
37+
container: scip.DisplayName
38+
}
1339
}

0 commit comments

Comments
 (0)