Modifier and Type | Field and Description |
---|---|
private java.util.List<Pair<ClassFile,ConstructorInvokationSimple>> |
AnonymousClassUsage.localNoted |
private java.util.List<Pair<ClassFile,ConstructorInvokationAnonymousInner>> |
AnonymousClassUsage.noted |
Modifier and Type | Method and Description |
---|---|
private static void |
CodeAnalyserWholeClass.detectFakeMethods(ClassFile classFile,
TypeUsageCollectingDumper typeUsage) |
private static void |
CodeAnalyserWholeClass.fixInnerClassConstructorSyntheticOuterArgs(ClassFile classFile) |
private static Method |
CodeAnalyserWholeClass.getStaticConstructor(ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.inlineAccessors(DCCommonState state,
ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.liftNonStaticInitialisers(ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.liftStaticInitialisers(ClassFile classFile) |
void |
AnonymousClassUsage.note(ClassFile classFile,
ConstructorInvokationAnonymousInner constructorInvokationAnonymousInner) |
void |
AnonymousClassUsage.noteMethodClass(ClassFile classFile,
ConstructorInvokationSimple constructorInvokation) |
private static void |
CodeAnalyserWholeClass.relinkConstantStrings(ClassFile classFile,
DCCommonState state) |
private static void |
CodeAnalyserWholeClass.removeBoilerplateMethods(ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.removeDeadMethods(ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.removeIllegalGenerics(ClassFile classFile,
Options state) |
private static void |
CodeAnalyserWholeClass.removeInnerClassOuterThis(ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.removeInnerClassSyntheticConstructorFriends(ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.removeRedundantSupers(ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.renameAnonymousScopeHidingVariables(ClassFile classFile,
ClassCache classCache) |
private static void |
CodeAnalyserWholeClass.replaceNestedSyntheticOuterRefs(ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.resugarAsserts(ClassFile classFile,
Options options) |
private static void |
CodeAnalyserWholeClass.resugarJava14classObjects(ClassFile classFile,
DCCommonState state) |
private static void |
CodeAnalyserWholeClass.resugarRecords(ClassFile classFile,
DCCommonState state) |
private static void |
CodeAnalyserWholeClass.rewriteUnreachableStatics(ClassFile classFile,
TypeUsageCollectingDumper typeUsage) |
private static void |
CodeAnalyserWholeClass.tidyAnonymousConstructors(ClassFile classFile) |
private static void |
CodeAnalyserWholeClass.tryRemoveConstructor(ClassFile classFile) |
static void |
CodeAnalyserWholeClass.wholeClassAnalysisPass1(ClassFile classFile,
DCCommonState state) |
static void |
CodeAnalyserWholeClass.wholeClassAnalysisPass2(ClassFile classFile,
DCCommonState state) |
static void |
CodeAnalyserWholeClass.wholeClassAnalysisPass3(ClassFile classFile,
DCCommonState state,
TypeUsageCollectingDumper typeUsage) |
Modifier and Type | Method and Description |
---|---|
private java.util.List<Expression> |
Op02WithProcessedDataAndRefs.buildInvokeBootstrapArgs(MethodPrototype prototype,
MethodPrototype dynamicPrototype,
MethodHandleBehaviour bootstrapBehaviour,
BootstrapMethodInfo bootstrapMethodInfo,
ConstantPoolEntryMethodRef methodRef,
boolean showBoilerArgs,
ClassFile classFile,
DCCommonState state,
DecompilerComments comments) |
private Statement |
Op02WithProcessedDataAndRefs.buildInvokeDynamic(ClassFile classFile,
DCCommonState dcCommonState,
java.lang.String name,
MethodPrototype dynamicPrototype,
int idx,
boolean showBoilerArgs,
DecompilerComments comments) |
static void |
Op04StructuredStatement.fixInnerClassConstructorSyntheticOuterArgs(ClassFile classFile,
Method method,
Op04StructuredStatement root,
java.util.Set<MethodPrototype> processed) |
private static void |
Op04StructuredStatement.hideField(Op04StructuredStatement root,
MethodPrototype prototype,
ClassFile classFile,
int x,
LocalVariable protoVar,
LValue lValueArg,
java.lang.String overrideName) |
static void |
Op04StructuredStatement.removeEndResource(ClassFile classFile,
Op04StructuredStatement root) |
static void |
Op04StructuredStatement.rewriteExplicitTypeUsages(Method method,
Op04StructuredStatement block,
AnonymousClassUsage anonymousClassUsage,
ClassFile classFile) |
Modifier and Type | Method and Description |
---|---|
static void |
Op02GetClassRewriter.removeInvokeGetClass(ClassFile classFile,
java.util.List<Op02WithProcessedDataAndRefs> op02list,
GetClassTest classTest) |
boolean |
GetClassTest.test(ClassFile classFile,
Op02WithProcessedDataAndRefs item) |
boolean |
GetClassTestInnerConstructor.test(ClassFile classFile,
Op02WithProcessedDataAndRefs item) |
boolean |
GetClassTestLambda.test(ClassFile classFile,
Op02WithProcessedDataAndRefs item) |
private void |
Op02GetClassRewriter.tryRemove(ClassFile classFile,
Op02WithProcessedDataAndRefs item,
GetClassTest classTest) |
Modifier and Type | Field and Description |
---|---|
private ClassFile |
AssertRewriter.classFile |
private ClassFile |
EnumClassRewriter.classFile |
private ClassFile |
FakeMethodRewriter.Rewriter.classFile |
private ClassFile |
InnerClassConstructorRewriter.classFile |
private ClassFile |
J14ClassObjectRewriter.classFile |
private ClassFile |
NonStaticLifter.classFile |
private ClassFile |
StaticLifter.classFile |
private ClassFile |
SwitchEnumRewriter.classFile |
private ClassFile |
LambdaRewriter.thisClassFile |
Modifier and Type | Method and Description |
---|---|
private static Method |
RecordRewriter.getMethod(ClassFile classFile,
java.util.List<JavaTypeInstance> args,
java.lang.String name) |
private static void |
RecordRewriter.hideDefaultUtilityMethods(ClassFile classFile,
JavaTypeInstance thisType,
java.util.List<ClassFileField> instances) |
private static void |
RecordRewriter.hideEquals(ClassFile classFile,
JavaTypeInstance thisType,
java.util.List<ClassFileField> fields) |
private static void |
RecordRewriter.hideHashCode(ClassFile classFile,
JavaTypeInstance thisType,
java.util.List<ClassFileField> fields) |
private static void |
RecordRewriter.hideToString(ClassFile classFile,
JavaTypeInstance thisType,
java.util.List<ClassFileField> fields) |
static void |
RecordRewriter.rewrite(ClassFile classFile,
DCCommonState state) |
static void |
FakeMethodRewriter.rewrite(ClassFile classFile,
TypeUsageCollectingDumper typeUsage) |
static void |
UnreachableStaticRewriter.rewrite(ClassFile classFile,
TypeUsageCollectingDumper typeUsage) |
static void |
EnumClassRewriter.rewriteEnumClass(ClassFile classFile,
DCCommonState state) |
private static boolean |
RecordRewriter.rewriteIfRecord(ClassFile classFile,
DCCommonState state) |
Constructor and Description |
---|
AssertRewriter(ClassFile classFile,
Options options) |
EnumClassRewriter(ClassFile classFile,
JavaTypeInstance classType,
DCCommonState state) |
InnerClassConstructorRewriter(ClassFile classFile,
LocalVariable outerArg) |
J14ClassObjectRewriter(ClassFile classFile,
DCCommonState state) |
NonStaticLifter(ClassFile classFile) |
Rewriter(ClassFile classFile,
TypeUsageCollectingDumper typeUsage) |
StaticLifter(ClassFile classFile) |
SwitchEnumRewriter(DCCommonState dcCommonState,
ClassFile classFile,
BlockIdentifierFactory blockIdentifierFactory) |
Modifier and Type | Method and Description |
---|---|
static void |
DeadMethodRemover.removeDeadMethod(ClassFile classFile,
Method method) |
Modifier and Type | Field and Description |
---|---|
private ClassFile |
TryResourcesTransformerBase.classFile |
Modifier and Type | Method and Description |
---|---|
protected ClassFile |
TryResourcesTransformerBase.getClassFile() |
Modifier and Type | Method and Description |
---|---|
private boolean |
ObjectTypeUsageRewriter.needsReWrite(Expression lhsObject,
JavaTypeInstance owningClassType,
UnaryFunction<ClassFile,java.lang.Boolean> checkVisible) |
Constructor and Description |
---|
ObjectTypeUsageRewriter(AnonymousClassUsage anonymousClassUsage,
ClassFile classFile) |
TryResourcesTransformerBase(ClassFile classFile) |
TryResourcesTransformerJ12(ClassFile classFile) |
TryResourcesTransformerJ7(ClassFile classFile) |
TryResourcesTransformerJ9(ClassFile classFile) |
TryResourceTransformerFinally(ClassFile classFile) |
Modifier and Type | Field and Description |
---|---|
private ClassFile |
ConstructorInvokationAnonymousInner.classFile |
Modifier and Type | Method and Description |
---|---|
ClassFile |
ConstructorInvokationAnonymousInner.getClassFile() |
Modifier and Type | Method and Description |
---|---|
FakeMethod |
MethodHandlePlaceholder.addFakeMethod(ClassFile classFile) |
Constructor and Description |
---|
StaticVariable(ClassFile classFile,
ClassFileField classFileField,
boolean local) |
Modifier and Type | Field and Description |
---|---|
private ClassFile |
BoundSuperCollector.classFile |
private ClassFile |
MethodPrototype.classFile |
private ClassFile |
BindingSuperContainer.thisClass |
Modifier and Type | Method and Description |
---|---|
ClassFile |
JavaRefTypeInstance.getClassFile() |
Constructor and Description |
---|
BindingSuperContainer(ClassFile thisClass,
java.util.Map<JavaRefTypeInstance,JavaGenericRefTypeInstance> boundSuperClasses,
java.util.Map<JavaRefTypeInstance,BindingSuperContainer.Route> boundSuperRoute) |
BoundSuperCollector(ClassFile classFile) |
MethodPrototype(DCCommonState state,
ClassFile classFile,
JavaTypeInstance classType,
java.lang.String name,
boolean instanceMethod,
Method.MethodConstructor constructorFlag,
java.util.List<FormalTypeParameter> formalTypeParameters,
java.util.List<JavaTypeInstance> args,
JavaTypeInstance result,
java.util.List<JavaTypeInstance> exceptionTypes,
boolean varargs,
VariableNamer variableNamer,
boolean synthetic,
java.lang.String originalDescriptor) |
Modifier and Type | Field and Description |
---|---|
private ClassFile |
Method.classFile |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<JavaTypeInstance,Pair<InnerClassAttributeInfo,ClassFile>> |
ClassFile.innerClassesByTypeInfo |
Modifier and Type | Method and Description |
---|---|
ClassFile |
Method.getClassFile() |
Modifier and Type | Method and Description |
---|---|
void |
ClassFileField.dump(Dumper d,
ClassFile owner) |
void |
Field.dump(Dumper d,
java.lang.String name,
ClassFile owner,
boolean asRecordField) |
void |
ClassFileField.dumpAsRecord(Dumper d,
ClassFile owner) |
static JavaTypeInstance |
ClassFile.getAnonymousTypeBase(ClassFile classFile) |
boolean |
Field.isAccessibleFrom(JavaRefTypeInstance maybeCaller,
ClassFile classFile) |
Modifier and Type | Method and Description |
---|---|
private void |
ClassFile.analysePassOuterFirst(UnaryProcedure<ClassFile> fn) |
Constructor and Description |
---|
Method(ByteData raw,
ClassFile classFile,
ConstantPool cp,
DCCommonState dcCommonState,
ClassFileVersion classFileVersion) |
Modifier and Type | Field and Description |
---|---|
private ClassFile |
OverloadMethodSet.classFile |
Modifier and Type | Method and Description |
---|---|
Dumper |
ClassFileDumper.dump(ClassFile classFile,
ClassFileDumper.InnerClassDumpType innerClass,
Dumper d) |
Dumper |
ClassFileDumperAnnotation.dump(ClassFile classFile,
ClassFileDumper.InnerClassDumpType innerClass,
Dumper d) |
Dumper |
ClassFileDumperAnonymousInner.dump(ClassFile classFile,
ClassFileDumper.InnerClassDumpType innerClass,
Dumper d) |
Dumper |
ClassFileDumperEnum.dump(ClassFile classFile,
ClassFileDumper.InnerClassDumpType innerClass,
Dumper d) |
Dumper |
ClassFileDumperInterface.dump(ClassFile classFile,
ClassFileDumper.InnerClassDumpType innerClass,
Dumper d) |
Dumper |
ClassFileDumperModule.dump(ClassFile classFile,
ClassFileDumper.InnerClassDumpType innerClass,
Dumper d) |
Dumper |
ClassFileDumperNormal.dump(ClassFile classFile,
ClassFileDumper.InnerClassDumpType innerClass,
Dumper d) |
Dumper |
ClassFileDumperRecord.dump(ClassFile classFile,
ClassFileDumper.InnerClassDumpType innerClass,
Dumper d) |
(package private) void |
AbstractClassFileDumper.dumpAnnotations(ClassFile classFile,
Dumper d) |
(package private) void |
AbstractClassFileDumper.dumpComments(ClassFile classFile,
Dumper d) |
private void |
ClassFileDumperAnnotation.dumpHeader(ClassFile c,
ClassFileDumper.InnerClassDumpType innerClassDumpType,
Dumper d) |
private static void |
ClassFileDumperEnum.dumpHeader(ClassFile c,
ClassFileDumper.InnerClassDumpType innerClassDumpType,
Dumper d) |
private void |
ClassFileDumperInterface.dumpHeader(ClassFile c,
ClassFileDumper.InnerClassDumpType innerClassDumpType,
Dumper d) |
private void |
ClassFileDumperNormal.dumpHeader(ClassFile c,
ClassFileDumper.InnerClassDumpType innerClassDumpType,
Dumper d) |
private void |
ClassFileDumperRecord.dumpHeader(ClassFile c,
ClassFileDumper.InnerClassDumpType innerClassDumpType,
Dumper d) |
(package private) void |
AbstractClassFileDumper.dumpImports(Dumper d,
ClassFile classFile) |
(package private) void |
AbstractClassFileDumper.dumpMethods(ClassFile classFile,
Dumper d,
boolean first,
boolean asClass) |
private void |
ClassFileDumperInterface.dumpPackageInfo(ClassFile classFile,
Dumper d) |
(package private) void |
AbstractClassFileDumper.dumpTopHeader(ClassFile classFile,
Dumper d,
boolean showPackage) |
Dumper |
ClassFileDumperAnonymousInner.dumpWithArgs(ClassFile classFile,
MethodPrototype usedMethod,
java.util.List<Expression> args,
boolean isEnum,
Dumper d) |
private static boolean |
VisibilityHelper.isInnerVisibleTo(JavaTypeInstance maybeCaller,
ClassFile classFile) |
private boolean |
ClassFileDumperInterface.isPackageInfo(ClassFile classFile,
Dumper d) |
static boolean |
VisibilityHelper.isVisibleTo(JavaRefTypeInstance maybeCaller,
ClassFile classFile,
boolean accPublic,
boolean accPrivate,
boolean accProtected) |
Constructor and Description |
---|
OverloadMethodSet(ClassFile classFile,
MethodPrototype actualPrototype,
java.util.List<MethodPrototype> allPrototypes) |
OverloadMethodSet(ClassFile classFile,
OverloadMethodSet.MethodData actualPrototype,
java.util.List<OverloadMethodSet.MethodData> allPrototypes) |
Modifier and Type | Field and Description |
---|---|
private ClassFile |
ConstantPool.classFile |
Modifier and Type | Method and Description |
---|---|
static MethodPrototype |
ConstantPoolUtils.parseJavaMethodPrototype(DCCommonState state,
ClassFile classFile,
JavaTypeInstance classType,
java.lang.String name,
boolean instanceMethod,
Method.MethodConstructor constructorFlag,
ConstantPoolEntryUTF8 prototype,
ConstantPool cp,
boolean varargs,
boolean synthetic,
VariableNamer variableNamer,
java.lang.String originalDescriptor) |
Constructor and Description |
---|
ConstantPool(ClassFile classFile,
DCCommonState dcCommonState,
ByteData raw,
int count) |
Modifier and Type | Field and Description |
---|---|
private ClassFile |
MemberNameResolver.MemberInfo.classFile |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<ClassFile,java.util.Set<ClassFile>> |
MemberNameResolver.childToParent |
private java.util.Map<ClassFile,java.util.Set<ClassFile>> |
MemberNameResolver.childToParent |
private java.util.Map<ClassFile,MemberNameResolver.MemberInfo> |
MemberNameResolver.infoMap |
private UnaryFunction<ClassFile,java.util.Set<ClassFile>> |
MemberNameResolver.mapFactory |
private UnaryFunction<ClassFile,java.util.Set<ClassFile>> |
MemberNameResolver.mapFactory |
private java.util.Map<ClassFile,java.util.Set<ClassFile>> |
MemberNameResolver.parentToChild |
private java.util.Map<ClassFile,java.util.Set<ClassFile>> |
MemberNameResolver.parentToChild |
Modifier and Type | Method and Description |
---|---|
private ClassFile |
MemberNameResolver.classFileOrNull(JavaTypeInstance type) |
Modifier and Type | Method and Description |
---|---|
private void |
MemberNameResolver.checkBadNames(ClassFile c) |
private void |
MemberNameResolver.checkBadNames(ClassFile c,
MemberNameResolver.MemberInfo inherited,
java.util.Stack<ClassFile> parents) |
private void |
MemberNameResolver.rePushBadNames(ClassFile c) |
private void |
MemberNameResolver.rePushBadNames(ClassFile c,
java.util.Set<MemberNameResolver.MethodKey> clashes,
java.util.Stack<ClassFile> parents) |
static boolean |
MemberNameResolver.verifySingleClassNames(ClassFile oneClassFile) |
Modifier and Type | Method and Description |
---|---|
private void |
MemberNameResolver.checkBadNames(ClassFile c,
MemberNameResolver.MemberInfo inherited,
java.util.Stack<ClassFile> parents) |
private void |
MemberNameResolver.rePushBadNames(ClassFile c,
java.util.Set<MemberNameResolver.MethodKey> clashes,
java.util.Stack<ClassFile> parents) |
Constructor and Description |
---|
MemberInfo(ClassFile classFile) |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,ClassFile> |
DCCommonState.classFileCache |
private java.util.Map<ClassFile,java.util.Map<MethodPrototype,OverloadMethodSet>> |
OverloadMethodSetCache.content |
Modifier and Type | Method and Description |
---|---|
ClassFile |
DCCommonState.getClassFile(JavaTypeInstance classInfo) |
ClassFile |
DCCommonState.getClassFile(java.lang.String path) |
ClassFile |
DCCommonState.getClassFileMaybePath(java.lang.String pathOrName) |
ClassFile |
DCCommonState.getClassFileOrNull(JavaTypeInstance classInfo) |
ClassFile |
DCCommonState.loadClassFileAtPath(java.lang.String path) |
Modifier and Type | Method and Description |
---|---|
void |
DCCommonState.configureWith(ClassFile classFile) |
OverloadMethodSet |
OverloadMethodSetCache.get(ClassFile classFile,
MethodPrototype methodPrototype) |
void |
OverloadMethodSetCache.set(ClassFile classFile,
MethodPrototype methodPrototype,
OverloadMethodSet overloadMethodSet) |
Constructor and Description |
---|
TypeUsageCollectingDumper(Options options,
ClassFile analysisClass) |
Constructor and Description |
---|
DCCommonState(DCCommonState dcCommonState,
BinaryFunction<java.lang.String,DCCommonState,ClassFile> cacheAccess) |