Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
JSDT/JSDT-DOM-and-bindings
JSDT DOM and bindings
Starting from Eclipse Oxygen, JSDT parsing is done with ClosureCompiler. After parsing, a converter transforms the compiler's AST into the JSDT core DOM AST. Then, bindings are used to consume the DOM model to provide content assist, code completion, etc.
This page explains the ClosureCompiler AST, the JSDT core DOM AST and its Bindings to the Eclipse IDE
Other JSDT Architectural information is reported in the parent page JSDT/Architecture.
ClosureCompiler AST
Closure Compiler documentation is mostly in its code. To understand how it works, we should look at the CC source, at few documentation pages, and at the work done when moving JSDT to ClosureCompiler.
- Closure Compiler source on GitHub: https://github.com/google/closure-compiler
- Docs from CC wiki ( i.e. CC Design Documents, using CC Java API,
CC tutorials, writing compiler pass, etc...
- Adding closure compiler for JSDT parsing: https://git.eclipse.org/r/#/c/92404/
DOM AST
The AST class The package org.eclipse.wst.jsdt.core.dom contains the class
This is the AST used in JSDT core. It contains all the information needed to create outline, for content assist etc..
Bindings
This part is about the bindings needed to show the model in the outline, to provide content assist, indexing etc.
Other Notes
See commit https://git.eclipse.org/r/#/c/57504/ (M.Istria) to see the new outline