gov.llnl.babel.backend.c
Class SkelSource

java.lang.Object
  extended by gov.llnl.babel.backend.c.SkelSource

public class SkelSource
extends java.lang.Object

Class SkelSource generates a C skeleton source file to the language writer output stream. The skeleton provides the glue between the independent object representation (IOR) and the developer's C implementation of the class.

The skeleton source contains free functions to fill the entry point vector and optionally the static entry point vector. These functions are what the IOR requires.

The skeleton source contains free functions to get/set the private data pointer from the IOR. These functions are what the implementation source requires. For the base class (i.e. the class without a parent class), the skeleton also include a function to destroy the object. This function is required for the implemention of deleteRef.


Constructor Summary
SkelSource()
           
 
Method Summary
static void generateCode(Class cls, LanguageWriterForC writer, Context context)
          Write the skeleton file for a particular class to the language writer provided.
static void generateIncludes(Class cls, LanguageWriterForC writer, Context context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SkelSource

public SkelSource()
Method Detail

generateCode

public static void generateCode(Class cls,
                                LanguageWriterForC writer,
                                Context context)
                         throws CodeGenerationException
Write the skeleton file for a particular class to the language writer provided. The skeleton file is the glue between the IOR and the developer's implementation of the class.

Parameters:
cls - a skeleton file for this class will be written to writer
writer - this is the output device to which the skeleton file will be written.
Throws:
CodeGenerationException - this is a catch all exception. It can be caused by I/O trouble or violations of the data type invariants.

generateIncludes

public static void generateIncludes(Class cls,
                                    LanguageWriterForC writer,
                                    Context context)
                             throws CodeGenerationException
Throws:
CodeGenerationException