MCP lsfusion_find_elements: a relatedElements seed outside the modules filter is silently dropped and the filtered modules are returned whole
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 54/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Java
- Stelle
- 9
- Fork
- 3
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di lsfusion/plugin-idea
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
lsfusion/plugin-idea#84 ·
-
DX
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
lsfusion/plugin-idea#48 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
lsfusion/plugin-idea#34 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
lsfusion/plugin-idea#23 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
lsfusion/plugin-idea#21 ·
Tutte le issue di lsfusion/plugin-idea
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
refinedmods/refinedstorage2#1421 ·
-
StepExamBenchmarkTest runs a loop and prints a timing but asserts nothingForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertajules
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
open-learning-exchange/myplanet#18199 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Scheme-less stream URLs throw NullPointerException instead of URISyntaxExceptionForse già presa @blihio l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
pedroSG94/RootEncoder#2218 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/rocketmq-dashboard#6872 ·
I maintainer di solito rispondono entro 3 giorni