public class MemberAdder extends java.lang.Object implements MemberVisitor
MemberVisitor
copies all class members that it visits to the given
target class. Their processing info is set to the class members from which they
were copied.Constructor and Description |
---|
MemberAdder(ProgramClass targetClass)
Creates a new MemberAdder that will copy methods into the given target
class.
|
MemberAdder(ProgramClass targetClass,
MemberVisitor extraMemberVisitor)
Creates a new MemberAdder that will copy methods into the given target
class.
|
MemberAdder(ProgramClass targetClass,
StringFunction nameTransformer,
MemberVisitor extraMemberVisitor)
Creates a new MemberAdder that will copy methods into the given target
class.
|
Modifier and Type | Method and Description |
---|---|
static void |
main(java.lang.String[] args)
This main method illustrates and tests the class, by reading an input
class file and copying its class members into a new class that it
writes to an output class file.
|
void |
visitProgramField(ProgramClass programClass,
ProgramField programField) |
void |
visitProgramMethod(ProgramClass programClass,
ProgramMethod programMethod) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
visitAnyMember, visitLibraryField, visitLibraryMember, visitLibraryMethod, visitProgramMember
public MemberAdder(ProgramClass targetClass)
targetClass
- the class to which all visited class members will be
added.public MemberAdder(ProgramClass targetClass, MemberVisitor extraMemberVisitor)
targetClass
- the class to which all visited class members
will be added.extraMemberVisitor
- an optional member visitor that visits each
new member right after it has been added. This
allows changing the processing info, for instance.public MemberAdder(ProgramClass targetClass, StringFunction nameTransformer, MemberVisitor extraMemberVisitor)
targetClass
- the class to which all visited class members
will be added.nameTransformer
- the transformer to be applied to each member's
name before copying. If null, the original
name will be used.extraMemberVisitor
- an optional member visitor that visits each
new member right after it has been added. This
allows changing the processing info, for instance.public void visitProgramField(ProgramClass programClass, ProgramField programField)
visitProgramField
in interface MemberVisitor
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
visitProgramMethod
in interface MemberVisitor
public static void main(java.lang.String[] args)