package EDU.neu.ccs.demeter.tools.apstudio.graphedit; import java.awt.*; import java.io.*; import java.util.*; import EDU.neu.ccs.demeter.*; import EDU.neu.ccs.demeter.common.tg.*; import EDU.neu.ccs.demeter.*; class ClassSpec_Commalist implements java.util.Enumeration, Cloneable { protected Nonempty_ClassSpec_Commalist first; public Nonempty_ClassSpec_Commalist get_first() { return first; } public void set_first(Nonempty_ClassSpec_Commalist new_first) { first = new_first; } ClassSpec_Commalist() { super(); } public ClassSpec_Commalist(Nonempty_ClassSpec_Commalist first) { super(); set_first(first); } public static ClassSpec_Commalist parse(java.io.InputStream in) throws ParseException { return new Parser(in)._ClassSpec_Commalist(); } public static ClassSpec_Commalist parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); _v_.before_first(this, first); first.universal_trv0(_v_); _v_.after_first(this, first); universal_trv0_aft(_v_); } void toAllSubclasses_Program_trv_bef(ClassNameTranspVisitor cntv, EdgeVisitor aev) { } void toAllSubclasses_Program_trv_aft(ClassNameTranspVisitor cntv, EdgeVisitor aev) { } void toAllSubclasses_Program_trv(ClassNameTranspVisitor cntv, EdgeVisitor aev) { toAllSubclasses_Program_trv_bef(cntv, aev); first.toAllSubclasses_Program_trv(cntv, aev); toAllSubclasses_Program_trv_aft(cntv, aev); } void toClassSpec_RepeatedPart_trv_bef(RepClassSpecVisitor csv) { } void toClassSpec_RepeatedPart_trv_aft(RepClassSpecVisitor csv) { } void toClassSpec_RepeatedPart_trv(RepClassSpecVisitor csv) { toClassSpec_RepeatedPart_trv_bef(csv); first.toClassSpec_RepeatedPart_trv(csv); toClassSpec_RepeatedPart_trv_aft(csv); } void toSyntaxClassSpec_RepeatedPart_trv_bef(SomeClassSpecVisitor scv) { } void toSyntaxClassSpec_RepeatedPart_trv_aft(SomeClassSpecVisitor scv) { } void toSyntaxClassSpec_RepeatedPart_trv(SomeClassSpecVisitor scv) { toSyntaxClassSpec_RepeatedPart_trv_bef(scv); first.toSyntaxClassSpec_RepeatedPart_trv(scv); toSyntaxClassSpec_RepeatedPart_trv_aft(scv); } private Nonempty_ClassSpec_Commalist tail; public void addElement(ClassSpec e) { checktail(); if (tail == null) { first = new Nonempty_ClassSpec_Commalist(e,null); tail = first; } else { tail.set_next(new Nonempty_ClassSpec_Commalist(e,null)); tail = tail.get_next(); } } public void push(ClassSpec e) { first = new Nonempty_ClassSpec_Commalist(e,first); } public java.util.Enumeration elements() { return new ClassSpec_Commalist(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() { ClassSpec 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(ClassSpec e) { java.util.Enumeration en = this.elements(); while (en.hasMoreElements()) if (e.equals((ClassSpec) en.nextElement())) return true; return false; } }