import java.util.*;
import Jakarta.util.FixDosOutputStream;
import java.io.*;
// this layer encapsulates the grammar rule and translation
// of "layer xxx;" to "package xxx;"
public class AspectStm {
public static final String packID = "$pack";
public void reduce2java( AstProperties props ) {
props.print( getComment() + "package" );
// here's were we determine the default value of packName
// if nothing was specified on the command line, we use
// the entire name that is given in the layer declaration
// NOTE the following behavior: when jak2java is to process
// a list of files, Main.packName is set here ONCE and Main.main
// is called once. Once Main.packName is set, it is used
// FOR ALL SUBSEQUENT FILE TRANSLATIONS.
if (Main.packName.equals(""))
Main.packName = ((AST_QualifiedName) arg[0]).GetName();
// here's where we broadcast this on properties
props.setProperty( AspectStm.packID, Main.packName );
arg[0].reduce2java( props );
props.print( ";" );
}
}