jaredly / jaredly/example-reason-codemod
Detect a function of a given module?
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- OCaml
- Star
- 3
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Thanks for creating these codemod utils and example! 🙂 Really cool.
I'm exploring if I could use this codemod for the migrations of BuckleScript Js modules proposed in https://github.com/BuckleScript/bucklescript/issues/2975. I wonder how I could approach the detection of usages of some specific functions in Js.X modules:
If I use syntactic analysis (e.g. use Pexp_ident to match against the function names) it might not be effective in all cases, for example the function can be called with Js.Array.map or just map if the Js.Array module has been opened before.
There is getExprType which is awesome but it just works at the type level, so I wouldn't know which function has been called, only the type of the expression.
Is there an approach that I'm missing to do this kind of detection in an accurate way?
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Xem xét các tiện ích codemod và ví dụ, sau đó điều tra cách Pexp_ident và getExprType xử lý các lệnh gọi như Js.Array.map và một map từ module được mở. So sánh xem thông tin cú pháp và kiểu hiện có có thể xác định chính xác hàm được gọi hay không. Hoàn thành nghĩa là ghi lại một cách phát hiện đáng tin cậy hoặc giới hạn ngăn cản việc đó.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- ocaml
- Lĩnh vực
- tooling
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- 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
- 20/100