gov.llnl.babel.backend.c
Class StubHeader

java.lang.Object
  |
  +--gov.llnl.babel.backend.c.StubHeader

public class StubHeader
extends java.lang.Object

Class StubHeader writes a C client header to a language writer output stream. The constructor takes a language writer stream and method generateCode writes the C client header code for the specified symbol to the output stream. The language writer output stream is not closed by this object.


Constructor Summary
StubHeader(LanguageWriterForC writer)
          Create a StubHeader object that will write symbol information to the provided output language writer stream.
 
Method Summary
 void generateCode(Symbol symbol)
          Write C client header 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 header 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

StubHeader

public StubHeader(LanguageWriterForC writer)
Create a StubHeader object that will write symbol information to the provided output language 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 header 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:
symbol - the symbol for which a C client header will be written.
writer - the output writer to which the header will be written. This will not be closed.
Throws:
gov.llnl.backend.CodeGenerationException - this is a catch all exception. It can be caused by I/O trouble or violations of the data type invariants.
CodeGenerationException

generateCode

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

Parameters:
symbol - the Symbol whose header 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.