From 82af4162ab19c7c6b356ccbfc73a241819aebd02 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 5 May 1999 20:51:32 +0000 Subject: [PATCH] give a scopeType for getClassString git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@765 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/decompiler/TabbedPrintWriter.java | 24 +++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/jode/jode/decompiler/TabbedPrintWriter.java b/jode/jode/decompiler/TabbedPrintWriter.java index 8767e27..41d8606 100644 --- a/jode/jode/decompiler/TabbedPrintWriter.java +++ b/jode/jode/decompiler/TabbedPrintWriter.java @@ -178,7 +178,7 @@ public class TabbedPrintWriter { return null; } - public String getInnerClassString(ClassInfo info) { + public String getInnerClassString(ClassInfo info, int scopeType) { InnerClassInfo[] outers = info.getOuterClasses(); if (outers == null) return null; @@ -188,7 +188,7 @@ public class TabbedPrintWriter { Scope scope = getScope(ClassInfo.forName(outers[i].outer), Scope.CLASSSCOPE); if (scope != null && - !conflicts(outers[i].name, scope, Scope.AMBIGUOUSNAME)) { + !conflicts(outers[i].name, scope, scopeType)) { StringBuffer sb = new StringBuffer(outers[i].name); for (int j = i; j-- > 0;) { sb.append('.').append(outers[j].name); @@ -197,14 +197,14 @@ public class TabbedPrintWriter { } } String name = getClassString - (ClassInfo.forName(outers[outers.length-1].outer)); + (ClassInfo.forName(outers[outers.length-1].outer), scopeType); StringBuffer sb = new StringBuffer(name); for (int j = outers.length; j-- > 0;) sb.append('.').append(outers[j].name); return sb.toString(); } - public String getAnonymousClassString(ClassInfo info) { + public String getAnonymousClassString(ClassInfo info, int scopeType) { InnerClassInfo[] outers = info.getOuterClasses(); if (outers == null) return null; @@ -217,7 +217,7 @@ public class TabbedPrintWriter { outers[i].outer == null ? Scope.METHODSCOPE : Scope.CLASSSCOPE); if (scope != null && - !conflicts(outers[i].name, scope, Scope.AMBIGUOUSNAME)) { + !conflicts(outers[i].name, scope, scopeType)) { StringBuffer sb = new StringBuffer(outers[i].name); for (int j = i; j-- > 0;) { sb.append('.').append(outers[j].name); @@ -238,31 +238,33 @@ public class TabbedPrintWriter { } } String name = getClassString - (ClassInfo.forName(outers[outers.length-1].outer)); + (ClassInfo.forName(outers[outers.length-1].outer), scopeType); StringBuffer sb = new StringBuffer(name); for (int j = outers.length; j-- > 0;) sb.append('.').append(outers[j].name); return sb.toString(); } - public String getClassString(ClassInfo clazz) { + public String getClassString(ClassInfo clazz, int scopeType) { String name = clazz.getName(); if (name.indexOf('$') >= 0) { if ((Decompiler.options & Decompiler.OPTION_INNER) != 0) { - String innerClassName = getInnerClassString(clazz); + String innerClassName + = getInnerClassString(clazz, scopeType); if (innerClassName != null) return innerClassName; } if ((Decompiler.options & Decompiler.OPTION_ANON) != 0) { - String innerClassName = getAnonymousClassString(clazz); + String innerClassName + = getAnonymousClassString(clazz, scopeType); if (innerClassName != null) return innerClassName; } } if (imports != null) { String importedName = imports.getClassString(clazz); - if (!conflicts(importedName, null, Scope.AMBIGUOUSNAME)) + if (!conflicts(importedName, null, scopeType)) return importedName; } if (conflicts(name, null, Scope.AMBIGUOUSNAME)) @@ -275,7 +277,7 @@ public class TabbedPrintWriter { return getTypeString(((ArrayType) type).getElementType()) + "[]"; else if (type instanceof ClassInterfacesType) { ClassInfo clazz = ((ClassInterfacesType) type).getClassInfo(); - return getClassString(clazz); + return getClassString(clazz, Scope.CLASSNAME); } else if (type instanceof NullType) return "Object"; else