|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2000-2014 JetBrains s.r.o. |
|
|
|
* Copyright 2000-2015 JetBrains s.r.o. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
@ -220,9 +220,11 @@ public class NestedClassProcessor { |
|
|
|
|
|
|
|
|
|
|
|
if (!hasEnclosing) { |
|
|
|
if (!hasEnclosing) { |
|
|
|
if (child.type == ClassNode.CLASS_ANONYMOUS) { |
|
|
|
if (child.type == ClassNode.CLASS_ANONYMOUS) { |
|
|
|
|
|
|
|
if (!child.classStruct.hasModifier(CodeConstants.ACC_SYNTHETIC)) { |
|
|
|
String message = "Unreferenced anonymous class " + child.classStruct.qualifiedName + "!"; |
|
|
|
String message = "Unreferenced anonymous class " + child.classStruct.qualifiedName + "!"; |
|
|
|
DecompilerContext.getLogger().writeMessage(message, IFernflowerLogger.Severity.WARN); |
|
|
|
DecompilerContext.getLogger().writeMessage(message, IFernflowerLogger.Severity.WARN); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
else if (child.type == ClassNode.CLASS_LOCAL) { |
|
|
|
else if (child.type == ClassNode.CLASS_LOCAL) { |
|
|
|
String message = "Unreferenced local class " + child.classStruct.qualifiedName + "!"; |
|
|
|
String message = "Unreferenced local class " + child.classStruct.qualifiedName + "!"; |
|
|
|
DecompilerContext.getLogger().writeMessage(message, IFernflowerLogger.Severity.WARN); |
|
|
|
DecompilerContext.getLogger().writeMessage(message, IFernflowerLogger.Severity.WARN); |
|
|
@ -274,9 +276,11 @@ public class NestedClassProcessor { |
|
|
|
|
|
|
|
|
|
|
|
HashMap<String, List<VarFieldPair>> mask = getMaskLocalVars(nd.getWrapper()); |
|
|
|
HashMap<String, List<VarFieldPair>> mask = getMaskLocalVars(nd.getWrapper()); |
|
|
|
if (mask.isEmpty()) { |
|
|
|
if (mask.isEmpty()) { |
|
|
|
|
|
|
|
if (!nd.classStruct.hasModifier(CodeConstants.ACC_SYNTHETIC)) { |
|
|
|
String message = "Nested class " + nd.classStruct.qualifiedName + " has no constructor!"; |
|
|
|
String message = "Nested class " + nd.classStruct.qualifiedName + " has no constructor!"; |
|
|
|
DecompilerContext.getLogger().writeMessage(message, IFernflowerLogger.Severity.WARN); |
|
|
|
DecompilerContext.getLogger().writeMessage(message, IFernflowerLogger.Severity.WARN); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
mapVarMasks.put(nd.classStruct.qualifiedName, mask); |
|
|
|
mapVarMasks.put(nd.classStruct.qualifiedName, mask); |
|
|
|
} |
|
|
|
} |
|
|
|