core: import edu.neu.ccs.demeter.dj.*; import java.util.*; import edu.neu.ccs.demeter.*; add: class ClassInfo_List implements java.util.Enumeration, Cloneable { protected Nonempty_ClassInfo_List first; public Nonempty_ClassInfo_List get_first() {{ return first; }} public void set_first(Nonempty_ClassInfo_List new_first) {{ first = new_first; }} public constructor ClassInfo_List() {{ super(); }} public constructor ClassInfo_List(Nonempty_ClassInfo_List first) {{ super(); set_first(first); }} public static ClassInfo_List parse(java.io.Reader in) throws ParseException {{ return new Parser(in)._ClassInfo_List(); }} public static ClassInfo_List parse(java.io.InputStream in) throws ParseException {{ return new Parser(in)._ClassInfo_List(); }} public static ClassInfo_List parse(String s) {{ try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } }} {{ void universal_trv0_bef(UniversalVisitor _v_) { ((UniversalVisitor) _v_).before(this); } }} {{ void universal_trv0_aft(UniversalVisitor _v_) { ((UniversalVisitor) _v_).after(this); } }} {{ void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); if (first != null) { ((UniversalVisitor) _v_).before_first(this, first); first.universal_trv0(_v_); ((UniversalVisitor) _v_).after_first(this, first); } universal_trv0_aft(_v_); } }} {{ private Nonempty_ClassInfo_List tail; public void addElement(ClassInfo e) { checktail(); if (tail == null) { first = new Nonempty_ClassInfo_List(e,null); tail = first; } else { tail.set_next(new Nonempty_ClassInfo_List(e,null)); tail = tail.get_next(); } } public void push(ClassInfo e) { first = new Nonempty_ClassInfo_List(e,first); } public java.util.Enumeration elements() { return new ClassInfo_List(first); } public int size() { int i= 0; for (java.util.Enumeration e=elements(); e.hasMoreElements(); i++) e.nextElement(); return i; } public boolean isEmpty() { return (first == null); } public boolean hasMoreElements() { return (first != null); } public Object nextElement() { ClassInfo car = first.get_it(); first = first.get_next(); return (Object) car; } private void checktail() { if (tail == null && first != null) { tail = first; while (tail.get_next() != null) tail = tail.get_next(); } } public boolean contains(ClassInfo e) { java.util.Enumeration en = this.elements(); while (en.hasMoreElements()) if (e.equals((ClassInfo) en.nextElement())) return true; return false; } }} }