From bf7761c6a1e0385491b4d860df3ae8ed628bbbc4 Mon Sep 17 00:00:00 2001 From: jochen Date: Tue, 13 Apr 1999 10:47:16 +0000 Subject: [PATCH] getIdentifier(Reference) added getIdentifier(String) renamed to getClassIdentifier git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@581 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/obfuscator/ClassBundle.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/jode/jode/obfuscator/ClassBundle.java b/jode/jode/obfuscator/ClassBundle.java index aed76b6..d8d53e1 100644 --- a/jode/jode/obfuscator/ClassBundle.java +++ b/jode/jode/obfuscator/ClassBundle.java @@ -20,6 +20,7 @@ package jode.obfuscator; import jode.Obfuscator; import jode.bytecode.ClassInfo; +import jode.bytecode.Reference; import java.io.*; import java.util.*; import java.util.zip.ZipOutputStream; @@ -56,8 +57,21 @@ public class ClassBundle { return newSig.append(typeSig.substring(index)).toString(); } - public Identifier getIdentifier(String name) { - return basePackage.getIdentifier(name); + public ClassIdentifier getClassIdentifier(String name) { + return (ClassIdentifier) basePackage.getIdentifier(name); + } + + public Identifier getIdentifier(Reference ref) { + String clName = ref.getClazz(); + if (clName.charAt(0) == '[') + /* Can't represent arrays */ + return null; + ClassIdentifier ident = + getClassIdentifier(clName.substring(1, clName.length()-1) + .replace('/','.')); + if (ident == null) + return null; + return ident.getIdentifier(ref.getName(), ref.getType()); } public void loadClasses(String packageOrClass) {