Million-scale code analysis and refactoring toolkit for Java
A tooling framework for analyzing and modifying large codebases automatically.
Proved on 2 million lines of code.
Supports Java 6/7/8 (Modification on Java 8 code is not fully tested).
Requirement: JDK 8
Build: gradle shadowJar
Run: java -jar build/libs/exia-2.0-all.jar [solver-name] [paths-being-scanned...]
For example:
java -jar build/libs/exia-2.0-all.jar UnusedImportDeletor /home/sorra/projects/
To learn how to write your own tool, see examples in the package com.iostate.exia.solvers
about how to:
logger.isDebugEnabled()
logger.isDebugEnabled()
logger.error(...)
APIThere are two extension points: FileFilter
& AstFunction
.
Implement them and call FileWalker
to run your own operations.
(The default FileFilter is com.iostate.exia.api.JavaSourceFileFilter
)
The package com.iostate.exia.ast
provides convenient AST utilities.