

import java.util.*;
import java.io.*;
import Jakarta.util.*;

public class UmodClassDecl    {

    String previous = "";

    public void reduce2java( AstProperties props ) {

        // Step 1: remember the name of the class that is being extended
        //         this is needed for correctly expanding Super() constructs
        //         inside static methods.

        String extendsName = "";
        ExtendsClause ec = ( ExtendsClause ) arg[1].arg[0];
        if ( ec != null )
            extendsName = ec.GetName();
        props.setProperty( "SuperName", extendsName );
        String className = arg[0].tok[0].getTokenName();
		  previous = (String) props.getProperty( "ThisName" );
		  if (previous == null)
		     previous = "";
		  props.setProperty( "ThisName", className );

        // Step 2: do a normal reduction and return

        super.reduce2java( props );
        props.setProperty( "MixinDeclName", "" );
        props.setProperty( "SuperName", "" );
		  props.setProperty( "ThisName", previous );
    }
}
