JavaParser: Visited. Analyse, transform and generate your Java code base

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This book will introduce readers to the core library from JavaParser.org. The JavaParser project aims to provide a collection of simple lightweight tools to process Java source code programatically. The first part of this book takes a look at the principal features of the library. Here users will work through step by step examples that demonstrate how to get started with analysing and transforming code. For the second part, the team behind the ongoing support of the library will take you through some of their favourite use cases for the library. Please be aware that this book is being released incrementally, when a new version is published you will get a notification via email to download the latest version.

Author(s): Nicholas Smith, Danny van Bruggen and Federico Tomassetti
Edition: 2023-07-21
Publisher: Leanpub
Year: 2023

Language: English
Pages: 58

Table of Contents
Preface
What is JavaParser?
JavaParser is not
Who is this book for?
This book is not for
How to use this book?
Conventions used in this book
Code Samples
How to Contact Us
The Authors
Acknowledgements
A Brief Introduction to Abstract Syntax Trees
Everything is a node
When is a node, not a node?
Growing our first tree
Beyond Abstract
A Flying Visit
Travelling Companions
A Simple Visitor
A Simple Visitor With State
A Simple Modifying Visitor
A Simple Comment Reporter
Comments - Here Be Dragons
Comment Attribution
Comments In Practice
Pretty Printing and Lexical Preservation
What is Pretty-Printing?
What is Lexical-Preserving Printing?
Choosing between Pretty Printing and Lexical-Preserving Printing
Using Pretty Printing
Using Lexical-Preserving Printing
How it works: the NodeText and the Concrete Syntax Model
Summary
Solving Symbols and References
How to setup the JavaParser Symbol Solver?
How to get the type of references: a first example
Specifying where to look for types
Resolving a type using an absolute name
Resolving a Type in a context
Resolving method calls
Using the CombinedTypeSolver
Using the MemoryTypeSolver
Summary
Appendix A - ReversePolishNotation.java
Appendix B - Visitable Nodes