Class MemberAdder

  • All Implemented Interfaces:
    MemberVisitor

    public class MemberAdder
    extends java.lang.Object
    implements MemberVisitor
    This 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 Detail

      • MemberAdder

        public MemberAdder​(ProgramClass targetClass)
        Creates a new MemberAdder that will copy methods into the given target class.
        Parameters:
        targetClass - the class to which all visited class members will be added.
      • MemberAdder

        public MemberAdder​(ProgramClass targetClass,
                           MemberVisitor extraMemberVisitor)
        Creates a new MemberAdder that will copy methods into the given target class.
        Parameters:
        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.
      • MemberAdder

        public MemberAdder​(ProgramClass targetClass,
                           StringFunction nameTransformer,
                           MemberVisitor extraMemberVisitor)
        Creates a new MemberAdder that will copy methods into the given target class.
        Parameters:
        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.
    • Method Detail

      • main

        public 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.