From 8560daa7e3db9f94a2378526a32d9a23ba76d43d Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 5 Jul 1999 14:33:43 +0000 Subject: [PATCH] getChilds() method added handle build/write/readTable git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@1012 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/obfuscator/Identifier.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/jode/jode/obfuscator/Identifier.java b/jode/jode/obfuscator/Identifier.java index 841340d..c92a6ea 100644 --- a/jode/jode/obfuscator/Identifier.java +++ b/jode/jode/obfuscator/Identifier.java @@ -171,10 +171,15 @@ public abstract class Identifier { static int serialnr = 0; public void buildTable(Renamer renameRule) { + if (!isReachable() + && (Main.stripping & Main.STRIP_UNREACH) != 0) + return; + if (isPreserved()) { if (GlobalOptions.verboseLevel > 4) GlobalOptions.err.println(toString() + " is preserved"); } else { + Identifier rep = getRepresentative(); if (rep.wasAliased) return; @@ -196,10 +201,18 @@ public abstract class Identifier { return; } } + for (Iterator i = getChilds(); i.hasNext(); ) + ((Identifier)i.next()).buildTable(renameRule); } public void writeTable(Map table) { + if (!isReachable() + && (Main.stripping & Main.STRIP_UNREACH) != 0) + return; + table.put(getFullAlias(), getName()); + for (Iterator i = getChilds(); i.hasNext(); ) + ((Identifier)i.next()).writeTable(table); } public void readTable(Map table) { @@ -211,6 +224,8 @@ public abstract class Identifier { rep.setAlias(newAlias); } } + for (Iterator i = getChilds(); i.hasNext(); ) + ((Identifier)i.next()).readTable(table); } public void applyPreserveRule(IdentifierMatcher preserveRule) {