gov.llnl.babel.backend.python

Class SetupGenerator

Implemented Interfaces:
BuildGenerator, ContextAware, FileListener

public class SetupGenerator
extends java.lang.Object
implements BuildGenerator, FileListener, ContextAware

This class writes a setup.py file to build all the Python extension modules and implementation code.

Method Summary

void
createAll()
Generate the setup.py to build the Python extension modules.
Set
getLanguages()
void
newFile(SymbolID id, int type, String role, String dir, String name)
This method is called by the FileManager for each new file it creates.
void
setContext(Context context)
Routine to notify extensions of the context.

Method Details

createAll

public void createAll()
            throws IOException
Generate the setup.py to build the Python extension modules.
Specified by:
createAll in interface BuildGenerator

getLanguages

public Set getLanguages()
Specified by:
getLanguages in interface BuildGenerator

newFile

public void newFile(SymbolID id,
                    int type,
                    String role,
                    String dir,
                    String name)
This method is called by the FileManager for each new file it creates. This object caches the information it needs to setup.py creation later.
Specified by:
newFile in interface FileListener
Parameters:
id - the file is related to this symbol ID.
type - indicates the type of the symbol ID (one of the constants from Type.
role - this describes the role the file plays. For example, the file could be a STUBSRCS file or a IMPLSRCS file. The role strings used are determined by the backend.
dir - the path (relative or absolute) of the directory where the file will be created.
name - the name of the file not including any directory information. The complete name of the file should be dir + name.

setContext

public void setContext(Context context)
Routine to notify extensions of the context.
Specified by:
setContext in interface ContextAware