import java.util.*; import Jakarta.util.*; import java.io.*; //---------- code for processing an AST_TypeNameList public class AST_TypeNameList { // removes name from AST_TypeNameList if it is present. // returns modified list as result -- or null if the resulting // list is empty. public AST_TypeNameList removeName( String name ) { int counter = 0; AST_QualifiedName a = null; AstCursor c = new AstCursor(); for ( c.FirstElement( this ); c.MoreElement(); c.NextElement() ) { // if there is a cast error, it's because there should never // be anything other than TNClass pointing to an AST_QualifiedName try { TNClass t = ( TNClass ) c.node; QNameType q = ( QNameType ) t.arg[0]; a = ( AST_QualifiedName ) q.arg[0]; } catch ( Exception e ) { AstNode.fatalError( "something other than AST_QualifiedName " + e.getMessage() ); } if ( a.GetName().equals( name ) ) c.Delete(); else counter++; } return ( counter != 0 ) ? ( AST_TypeNameList ) this : null ; } }