gov.llnl.babel.backend.fortran
Class ModuleSource
java.lang.Object
gov.llnl.babel.backend.fortran.ModuleSource
public class ModuleSource
extends java.lang.Object
This class provides the ability to write a FORTRAN 90 module for
a sidl class/interface.
ModuleSource
public ModuleSource(LanguageWriterForFortran writer,
Context context)
Generate an instance to write the module for a FORTRAN 90
client.
writer
- the output device to which the FORTRAN 90 module
should be written.
generateCode
public void generateCode(Enumeration enm)
throws CodeGenerationException
Generate the FORTRAN 90 module file for a sidl enumerated type.
enm
- the sidl enumeration whose module is to be written.
generateCode
public void generateCode(Extendable ext)
throws CodeGenerationException
Generate the FORTRAN 90 module file for a sidl class.
ext
- the sidl class whose module is to be written.
generateCode
public static void generateCode(Symbol sym,
LanguageWriterForFortran writer,
Context context)
throws CodeGenerationException
Generate the FORTRAN 90 module file for a sidl class.
Note: This is the assumed entry point; otherwise, the test for
the version of the language should be repeated.
generateSupers
public static void generateSupers(Class cls,
LanguageWriterForFortran writer,
CodeSplicer splicer,
Context context,
NameMangler mang)
throws CodeGenerationException
This is a convenience utility function specifically for the generation
of super "Stub" functions in the Impl files.
The output stream is not closed on exit. A code
generation exception is thrown if an error is detected.
cls
- The class in which these supers are to be generatedwriter
- the output writer to which the stub source will
be written. This will not be closed.
CodeGenerationException
- this is a catch all exception. It can be caused by I/O trouble or
violations of the data type invariants.