Skip to content

Latest commit

 

History

History
54 lines (42 loc) · 4.58 KB

File metadata and controls

54 lines (42 loc) · 4.58 KB

Archived!

As of October 2025, this project has been archived. CodeLaser's maddi (Modification Analysis for Duplication Detection and Immutability) project is now the reference implementation. It has less of a focus on eventual immutability, but its parser is far more stable and its modification analysis more robust. The concepts of the Road to Immutability remain.

Repository overview

Devops: e2immu-devops.

Source code:

main sub subsub description
analyzer modification common Common analyzer classes
analyzer modification io Reading and writing AnalyzedPackage files
analyzer modification prepwork First steps in modification analysis (hidden content, variable info)
analyzer modification linkedvariables Variable linking analysis, @Modified, @Independent
analyzer run config Configuration
analyzer run main command line options, main method
analyzer run gradleplugin Gradle plugin
analyzer runmvn mvnplugin Maven plugin
analyzer aapi archive Annotated APIs for JDK and common libraries, and their AnalyzedPackage files
analyzer aapi parser Annotated API parser and writer
language cst analysis Analysis property-value definitions
language cst api Primary interfaces of the Common Syntax Tree
language cst impl Primary implementation of the Common Syntax Tree
language cst io JSON I/O for CST analysis objects
language cst print Formatter for the CST
language inspection api Common API for language inspection/resolution/path management
language inspection parser Implementation of the parsing and resolution aspects of the API
language inspection resource Implementation of the resource/input/path aspects of the API
language inspection integration Integration of inspection system.
language java bytecode Byte code inspection using ASM
language java parser Source parsing using CongoCC
util external support Annotations, support classes, and support for Annotated APIs. JDK 8 project!
util internal graph A graph library that uses jgraph as a dependency. Support for linearization of dependency graphs.
util internal util Utility classes shared by multiple projects.

Naming conventions

main sub subsub, where the combinations sub-subsub must also be unique.

Github repositories: main-sub

Gradle projects inside a repository: e2immu-sub-subsub, test projects testsubsub

Gradle project publishing IDs: org.e2immu.main : e2immu-sub-subsub : version

Java packages: org.e2immu.main.sub.subsub