Effective and Eventual Immutability: a Static Code Analyser for Java

e2immu is a static code analyser for Java. It offers practical definitions of modification and immutability, to help you write code that lasts longer. This project is archived — development continues as maddi.

Continue to maddi Read the e2immu docs

LGPL v3 licensed. e2immu is archived at GitHub v0.6.2; active development continues as maddi.

Write better code

The real purpose of a code analyser is to help you write better code, either by correcting you, or inspiring you.

Immutable Containers

Read about some of the concepts introduced by e2immu in The Road to Immutability, whether you are a novice at Java, or a life-long enthousiast.

Practical Immutability

e2immu provides practical definitions for immutability, and helps you maintain a balance between object orientend and functional paradigms.

Customizable Annotated APIs

Bend, or sharpen, the modification rules yourself: Annotated APIs determine how you view library code.

Plugins

A plugin for IntelliJ lets you see the immutability status of your classes in your IDE. The Gradle plugin runs the analyser.

No magic!

Learn the concepts and use the support classes. The analyser is there to help, but it is not required.