I'm using Luyten 0.4.9 to decompile Java 8 JARs, but unfortunately I'm getting this error for some classes/methods:
// This method could not be decompiled.
//
// Original Bytecode:
...
// The error that occurred was:
//
// java.lang.IllegalArgumentException: Argument 'type' cannot be null.
// at com.strobel.core.VerifyArgument.notNull(VerifyArgument.java:37)
// at com.strobel.assembler.ir.attributes.LocalVariableTableEntry.<init>(LocalVariableTableEntry.java:41)
// at com.strobel.assembler.ir.MetadataReader.readAttributeCore(MetadataReader.java:180)
// at com.strobel.assembler.metadata.ClassFileReader.readAttributeCore(ClassFileReader.java:260)
// at com.strobel.assembler.ir.MetadataReader.readAttribute(MetadataReader.java:50)
// at com.strobel.assembler.ir.MetadataReader.readAttributes(MetadataReader.java:40)
// at com.strobel.assembler.metadata.ClassFileReader.readAttributeCore(ClassFileReader.java:202)
// at com.strobel.assembler.ir.MetadataReader.inflateAttribute(MetadataReader.java:368)
// at com.strobel.assembler.ir.MetadataReader.inflateAttributes(MetadataReader.java:345)
// at com.strobel.assembler.metadata.ClassFileReader.defineMethods(ClassFileReader.java:977)
// at com.strobel.assembler.metadata.ClassFileReader.readClass(ClassFileReader.java:440)
// at com.strobel.assembler.metadata.ClassFileReader.readClass(ClassFileReader.java:365)
// at com.strobel.assembler.metadata.MetadataSystem.resolveType(MetadataSystem.java:124)
// at com.strobel.assembler.metadata.MetadataSystem.resolveCore(MetadataSystem.java:76)
// at com.strobel.assembler.metadata.MetadataResolver.resolve(MetadataResolver.java:104)
// at com.strobel.assembler.metadata.CoreMetadataFactory$UnresolvedType.resolve(CoreMetadataFactory.java:614)
// at com.strobel.assembler.metadata.MetadataResolver.resolve(MetadataResolver.java:128)
// at com.strobel.assembler.metadata.CoreMetadataFactory$UnresolvedType.resolve(CoreMetadataFactory.java:624)
// at com.strobel.assembler.metadata.MethodReference.resolve(MethodReference.java:177)
// at com.strobel.decompiler.ast.TypeAnalysis.inferCall(TypeAnalysis.java:2428)
// at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1029)
// at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:803)
// at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:770)
// at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:766)
// at com.strobel.decompiler.ast.TypeAnalysis.inferCall(TypeAnalysis.java:2505)
// at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1029)
// at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:803)
// at com.strobel.decompiler.ast.TypeAnalysis.runInference(TypeAnalysis.java:672)
// at com.strobel.decompiler.ast.TypeAnalysis.runInference(TypeAnalysis.java:655)
// at com.strobel.decompiler.ast.TypeAnalysis.runInference(TypeAnalysis.java:365)
// at com.strobel.decompiler.ast.TypeAnalysis.run(TypeAnalysis.java:96)
// at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:109)
// at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:42)
// at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:214)
// at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:99)
// at com.strobel.decompiler.languages.java.ast.AstBuilder.createMethodBody(AstBuilder.java:757)
// at com.strobel.decompiler.languages.java.ast.AstBuilder.createMethod(AstBuilder.java:655)
// at com.strobel.decompiler.languages.java.ast.AstBuilder.addTypeMembers(AstBuilder.java:532)
// at com.strobel.decompiler.languages.java.ast.AstBuilder.createTypeCore(AstBuilder.java:499)
// at com.strobel.decompiler.languages.java.ast.AstBuilder.createTypeNoCache(AstBuilder.java:141)
// at com.strobel.decompiler.languages.java.ast.AstBuilder.createType(AstBuilder.java:130)
// at com.strobel.decompiler.languages.java.ast.AstBuilder.addType(AstBuilder.java:105)
// at com.strobel.decompiler.languages.java.JavaLanguage.buildAst(JavaLanguage.java:71)
// at com.strobel.decompiler.languages.java.JavaLanguage.decompileType(JavaLanguage.java:59)
// at us.deathmarine.luyten.DecompilerLinkProvider.generateContent(DecompilerLinkProvider.java:96)
// at us.deathmarine.luyten.OpenFile.decompileWithNavigationLinks(OpenFile.java:497)
// at us.deathmarine.luyten.OpenFile.decompile(OpenFile.java:470)
// at us.deathmarine.luyten.Model.extractClassToTextPane(Model.java:361)
// at us.deathmarine.luyten.Model.openEntryByTreePath(Model.java:279)
// at us.deathmarine.luyten.Model$TreeListener$1.run(Model.java:235)
//
throw new IllegalStateException("An error occurred while decompiling this method.");