@@ -70,22 +70,21 @@ predicate summaryElement(DataFlowCallable c, string input, string output, string
70
70
)
71
71
}
72
72
73
- bindingset [ name]
74
- private FieldContent interpretField ( string name ) {
75
- exists ( string splitRegex , string package , string className , string fieldName |
76
- splitRegex = "^(.*)\\.([^.]+)\\.([^.]+)$" and
77
- package = name .regexpCapture ( splitRegex , 1 ) and
78
- className = name .regexpCapture ( splitRegex , 2 ) and
79
- fieldName = name .regexpCapture ( splitRegex , 3 )
80
- |
73
+ private FieldContent parseField ( string c ) {
74
+ External:: specSplit ( _, c , _) and
75
+ exists ( string fieldRegex , string package , string className , string fieldName |
76
+ fieldRegex = "^Field (.*)\\.([^.]+)\\.([^.]+)$" and
77
+ package = c .regexpCapture ( fieldRegex , 1 ) and
78
+ className = c .regexpCapture ( fieldRegex , 2 ) and
79
+ fieldName = c .regexpCapture ( fieldRegex , 3 ) and
81
80
result .getField ( ) .hasQualifiedName ( package , className , fieldName )
82
81
)
83
82
}
84
83
85
84
/** Gets the summary component for specification component `c`, if any. */
86
85
bindingset [ c]
87
86
SummaryComponent interpretComponentSpecific ( string c ) {
88
- c . matches ( "Field %" ) and result = SummaryComponent:: content ( interpretField ( c . splitAt ( " " , 1 ) ) )
87
+ result = SummaryComponent:: content ( parseField ( c ) )
89
88
or
90
89
c = "ArrayElement" and result = SummaryComponent:: content ( any ( ArrayContent c0 ) )
91
90
or
0 commit comments