FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
codeql/java/ql/src/Telemetry/ExternalLibraryUsage.ql at main · github/codeql · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
github
/
codeql
Public
Notifications
You must be signed in to change notification settings
Fork
2.1k
Star
10k
Code
Issues
998
Pull requests
461
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
codeql
/
java
/
ql
/
src
/
Telemetry
/
ExternalLibraryUsage.ql
Copy path
More file actions
More file actions
Latest commit
History
History
History
35 lines (31 loc) · 864 Bytes
Breadcrumbs
codeql
/
java
/
ql
/
src
/
Telemetry
/
ExternalLibraryUsage.ql
Copy path
File metadata and controls
35 lines (31 loc) · 864 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
* @name External libraries
* @description A list of external libraries used in the code
* @kind metric
* @tags summary telemetry
* @id java/telemetry/external-libs
*/
import
java
import
ExternalApi
private
predicate
getRelevantUsages
(
string
jarname
,
int
usages
)
{
usages
=
strictcount
(
Call
c
,
ExternalApi
a
|
c
.
getCallee
(
)
.
getSourceDeclaration
(
)
=
a
and
not
c
.
getFile
(
)
instanceof
GeneratedFile
and
a
.
jarContainer
(
)
=
jarname
)
}
private
int
getOrder
(
string
jarname
)
{
jarname
=
rank
[
result
]
(
string
jar
,
int
usages
|
getRelevantUsages
(
jar
,
usages
)
|
jar
order
by
usages
desc
,
jar
)
}
from
ExternalApi
api
,
string
jarname
,
int
usages
where
jarname
=
api
.
jarContainer
(
)
and
getRelevantUsages
(
jarname
,
usages
)
and
getOrder
(
jarname
)
<=
resultLimit
(
)
select
jarname
,
usages
order
by
usages
desc
Back
|
FazBrowse Home
|
New Git URL