import java.util.*;
import Jakarta.util.FixDosOutputStream;
import java.io.*;
/** production
[ AST_Modifiers ] UnmodifiedTypeDeclaration ::ModTypeDecl
*
* @layer<preprocess>
*/
public class ModTypeDecl {
// returns true only for Ute
public boolean isExtension() {
return ( ( UnmodifiedTypeDeclaration ) arg[1] ).isExtension();
}
/** returns name of UnmodifiedTypeDecl
* @layer<preprocess>
*/
public String GetName() {
return ( ( UnmodifiedTypeDeclaration ) arg[1] ).GetName();
}
/** returns type signature of UnmodifiedTypeDecl
* @layer<preprocess>
*/
public String GetType() {
return ( ( UnmodifiedTypeDeclaration ) arg[1] ).GetType();
}
/** composition of ModTypeDecls done in two steps:
(a) compose modifier lists
(b) compose unmodified type decls
*
* @layer<preprocess>
*/
/** composes base ModTypeDecl with extension ModTypeDecl<br>
composition done in two steps:<br>
(a) compose modifier lists<br>
(b) compose unmodified type decls <br>
*/
public void compose( AstNode etree ) {
ModTypeDecl e = ( ModTypeDecl ) etree;
// Step 1: compose modifier lists -- if base list is null
// just use the extension list
arg[0].compose( e.arg[0] );
// Step 2: compose unmodifiedtype declarations
arg[1].compose( e.arg[1] );
}
}