Repository: MinecraftForge/FernFlower Branch: master Commit: 2f94710ea971 Files: 593 Total size: 2.7 MB Directory structure: gitextract_u07x2ck1/ ├── .editorconfig ├── .gitattributes ├── .gitignore ├── README.md ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── intellij.java.decompiler.engine.iml ├── resources/ │ └── META-INF/ │ └── MANIFEST.MF ├── src/ │ └── org/ │ └── jetbrains/ │ └── java/ │ └── decompiler/ │ ├── ClassNameConstants.java │ ├── code/ │ │ ├── CodeConstants.java │ │ ├── ExceptionHandler.java │ │ ├── ExceptionTable.java │ │ ├── FullInstructionSequence.java │ │ ├── Instruction.java │ │ ├── InstructionSequence.java │ │ ├── JumpInstruction.java │ │ ├── SimpleInstructionSequence.java │ │ ├── SwitchInstruction.java │ │ ├── cfg/ │ │ │ ├── BasicBlock.java │ │ │ ├── ControlFlowGraph.java │ │ │ └── ExceptionRangeCFG.java │ │ └── interpreter/ │ │ └── InstructionImpact.java │ ├── main/ │ │ ├── AssertProcessor.java │ │ ├── CancellationManager.java │ │ ├── ClassReference14Processor.java │ │ ├── ClassWriter.java │ │ ├── ClassesProcessor.java │ │ ├── DecompilerContext.java │ │ ├── EnumProcessor.java │ │ ├── Fernflower.java │ │ ├── InitializerProcessor.java │ │ ├── collectors/ │ │ │ ├── BytecodeMappingTracer.java │ │ │ ├── BytecodeSourceMapper.java │ │ │ ├── CounterContainer.java │ │ │ ├── ImportCollector.java │ │ │ └── VarNamesCollector.java │ │ ├── decompiler/ │ │ │ ├── BaseDecompiler.java │ │ │ ├── ConsoleDecompiler.java │ │ │ └── PrintStreamLogger.java │ │ ├── extern/ │ │ │ ├── ClassFormatException.java │ │ │ ├── IBytecodeProvider.java │ │ │ ├── IFernflowerLogger.java │ │ │ ├── IFernflowerPreferences.java │ │ │ ├── IIdentifierRenamer.java │ │ │ └── IResultSaver.java │ │ └── rels/ │ │ ├── ClassWrapper.java │ │ ├── LambdaProcessor.java │ │ ├── MethodProcessorRunnable.java │ │ ├── MethodWrapper.java │ │ ├── NestedClassProcessor.java │ │ └── NestedMemberAccess.java │ ├── modules/ │ │ ├── code/ │ │ │ └── DeadCodeHelper.java │ │ ├── decompiler/ │ │ │ ├── ClasspathHelper.java │ │ │ ├── ClearStructHelper.java │ │ │ ├── ConcatenationHelper.java │ │ │ ├── DecHelper.java │ │ │ ├── DomHelper.java │ │ │ ├── ExitHelper.java │ │ │ ├── ExprProcessor.java │ │ │ ├── ExpressionStack.java │ │ │ ├── FinallyProcessor.java │ │ │ ├── IdeaNotNullHelper.java │ │ │ ├── IfHelper.java │ │ │ ├── InlineSingleBlockHelper.java │ │ │ ├── LabelHelper.java │ │ │ ├── LoopExtractHelper.java │ │ │ ├── MergeHelper.java │ │ │ ├── PPandMMHelper.java │ │ │ ├── PatternHelper.java │ │ │ ├── PrimitiveExpressionList.java │ │ │ ├── SecondaryFunctionsHelper.java │ │ │ ├── SequenceHelper.java │ │ │ ├── SimplifyExprentsHelper.java │ │ │ ├── StackVarsProcessor.java │ │ │ ├── StatEdge.java │ │ │ ├── StrongConnectivityHelper.java │ │ │ ├── SwitchHelper.java │ │ │ ├── SwitchPatternHelper.java │ │ │ ├── decompose/ │ │ │ │ ├── DominatorEngine.java │ │ │ │ ├── DominatorTreeExceptionFilter.java │ │ │ │ ├── FastExtendedPostdominanceHelper.java │ │ │ │ ├── GenericDominatorEngine.java │ │ │ │ ├── IGraph.java │ │ │ │ └── IGraphNode.java │ │ │ ├── deobfuscator/ │ │ │ │ ├── ExceptionDeobfuscator.java │ │ │ │ └── IrreducibleCFGDeobfuscator.java │ │ │ ├── exps/ │ │ │ │ ├── AnnotationExprent.java │ │ │ │ ├── ArrayExprent.java │ │ │ │ ├── AssertExprent.java │ │ │ │ ├── AssignmentExprent.java │ │ │ │ ├── ConstExprent.java │ │ │ │ ├── ExitExprent.java │ │ │ │ ├── ExprUtil.java │ │ │ │ ├── Exprent.java │ │ │ │ ├── FieldExprent.java │ │ │ │ ├── FunctionExprent.java │ │ │ │ ├── IfExprent.java │ │ │ │ ├── InvocationExprent.java │ │ │ │ ├── MonitorExprent.java │ │ │ │ ├── NewExprent.java │ │ │ │ ├── RecordVarExprent.java │ │ │ │ ├── SwitchExprent.java │ │ │ │ └── VarExprent.java │ │ │ ├── sforms/ │ │ │ │ ├── DirectGraph.java │ │ │ │ ├── DirectNode.java │ │ │ │ ├── FlattenStatementsHelper.java │ │ │ │ ├── SSAConstructorSparseEx.java │ │ │ │ └── SSAUConstructorSparseEx.java │ │ │ ├── stats/ │ │ │ │ ├── BasicBlockStatement.java │ │ │ │ ├── CatchAllStatement.java │ │ │ │ ├── CatchStatement.java │ │ │ │ ├── DoStatement.java │ │ │ │ ├── DummyExitStatement.java │ │ │ │ ├── GeneralStatement.java │ │ │ │ ├── IfStatement.java │ │ │ │ ├── RootStatement.java │ │ │ │ ├── SequenceStatement.java │ │ │ │ ├── Statement.java │ │ │ │ ├── Statements.java │ │ │ │ ├── SwitchStatement.java │ │ │ │ └── SynchronizedStatement.java │ │ │ ├── typeann/ │ │ │ │ ├── TargetInfo.java │ │ │ │ ├── TypeAnnotation.java │ │ │ │ └── TypeAnnotationWriteHelper.java │ │ │ └── vars/ │ │ │ ├── CheckTypesResult.java │ │ │ ├── VarDefinitionHelper.java │ │ │ ├── VarProcessor.java │ │ │ ├── VarTypeProcessor.java │ │ │ ├── VarVersionEdge.java │ │ │ ├── VarVersionNode.java │ │ │ ├── VarVersionPair.java │ │ │ ├── VarVersionsGraph.java │ │ │ └── VarVersionsProcessor.java │ │ └── renamer/ │ │ ├── ClassWrapperNode.java │ │ ├── ConverterHelper.java │ │ ├── IdentifierConverter.java │ │ └── PoolInterceptor.java │ ├── struct/ │ │ ├── ContextUnit.java │ │ ├── IDecompiledData.java │ │ ├── StructClass.java │ │ ├── StructContext.java │ │ ├── StructField.java │ │ ├── StructMember.java │ │ ├── StructMethod.java │ │ ├── StructRecordComponent.java │ │ ├── StructTypePathEntry.java │ │ ├── attr/ │ │ │ ├── StructAnnDefaultAttribute.java │ │ │ ├── StructAnnotationAttribute.java │ │ │ ├── StructAnnotationParameterAttribute.java │ │ │ ├── StructBootstrapMethodsAttribute.java │ │ │ ├── StructCodeAttribute.java │ │ │ ├── StructConstantValueAttribute.java │ │ │ ├── StructEnclosingMethodAttribute.java │ │ │ ├── StructExceptionsAttribute.java │ │ │ ├── StructGeneralAttribute.java │ │ │ ├── StructGenericSignatureAttribute.java │ │ │ ├── StructInnerClassesAttribute.java │ │ │ ├── StructLineNumberTableAttribute.java │ │ │ ├── StructLocalVariableTableAttribute.java │ │ │ ├── StructLocalVariableTypeTableAttribute.java │ │ │ ├── StructMethodParametersAttribute.java │ │ │ ├── StructModuleAttribute.java │ │ │ ├── StructPermittedSubclassesAttribute.java │ │ │ ├── StructRecordAttribute.java │ │ │ └── StructTypeAnnotationAttribute.java │ │ ├── consts/ │ │ │ ├── ConstantPool.java │ │ │ ├── LinkConstant.java │ │ │ ├── PooledConstant.java │ │ │ └── PrimitiveConstant.java │ │ ├── gen/ │ │ │ ├── DataPoint.java │ │ │ ├── FieldDescriptor.java │ │ │ ├── MethodDescriptor.java │ │ │ ├── NewClassNameBuilder.java │ │ │ ├── Type.java │ │ │ ├── VarType.java │ │ │ └── generics/ │ │ │ ├── GenericClassDescriptor.java │ │ │ ├── GenericFieldDescriptor.java │ │ │ ├── GenericMain.java │ │ │ ├── GenericMethodDescriptor.java │ │ │ └── GenericType.java │ │ ├── lazy/ │ │ │ └── LazyLoader.java │ │ └── match/ │ │ ├── IMatchable.java │ │ ├── MatchEngine.java │ │ └── MatchNode.java │ └── util/ │ ├── DataInputFullStream.java │ ├── FastFixedSetFactory.java │ ├── FastSparseSetFactory.java │ ├── InterpreterUtil.java │ ├── ListStack.java │ ├── SFormsFastMapDirect.java │ ├── TextBuffer.java │ ├── TextUtil.java │ └── VBStyleCollection.java ├── test/ │ └── org/ │ └── jetbrains/ │ └── java/ │ └── decompiler/ │ ├── BulkDecompilationTest.java │ ├── CancellableTest.java │ ├── ConverterHelperTest.java │ ├── DecompilerTestFixture.java │ └── SingleClassesTest.java └── testData/ ├── bulk/ │ ├── META-INF/ │ │ └── MANIFEST.MF │ └── pkg/ │ ├── Main.java │ └── res/ │ ├── Loader.java │ └── resource.txt ├── bulk.jar ├── classes/ │ └── pkg/ │ └── PrivateClasses.java ├── kt25937/ │ ├── META-INF/ │ │ └── MANIFEST.MF │ └── kt/ │ ├── Kt25937Kt.java │ └── Kt25937_1Kt.java ├── kt25937.jar ├── obfuscated/ │ ├── a.java │ ├── a0.java │ ├── a1.java │ ├── a2.java │ ├── a3.java │ ├── a4.java │ ├── a5.java │ ├── a6.java │ ├── a7.java │ ├── a8.java │ ├── a9.java │ ├── a_.java │ ├── aa.java │ ├── ab.java │ ├── ac.java │ ├── ad.java │ ├── ae.java │ ├── af.java │ ├── ag.java │ ├── ah.java │ ├── ai.java │ ├── aj.java │ ├── ak.java │ ├── al.java │ ├── am.java │ ├── an.java │ ├── ao.java │ ├── ap.java │ ├── aq.java │ ├── ar.java │ ├── as.java │ ├── at.java │ ├── au.java │ ├── av.java │ ├── aw.java │ ├── ax.java │ ├── ay.java │ ├── az.java │ ├── b.java │ ├── ba.java │ ├── bb.java │ ├── bc.java │ ├── bd.java │ ├── c.java │ ├── d.java │ ├── e.java │ ├── f.java │ ├── g.java │ ├── h.java │ ├── i.java │ ├── j.java │ ├── k.java │ ├── l.java │ ├── m.java │ ├── n.java │ ├── o.java │ ├── okhttp3/ │ │ └── internal/ │ │ └── connection/ │ │ └── e.java │ ├── p.java │ ├── q.java │ ├── r.java │ ├── s.java │ ├── u.java │ ├── v.java │ ├── w.java │ ├── x.java │ ├── y.java │ └── z.java ├── obfuscated.jar ├── results/ │ ├── ArrayNestedTypeAnnotations.dec │ ├── ArrayTypeAnnotations.dec │ ├── ClassNonSealed.dec │ ├── ClassNonSealedExtendsImplements.dec │ ├── ClassSuperTypeAnnotations.dec │ ├── EnumWithOverride.dec │ ├── GenericArrayNestedTypeAnnotations.dec │ ├── GenericArrayTypeAnnotations.dec │ ├── GenericNestedTypeAnnotations.dec │ ├── GenericTypeAnnotations.dec │ ├── Integer.dec │ ├── InterfaceNonSealed.dec │ ├── InterfaceSuperTypeAnnotations.dec │ ├── InvalidMethodSignature.dec │ ├── MemberDeclarationTypeAnnotations.dec │ ├── MoreAnnotations.dec │ ├── NestedType.dec │ ├── NestedTypeAnnotations.dec │ ├── PrivateClasses.dec │ ├── RootWithClassInner.dec │ ├── RootWithClassOuter.dec │ ├── RootWithInterfaceInner.dec │ ├── RootWithInterfaceInnerAndOuter.dec │ ├── RootWithInterfaceOuter.dec │ ├── RootWithModule.dec │ ├── SwitchOnStatic.dec │ ├── TestAbstractMethods.dec │ ├── TestAccessReplace.dec │ ├── TestAmbiguousCall.dec │ ├── TestAmbiguousCallWithDebugInfo.dec │ ├── TestAnonymousClass.dec │ ├── TestAnonymousClassConstructor.dec │ ├── TestAnonymousParamNames.dec │ ├── TestAnonymousParams.dec │ ├── TestAnonymousSignature.dec │ ├── TestAsserts.dec │ ├── TestClashName.dec │ ├── TestClassCast.dec │ ├── TestClassFields.dec │ ├── TestClassLambda.dec │ ├── TestClassLoop.dec │ ├── TestClassNestedInitializer.dec │ ├── TestClassSimpleBytecodeMapping.dec │ ├── TestClassSwitch.dec │ ├── TestClassTypes.dec │ ├── TestClassVar.dec │ ├── TestCodeConstructs.dec │ ├── TestComplexInstanceOfRecordPatternJavac.dec │ ├── TestConstType.dec │ ├── TestConstants.dec │ ├── TestConstantsAsIs.dec │ ├── TestConstructorReference.dec │ ├── TestDebugSymbols.dec │ ├── TestDeprecations.dec │ ├── TestDynamicConstantPoolEntry.dec │ ├── TestEmptyBlocks.dec │ ├── TestEnum.dec │ ├── TestExtendingSubclass.dec │ ├── TestExtendsList.dec │ ├── TestFieldSingleAccess.dec │ ├── TestGenericArgs.dec │ ├── TestGroovyClass.dec │ ├── TestGroovyTrait.dec │ ├── TestIffSimplification.dec │ ├── TestIllegalVarName.dec │ ├── TestInUse.dec │ ├── TestInheritanceChainCycle.dec │ ├── TestInner2.dec │ ├── TestInnerClassConstructor.dec │ ├── TestInnerLocal.dec │ ├── TestInnerSignature.dec │ ├── TestInstanceofPatternNotSupported.dec │ ├── TestInstanceofWithPattern.dec │ ├── TestIntVarMerge.dec │ ├── TestInterfaceFields.dec │ ├── TestInterfaceMethods.dec │ ├── TestInterfaceSuper.dec │ ├── TestInvertedFloatComparison.dec │ ├── TestJava11StringConcat.dec │ ├── TestJava11StringConcatEmptyAffix.dec │ ├── TestJava11StringConcatSpecialChars.dec │ ├── TestJava9PrivateInterfaceMethod.dec │ ├── TestJava9StringConcat.dec │ ├── TestKotlinConstructorKt.dec │ ├── TestLambdaParams.dec │ ├── TestLocalClass.dec │ ├── TestLocalsNames.dec │ ├── TestLocalsSignature.dec │ ├── TestMemberAnnotations.dec │ ├── TestMethodParameters.dec │ ├── TestMethodParametersAttr.dec │ ├── TestMethodReferenceLetterClass.dec │ ├── TestMethodReferenceSameName.dec │ ├── TestMissingConstructorCallBad.dec │ ├── TestMissingConstructorCallGood.dec │ ├── TestNamedSuspendFun2Kt.dec │ ├── TestParameterizedTypes.dec │ ├── TestPop2OneDoublePop2.dec │ ├── TestPop2OneLongPop2.dec │ ├── TestPop2TwoIntPop2.dec │ ├── TestPop2TwoIntTwoPop.dec │ ├── TestPrimitiveNarrowing.dec │ ├── TestPrimitives.dec │ ├── TestPrivateEmptyConstructor.dec │ ├── TestRecordAnno.dec │ ├── TestRecordEmpty.dec │ ├── TestRecordGenericVararg.dec │ ├── TestRecordSimple.dec │ ├── TestRecordVararg.dec │ ├── TestShadowing.dec │ ├── TestSimpleInstanceOfRecordPatternJavac.dec │ ├── TestStaticNameClash.dec │ ├── TestStringConcat.dec │ ├── TestStringLiterals.dec │ ├── TestSuperInner.dec │ ├── TestSuspendLambdaKt.dec │ ├── TestSwitchClassReferencesEcj.dec │ ├── TestSwitchClassReferencesFastExitEcj.dec │ ├── TestSwitchClassReferencesFastExitJavac.dec │ ├── TestSwitchClassReferencesJavac.dec │ ├── TestSwitchGuarded2Javac.dec │ ├── TestSwitchGuardedEcj.dec │ ├── TestSwitchGuardedJavac.dec │ ├── TestSwitchNestedDeconstructionsJavac.dec │ ├── TestSwitchOnEnum.dec │ ├── TestSwitchOnEnumEclipse.dec │ ├── TestSwitchOnStringsEcj.dec │ ├── TestSwitchOnStringsJavac.dec │ ├── TestSwitchRules.dec │ ├── TestSwitchSimpleReferencesJavac.dec │ ├── TestSwitchWithDeconstructionsWithoutNestedJavac.dec │ ├── TestSynchronizedMapping.dec │ ├── TestSynchronizedUnprotected.dec │ ├── TestSyntheticAccess.dec │ ├── TestThrowException.dec │ ├── TestTryCatchFinally.dec │ ├── TestTryCatchFinallyJsrRet.dec │ ├── TestUnionType.dec │ ├── TestUnsupportedConstantPoolEntry.dec │ ├── TestVarArgCalls.dec │ ├── TryToPreserveCast.dec │ ├── module-info.dec │ └── package-info.dec └── src/ ├── ext/ │ ├── PkgAnno.java │ ├── Shadow.java │ ├── TestClashNameIface.java │ └── TestClashNameParent.java ├── java11/ │ ├── TestDynamicConstantPoolEntry.jcoder │ ├── TestJava11StringConcat.java │ ├── TestJava11StringConcatEmptyAffix.java │ ├── TestJava11StringConcatSpecialChars.java │ └── TestUnsupportedConstantPoolEntry.jcoder ├── java9/ │ ├── TestJava9PrivateInterfaceMethod.java │ ├── TestJava9StringConcat.java │ └── sample.module/ │ ├── TestClass.java │ ├── TestModuleAnno.java │ ├── TestService.java │ ├── TestServiceImpl.java │ └── module-info.java ├── patterns/ │ ├── TestInstanceofPatternNotSupported.java │ └── TestInstanceofWithPattern.java ├── pkg/ │ ├── MoreAnnotations.java │ ├── NestedType.java │ ├── Shadow.java │ ├── SwitchOnStatic.java │ ├── TestAbstractMethods.java │ ├── TestAccessReplace.java │ ├── TestAmbiguousCall.java │ ├── TestAnonymousClass.java │ ├── TestAnonymousClassConstructor.java │ ├── TestAnonymousParamNames.java │ ├── TestAnonymousParams.java │ ├── TestAnonymousSignature.java │ ├── TestAsserts.java │ ├── TestClashName.java │ ├── TestClassCast.java │ ├── TestClassFields.java │ ├── TestClassLambda.java │ ├── TestClassLoop.java │ ├── TestClassNestedInitializer.java │ ├── TestClassSimpleBytecodeMapping.java │ ├── TestClassSwitch.java │ ├── TestClassTypes.java │ ├── TestClassVar.java │ ├── TestCodeConstructs.java │ ├── TestComplexInstanceOfRecordPatternJavac.java │ ├── TestConstType.java │ ├── TestConstants.java │ ├── TestConstantsAsIs.java │ ├── TestConstructorReference.java │ ├── TestDebugSymbols.java │ ├── TestDeprecations.java │ ├── TestEmptyBlocks.java │ ├── TestEnum.java │ ├── TestExtendingSubclass.java │ ├── TestExtendsList.java │ ├── TestFieldSingleAccess.jasm │ ├── TestGenericArgs.java │ ├── TestGroovyClass.groovy │ ├── TestGroovyTrait.groovy │ ├── TestIffSimplification.java │ ├── TestIllegalVarName.kt │ ├── TestInUse.java │ ├── TestInheritanceChainCycle.jasm │ ├── TestInner2.java │ ├── TestInnerClassConstructor.java │ ├── TestInnerLocal.java │ ├── TestInnerSignature.java │ ├── TestIntVarMerge.java │ ├── TestInterfaceFields.java │ ├── TestInterfaceMethods.java │ ├── TestInterfaceSuper.java │ ├── TestInvertedFloatComparison.java │ ├── TestKotlinConstructor.kt │ ├── TestLambdaParams.java │ ├── TestLocalClass.java │ ├── TestLocalsNames.java │ ├── TestLocalsSignature.java │ ├── TestMemberAnnotations.java │ ├── TestMethodParameters.java │ ├── TestMethodParametersAttr.java │ ├── TestMethodReferenceLetterClass.java │ ├── TestMethodReferenceSameName.java │ ├── TestMissingConstructorCallBad.jasm │ ├── TestMissingConstructorCallGood.jasm │ ├── TestNamedSuspendFun2.kt │ ├── TestParameterizedTypes.java │ ├── TestPop2OneDoublePop2.jasm │ ├── TestPop2OneLongPop2.jasm │ ├── TestPop2TwoIntPop2.jasm │ ├── TestPop2TwoIntTwoPop.jasm │ ├── TestPrimitiveNarrowing.java │ ├── TestPrimitives.java │ ├── TestPrivateEmptyConstructor.java │ ├── TestShadowing.java │ ├── TestSimpleInstanceOfRecordPatternJavac.java │ ├── TestStaticNameClash.java │ ├── TestStringConcat.java │ ├── TestStringLiterals.java │ ├── TestSuperInner.java │ ├── TestSuperInnerBase.java │ ├── TestSuspendLambda.kt │ ├── TestSwitchClassReferencesEcj.java │ ├── TestSwitchClassReferencesFastExitEcj.java │ ├── TestSwitchClassReferencesFastExitJavac.java │ ├── TestSwitchClassReferencesJavac.java │ ├── TestSwitchGuarded2Javac.java │ ├── TestSwitchGuardedEcj.java │ ├── TestSwitchGuardedJavac.java │ ├── TestSwitchNestedDeconstructionsJavac.java │ ├── TestSwitchOnEnum.java │ ├── TestSwitchOnEnumEclipse.java │ ├── TestSwitchOnStringsEcj.java │ ├── TestSwitchOnStringsJavac.java │ ├── TestSwitchRules.java │ ├── TestSwitchSimpleReferencesJavac.java │ ├── TestSwitchWithDeconstructionsWithoutNestedJavac.java │ ├── TestSynchronizedMapping.java │ ├── TestSynchronizedUnprotected.kt │ ├── TestSyntheticAccess.java │ ├── TestThrowException.java │ ├── TestTryCatchFinally.java │ ├── TestTryCatchFinallyJsrRet.java │ ├── TestUnionType.java │ ├── TestVarArgCalls.java │ ├── TryToPreserveCast.java │ ├── TypeAnnotations.java │ └── package-info.java ├── records/ │ ├── TestRecordAnno.java │ ├── TestRecordEmpty.java │ ├── TestRecordGenericVararg.java │ ├── TestRecordSimple.java │ └── TestRecordVararg.java ├── sealed/ │ ├── ClassExtends.java │ ├── ClassImplements.java │ ├── ClassNonSealed.java │ ├── ClassNonSealedExtendsImplements.java │ ├── EnumWithOverride.java │ ├── InterfaceNonSealed.java │ ├── RootWithClassInner.java │ ├── RootWithClassOuter.java │ ├── RootWithInterfaceInner.java │ ├── RootWithInterfaceInnerAndOuter.java │ ├── RootWithInterfaceOuter.java │ ├── bar/ │ │ └── BarClassExtends.java │ └── foo/ │ └── RootWithModule.java └── typeAnnotations/ ├── A.java ├── ArrayNestedTypeAnnotations.java ├── ArrayTypeAnnotations.java ├── B.java ├── Bar.java ├── BarGeneric.java ├── C.java ├── ClassSuperTypeAnnotations.java ├── D.java ├── E.java ├── F.java ├── Foo.java ├── GenericArrayNestedTypeAnnotations.java ├── GenericArrayTypeAnnotations.java ├── GenericNestedTypeAnnotations.java ├── GenericTypeAnnotations.java ├── InterfaceSuperTypeAnnotations.java ├── K.java ├── L.java ├── MemberDeclarationTypeAnnotations.java ├── NestedTypeAnnotations.java ├── P.java ├── ParentInterface.java ├── S.java ├── SomeFunInterface.java ├── T.java ├── V.java └── Z.java ================================================ FILE CONTENTS ================================================ ================================================ FILE: .editorconfig ================================================ [*] charset=utf-8 end_of_line=lf insert_final_newline=false indent_style=space indent_size=2 ================================================ FILE: .gitattributes ================================================ *.dec text ================================================ FILE: .gitignore ================================================ /.idea/ /.gradle/ /build/ /out/ ================================================ FILE: README.md ================================================ ### About Fernflower Fernflower is the first actually working analytical decompiler for Java and probably for a high-level programming language in general. Naturally it is still under development, please send your bug reports and improvement suggestions to the [issue tracker](https://youtrack.jetbrains.com/newIssue?project=IDEA&clearDraft=true&c=Subsystem+Decompiler). ### Licence Fernflower is licenced under the [Apache Licence Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). ### Running from command line `java -jar fernflower.jar [-