MCPcopy Index your code
hub / github.com/evant/android-retrolambda-lombok

github.com/evant/android-retrolambda-lombok @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
4,046 symbols 11,165 edges 229 files 190 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

android-retrolambda-lombok

A modified version of lombok ast that allows lint to run on java 8 sources without error.

Usage

All you have to do is modify you build.gradle as such

buildscript {
    repositories {
        jcenter()
        ...
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:<version>'
        classpath "me.tatarka:gradle-retrolambda:<version>"
        classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2'
    }

    // Exclude the version that the android plugin depends on.
    configurations.classpath.exclude group: 'com.android.tools.external.lombok'
}

Additional Lint Configuration

Lint doesn't realize that try-with-resources are backported by retrolambda. You can ignore just that while keeping the rest of the NewApi lint check by adding the following to your lint.xml.

<issue id="NewApi">
    <ignore regexp="Try-with-resources requires API level 19"/>
</issue>

Limitations

  • Currently you must run gradle with java 8. This may or may not be fixed in the future depending on if I can get lombok to compile with a lower java version.

Extension points exported contracts — how you extend this code

SourceFormatter (Interface)
(no doc) [6 implementers]
src/printer/lombok/ast/printer/SourceFormatter.java
Literal (Interface)
(no doc) [6 implementers]
src/main/lombok/ast/Literal.java
H001_Interfaces (Interface)
(no doc)
test/resources/idempotency/H001_Interfaces.java
DescribedNode (Interface)
(no doc) [28 implementers]
src/main/lombok/ast/DescribedNode.java
Inner1 (Interface)
(no doc)
test/resources/idempotency/I002_ComplexAsserts2.java
Expression (Interface)
(no doc) [4 implementers]
src/main/lombok/ast/Expression.java
Node (Interface)
(no doc) [2 implementers]
src/main/lombok/ast/Node.java
TypeDeclaration (Interface)
Common interface shared by all type declaration nodes.
src/main/lombok/ast/TypeDeclaration.java

Core symbols most depended-on inside this repo

append
called by 311
src/printer/lombok/ast/printer/SourceFormatter.java
set
called by 230
src/ecjTransformer/lombok/ast/ecj/EcjTreeBuilder.java
put
called by 230
src/template/lombok/ast/template/TemplateProcessor.java
optWS
called by 189
src/main/lombok/ast/grammar/BasicsParser.java
getPosition
called by 177
src/main/lombok/ast/Node.java
get
called by 144
src/ecjTransformer/lombok/ast/ecj/EcjTreeBuilder.java
isEmpty
called by 144
src/main/lombok/ast/RawListAccessor.java
astName
called by 112
src/main/lombok/ast/TypeDeclaration.java

Shape

Method 3,446
Class 516
Function 42
Interface 25
Enum 17

Languages

Java99%
TypeScript1%

Modules by API surface

test/resources/performance/extra166y/AbstractParallelAnyArray.java797 symbols
test/resources/performance/extra166y/PAS.java435 symbols
src/main/lombok/ast/Templates.java193 symbols
src/main/lombok/ast/ForwardingAstVisitor.java153 symbols
src/main/lombok/ast/AstVisitor.java152 symbols
test/src/lombok/ast/grammar/ParboiledJavaGrammar.java141 symbols
src/ecjTransformer/lombok/ast/ecj/EcjTreeConverter.java122 symbols
src/ecjTransformer/lombok/ast/ecj/EcjTreeBuilder.java117 symbols
src/javacTransformer/lombok/ast/javac/JcTreeBuilder.java100 symbols
src/ecjTransformer/lombok/ast/ecj/EcjTreeVisitor.java89 symbols
src/printer/lombok/ast/printer/SourcePrinter.java85 symbols
src/javacTransformer/lombok/ast/javac/JcTreeConverter.java73 symbols

For agents

$ claude mcp add android-retrolambda-lombok \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact