github / github/codeql

Adding functions from typescript lib files to analysis

Đang mở
#18,748 2 bình luận 1 reaction 0 người được giao Xem trên GitHub
question
Ngôn ngữ chính
CodeQL
Star
10.1k
Fork
2.1k
Merge trung bình
2 ngày 15 giờ
Pull request đã merge (30 ngày)
141

Mô tả

Hello,

I want to be able to get the CallSignatureType for functions defined in the typescript lib files. I can't seem to get this to work. However, getting the getReturnTypeAnnotation seems to work for some functions. Please let me know how to add typescript lib files to my analysis so I can get call signatures consistently. Do I have to copy over the .d.ts files from the typescript source?

JavaScript file:
```
let x = BigInt.asUintN(64, 0);

let cachedTextEncoder = new TextEncoder('utf-8');
let y = cachedTextEncoder.encode("hi")
```

The following CodeQL query returns no results:
```
from Function called_function, CallExpr call
where called_function.getName() = call.getCalleeName()
select call, called_function.getCallSignature()
```
The following CodeQL query returns results for the `cachedTextEncoder.encode` call:
```
from Function called_function, CallExpr call
where called_function.getName() = call.getCalleeName()
select call, called_function.getCallSignature()
```

I am building the codeql database as follows after running `tsc --init` in the directory with the js file I want to analyze.
```
codeql database create --language=javascript -- ql_db
```

Thank you!

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Reproduce the issue using the shown JavaScript file, the database creation command, and the two CodeQL queries. Start by checking how the TypeScript lib files and their .d.ts declarations are included in the analysis; done means calls such as BigInt.asUintN and TextEncoder.encode consistently expose a CallSignatureType.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript, typescript
Lĩnh vực
devtools
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.