File tree 2 files changed +26
-11
lines changed
2 files changed +26
-11
lines changed Original file line number Diff line number Diff line change 2
2
3
3
#-----| fn length
4
4
5
- #-----| fn write
6
-
7
5
#-----| fn as_string
8
6
9
7
#-----| fn fmt
13
11
#-----| Static
14
12
15
13
#-----| mod module
14
+ #-----| -> Const
15
+ #-----| -> Static
16
+ #-----| -> enum X
16
17
#-----| -> fn length
17
- #-----| -> fn write
18
+ #-----| -> impl ...::Display for ...::X { ... }
19
+ #-----| -> impl AsString for ...::X { ... }
18
20
#-----| -> struct X_List
19
- #-----| -> Static
20
21
#-----| -> trait AsString
21
- #-----| -> Const
22
- #-----| -> impl AsString for ...::X { ... }
23
- #-----| -> impl ...::Display for ...::X { ... }
24
- #-----| -> enum X
25
22
26
23
#-----| mod crate
27
24
#-----| -> mod module
Original file line number Diff line number Diff line change 6
6
7
7
import rust
8
8
9
- query predicate nodes ( Item i ) {
10
- i .getParentNode * ( ) = any ( Crate m | m .getName ( ) = "test" and m .getVersion ( ) = "0.0.1" ) .getModule ( )
9
+ query predicate nodes ( Item i ) { i instanceof RelevantNode }
10
+
11
+ class RelevantNode extends Item {
12
+ RelevantNode ( ) {
13
+ this .getParentNode * ( ) =
14
+ any ( Crate m | m .getName ( ) = "test" and m .getVersion ( ) = "0.0.1" ) .getModule ( )
15
+ }
11
16
}
12
17
13
- query predicate edges ( Item container , Item element ) {
18
+ predicate edges ( RelevantNode container , RelevantNode element ) {
14
19
element = container .( Module ) .getItemList ( ) .getAnItem ( ) or
15
20
element = container .( Impl ) .getAssocItemList ( ) .getAnAssocItem ( ) or
16
21
element = container .( Trait ) .getAssocItemList ( ) .getAnAssocItem ( )
17
22
}
23
+
24
+ query predicate edges ( RelevantNode pred , RelevantNode succ , string attr , string val ) {
25
+ edges ( pred , succ ) and
26
+ (
27
+ attr = "semmle.label" and
28
+ val = ""
29
+ or
30
+ attr = "semmle.order" and
31
+ val =
32
+ any ( int i | succ = rank [ i ] ( Item s , Location l | edges ( pred , s ) | s order by s .toString ( ) ) )
33
+ .toString ( )
34
+ )
35
+ }
You can’t perform that action at this time.
0 commit comments