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)