MCP lsfusion_find_elements: a relatedElements seed outside the modules filter is silently dropped and the filtered modules are returned whole
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 54/100
Hướng nghiên cứu
Start by locating the lsfusion_find_elements implementation and its tests for relatedElements, classes, and the modules filter; the issue does not name file paths. Check how seed lookup is limited by the filter and how unresolved seeds are handled. Done means seeds resolve across the project and its libraries, unresolved seeds appear in errors, and a related filter with no resolved seeds returns an empty result.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
lsfusion_find_elements with relatedElements and a modules filter is the way to ask which elements of modules B and C a module A (or one of its elements) actually uses, for example when trimming a REQUIRE list. When the seed element is declared outside the filtered modules, the tool returns every element of the filtered modules, as if no relatedElements filter had been given, and reports neither an error nor a meta entry.
Reproducer on a project whose module Catalog requires only System (nothing of Time or Utils is referenced from it):
relatedElements='module:Catalog', relatedDirection='uses', modules='Time, Utils', requiredModules=false, minSymbols=0returns theTimeandUtilsmodule declarations with their classes (DOW,Month,YesNo, ...) and properties (fileName[INTEGER],zipped[], ...).relatedElements='property:Catalog.nameCategory[Catalog.Item]', relatedDirection='uses', modules='Time', requiredModules=false, minSymbols=0returns the content ofTime, althoughnameCategoryuses onlycategory[Item]andname[Category].- The same module seed with its own module added to the filter (
modules='Time, Utils, Catalog') works as intended: the result isCatalogand theSystemmodule it requires, and nothing fromTimeorUtils.
Fix
A seed of relatedElements (and a class of the classes filter) is looked up in the whole project and its libraries, whatever the modules filter, and the filter restricts only the result. A seed that cannot be resolved is reported in errors, and when a related filter was given but none of its seeds resolved, the result is empty instead of the whole filtered modules.
Reason
The usage traversal from a seed in one module into the elements of other modules is the main use of relatedElements together with modules; today that exact combination silently answers a different question, so a dependency check done with it is wrong without any sign of it.
- Ngôn ngữ chính
- Java
- Star
- 9
- Fork
- 3
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
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.
Issue khác của lsfusion/plugin-idea
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
lsfusion/plugin-idea#84 ·
-
DX
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
lsfusion/plugin-idea#48 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
lsfusion/plugin-idea#34 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
lsfusion/plugin-idea#23 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
lsfusion/plugin-idea#21 ·
Tất cả issue của lsfusion/plugin-idea
Issue tương tự
-
human-required sync-failed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Azure/osdu-spi-file#63 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
frontend quick win
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
CodeForPhilly/benefit-decision-toolkit#571 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
approved
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
checkstyle/checkstyle#22129 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Add Hardcharger JDBC driverCó thể đã có người làm @prmoore77 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày