Skip to content

Unable to decompile: com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalManualCache.class #489

@oakad

Description

@oakad

I'm filing this ticket because decompiler told me so (and also, because everybody likes Caffeine). :-)

Caffeine is pretty avid user of code generation so it is possible that converting its autogenerated bytecode to java can prove way too tricky, but still.

The class file:
BoundedLocalCache$BoundedLocalManualCache.class.gz

The base source for the class in question (will be augmented by codegen in runtime):
https://github.com/ben-manes/caffeine/blob/b3b8d78d24fff4bfb037c2fd32a7519d2cb7955d/caffeine/src/main/java/com/github/benmanes/caffeine/cache/BoundedLocalCache.java#L3957

The error from vineflower:

// java.lang.IllegalStateException: No common supertype for ternary expression
// at org.jetbrains.java.decompiler.modules.decompiler.exps.FunctionExprent.getExprType(FunctionExprent.java:223)
// at org.jetbrains.java.decompiler.modules.decompiler.exps.FunctionExprent.getInferredExprType(FunctionExprent.java:299)
// at org.jetbrains.java.decompiler.modules.decompiler.ExprProcessor.getCastedExprent(ExprProcessor.java:962)
// at org.jetbrains.java.decompiler.modules.decompiler.exps.AssignmentExprent.toJava(AssignmentExprent.java:154)
// at org.jetbrains.java.decompiler.modules.decompiler.ExprProcessor.listToJava(ExprProcessor.java:891)
// at org.jetbrains.java.decompiler.modules.decompiler.stats.BasicBlockStatement.toJava(BasicBlockStatement.java:91)
// at org.jetbrains.java.decompiler.modules.decompiler.stats.IfStatement.toJava(IfStatement.java:200)
// at org.jetbrains.java.decompiler.modules.decompiler.ExprProcessor.jmpWrapper(ExprProcessor.java:829)
// at org.jetbrains.java.decompiler.modules.decompiler.stats.SequenceStatement.toJava(SequenceStatement.java:107)
// at org.jetbrains.java.decompiler.modules.decompiler.ExprProcessor.jmpWrapper(ExprProcessor.java:829)
// at org.jetbrains.java.decompiler.modules.decompiler.stats.IfStatement.toJava(IfStatement.java:258)
// at org.jetbrains.java.decompiler.modules.decompiler.stats.RootStatement.toJava(RootStatement.java:36)
// at org.jetbrains.java.decompiler.main.ClassWriter.methodLambdaToJava(ClassWriter.java:971)
//

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions