 
	import java.io.*;
	import java.util.*;
	import demeter.*;
	import java.lang.*;


import demeter.*;
class AppendVisitor implements Cloneable {
  private Names names;
  public Names get_names() { return names; }
  public void set_names(Names new_names)
    { names = new_names; }
  AppendVisitor() { }
  public AppendVisitor(Names names) {
    super();
    set_names(names);
  }
  public static AppendVisitor parse(java.io.InputStream in) throws ParseError
    { return new Parser(in)._AppendVisitor(); }
  public static AppendVisitor parse(String str) throws ParseError
    { return parse(new java.io.StringBufferInputStream(str)); }
  public void before(Root host) {
                this.get_names().addElement(host.slot_name());
        }
  public void after(Root host) {
                this.get_names().addElement(host.slot_name());
        }
  public void before(Non_Empty_RootClass host) {
                this.get_names().addElement(host.slot_name());
        }
  public void after(Non_Empty_RootClass host) {
                this.get_names().addElement(host.slot_name());
        }
  public void before(Non_Empty_SubClass1 host) {
                this.get_names().addElement(host.slot_name());
        }
  public void after(Non_Empty_SubClass1 host) {
                this.get_names().addElement(host.slot_name());
        }
  public void before(Non_Empty_SubClass2 host) {
                this.get_names().addElement(host.slot_name());
        }
  public void after(Non_Empty_SubClass2 host) {
                this.get_names().addElement(host.slot_name());
        }
}

