Original title:
Analyzátor používání objektů pro TypeScript
Translated title:
Object Usage Analyser for TypeScript
Authors:
Pácal, Michal ; Husák, Robert (advisor) ; Škoda, Petr (referee) Document type: Bachelor's theses
Year:
2023
Language:
eng Abstract:
[eng][cze] During a programming change task, developers often need to understand where a certain variable or object is referenced and how it is used in order to implement the change. For languages TypeScript and JavaScript the only available tools to find these points of interest are tools to find variable and property references and to display a call tree. These tools, however, start losing viability in larger codebases, where they can return hundreds or even thousands of results sorted only by the source file names. In this thesis, we have developed an extension for Visual Studio Code that finds these references and categorise them into groups based on usage. It can also perform similar analysis on call arguments based on the position of the argument. We evaluated our solution and showcased it in several real-world use cases.Při programování vývojáři často potřebují zjistit, kde a jak se používá určitá proměnná nebo objekt. Pro jazyky TypeScript a JavaScript jsou jedinými dostupnými nástroji pro zodpovězení těchto otázek nástroje pro vyhledávání referencí a zobrazení grafu volání. Tyto nástroje však začínají ztrácet účinnost ve větších pro- jektech, kde mohou vracet stovky nebo dokonce tisíce výsledků setřízených pouze podle názvů zdrojových souborů. V této práci jsme vyvinuli rozšíření pro Visual Studio Code, který dokáže v projektu vyhledat reference na proměnné a roztřídit je do skupin na základě použití. Podobnou analýzu dokáže provést i s argumenty funkcí na základě pozice argumentu. Naše řešení jsme vyhodnotili a předvedli několik reálných příkladů použití.
Keywords:
Static analysis|TypeScript|Visual Studio Code; Statická analýza|TypeScript|Visual Studio Code
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/184371