gov.llnl.babel.backend.c
Class StubSource

java.lang.Object
  extended bygov.llnl.babel.backend.c.StubSource

public class StubSource
extends java.lang.Object

Class StubSource generates an C Backend stub source file to a language writer output stream. The constructor takes a language writer stream and method generateCode generates intermediate object representation for the specified symbol to the output stream. The language writer output stream is not closed by this object.


Constructor Summary
StubSource(LanguageWriterForC writer)
          Create a StubSource object that will write symbol information to the provided output writer stream.
 
Method Summary
 void generateCode(Symbol symbol)
          Write C stub source information for the provided symbol to the language writer output stream provided in the constructor.
static void generateCode(Symbol symbol, LanguageWriterForC writer)
          This is a convenience utility function that writes the C client stub source information into the provided language writer output stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StubSource

public StubSource(LanguageWriterForC writer)
Create a StubSource object that will write symbol information to the provided output writer stream.

Parameters:
writer - the output writer to which the header will be written. This will not be closed.
Method Detail

generateCode

public static void generateCode(Symbol symbol,
                                LanguageWriterForC writer)
                         throws CodeGenerationException
This is a convenience utility function that writes the C client stub source information into the provided language writer output stream. The output stream is not closed on exit. A code generation exception is thrown if an error is detected.

Parameters:
writer - the output writer to which the stub source will be written. This will not be closed.
Throws:
CodeGenerationException - this is a catch all exception. It can be caused by I/O trouble or violations of the data type invariants.

generateCode

public void generateCode(Symbol symbol)
                  throws CodeGenerationException
Write C stub source information for the provided symbol to the language writer output stream provided in the constructor. This method does not close the language writer output stream and may be called for more than one symbol (although the generated source may not be valid input for the C compiler). A code generation exception is generated if an error is detected. No code is generated for enumerated and package symbols.

Throws:
CodeGenerationException - this is a catch all exception. It can be caused by I/O trouble or violations of the data type invariants.