Jode 1.90-CVS
Build Aug 6, 2004

net.sf.jode.obfuscator
Class Identifier

java.lang.Object
  extended bynet.sf.jode.obfuscator.Identifier
Direct Known Subclasses:
ClassIdentifier, FieldIdentifier, LocalIdentifier, MethodIdentifier, PackageIdentifier

public abstract class Identifier
extends java.lang.Object


Constructor Summary
Identifier(java.lang.String alias)
           
 
Method Summary
 void addShadow(Identifier orig)
          Mark that this identifier and the given identifier must always have the same name.
 void analyze()
          This is called by ClassBundle when it a class is added with ClassBundle.analyzeIdentifier().
 void applyPreserveRule(IdentifierMatcher preserveRule)
           
 void buildTable(Renamer renameRule)
           
abstract  boolean conflicting(java.lang.String newAlias)
           
 java.lang.String getAlias()
           
abstract  java.util.Iterator getChilds()
           
abstract  java.lang.String getFullAlias()
           
abstract  java.lang.String getFullName()
           
abstract  java.lang.String getName()
           
abstract  Identifier getParent()
           
 Identifier getRepresentative()
           
abstract  java.lang.String getType()
           
 boolean isPreserved()
          true, if this identifier must preserve its name, false if the name may be obfuscated.
 boolean isReachable()
          Returns true, if this identifier is reachable in some way, false if it is dead and can be removed.
 boolean isRepresentative()
           
 void readTable(java.util.Map table)
           
 void setAlias(java.lang.String name)
           
 void setPreserved()
          Mark all shadows as preserved.
 void setReachable()
          Mark all shadows as reachable.
protected  void setSinglePreserved()
          Marks this identifier as preserved.
protected  void setSingleReachable()
          Marks this identifier as reachable.
 boolean wasAliased()
           
 void writeTable(java.util.Map table)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Identifier

public Identifier(java.lang.String alias)
Method Detail

isReachable

public final boolean isReachable()
Returns true, if this identifier is reachable in some way, false if it is dead and can be removed.


isPreserved

public final boolean isPreserved()
true, if this identifier must preserve its name, false if the name may be obfuscated.


setSinglePreserved

protected void setSinglePreserved()
Marks this identifier as preserved. This will also make the identifier reachable, if it isn't already. You shouldn't call this directly, but use setPreserved instead.


setSingleReachable

protected void setSingleReachable()
Marks this identifier as reachable. You should override this method for method identifier, which may mark other methods as reachable. You shouldn't call this directly, but use setReachable instead.


setReachable

public void setReachable()
Mark all shadows as reachable.


setPreserved

public void setPreserved()
Mark all shadows as preserved.


getRepresentative

public Identifier getRepresentative()

isRepresentative

public final boolean isRepresentative()

wasAliased

public final boolean wasAliased()

setAlias

public final void setAlias(java.lang.String name)

getAlias

public final java.lang.String getAlias()

addShadow

public void addShadow(Identifier orig)
Mark that this identifier and the given identifier must always have the same name.


buildTable

public void buildTable(Renamer renameRule)

writeTable

public void writeTable(java.util.Map table)

readTable

public void readTable(java.util.Map table)

applyPreserveRule

public void applyPreserveRule(IdentifierMatcher preserveRule)

getChilds

public abstract java.util.Iterator getChilds()

getParent

public abstract Identifier getParent()

getName

public abstract java.lang.String getName()

getType

public abstract java.lang.String getType()

getFullName

public abstract java.lang.String getFullName()

getFullAlias

public abstract java.lang.String getFullAlias()

conflicting

public abstract boolean conflicting(java.lang.String newAlias)

analyze

public void analyze()
This is called by ClassBundle when it a class is added with ClassBundle.analyzeIdentifier().


Jode 1.90-CVS
Build Aug 6, 2004

Copyright © 1998-2004 by Jochen Hoenicke.