gov.llnl.babel.backend.python
Class SetupGenerator

java.lang.Object
  extended by gov.llnl.babel.backend.python.SetupGenerator
All 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.


Constructor Summary
SetupGenerator()
           
 
Method Summary
 void createAll()
          Generate the setup.py to build the Python extension modules.
 java.util.Set getLanguages()
          Return the set of languages that this build generator serves.
 void newFile(SymbolID id, int type, java.lang.String role, java.lang.String dir, java.lang.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SetupGenerator

public SetupGenerator()
Method Detail

createAll

public void createAll()
               throws java.io.IOException
Generate the setup.py to build the Python extension modules.

Specified by:
createAll in interface BuildGenerator
Throws:
java.io.IOException - this is a exception that contains all the I/O exceptions that occurred during file generation.

newFile

public void newFile(SymbolID id,
                    int type,
                    java.lang.String role,
                    java.lang.String dir,
                    java.lang.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.

getLanguages

public java.util.Set getLanguages()
Description copied from interface: BuildGenerator
Return the set of languages that this build generator serves. Each build generator serves a Set of languages.

Specified by:
getLanguages in interface BuildGenerator
Returns:
a Set of strings. Each string in the set represents a language supported by the build generator.

setContext

public void setContext(Context context)
Description copied from interface: ContextAware
Routine to notify extensions of the context.

Specified by:
setContext in interface ContextAware