gov.llnl.babel.backend.c
public class StubSource extends java.lang.Object
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 and Description |
---|
StubSource(LanguageWriterForC writer,
Context context)
Create a
StubSource object that will write symbol
information to the provided output writer stream. |
Modifier and Type | Method and Description |
---|---|
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,
Context context)
This is a convenience utility function that writes the C client
stub source information into the provided language writer output
stream.
|
static void |
generateGetExternals(Class cls,
LanguageWriterForC writer,
Context context) |
static void |
generateMethodStubBody(LanguageWriterForC writer,
Context context,
SymbolID id,
boolean isInterface,
Method method) |
static void |
generateSingleMethodStub(LanguageWriterForC writer,
Context context,
SymbolID id,
boolean isInterface,
Method method,
boolean writeComment)
Generate a single method implementation for the methods in the interface
or class.
|
void |
generateSupers(java.util.Collection methods,
Class cls)
This function is designed to generate stubs to the super functions
available in this Impl files.
|
static void |
generateSupers(java.util.Collection methods,
Class cls,
LanguageWriterForC writer,
Context context)
This is a convenience utility function specifically for the generation
of super "Stub" functions in the Impl files.
|
static void |
writeStructDeserialize(LanguageWriter writer,
Struct strct,
java.lang.String suffix,
Context context) |
static void |
writeStructSerialize(LanguageWriter writer,
Struct strct,
java.lang.String suffix) |
public StubSource(LanguageWriterForC writer, Context context)
StubSource
object that will write symbol
information to the provided output writer stream.writer
- the output writer to which the header will be written.
This will not be closed.public static void generateCode(Symbol symbol, LanguageWriterForC writer, Context context) throws CodeGenerationException
symbol
- the Symbol
whose stub source is being written.writer
- 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.public static void generateSupers(java.util.Collection methods, Class cls, LanguageWriterForC writer, Context context) throws CodeGenerationException
methods
- is a collection of super methods to be generated.writer
- the output writer to which the stub source will
be written. This will not be closed.cls
- The class in which these supers are to be generatedCodeGenerationException
- this is a catch all exception. It can be caused by I/O trouble or
violations of the data type invariants.public static void generateGetExternals(Class cls, LanguageWriterForC writer, Context context) throws CodeGenerationException
CodeGenerationException
public void generateCode(Symbol symbol) throws CodeGenerationException
symbol
- the Symbol
whose stub source is being written.CodeGenerationException
- this is a catch all exception. It can be caused by I/O trouble or
violations of the data type invariants.public void generateSupers(java.util.Collection methods, Class cls) throws CodeGenerationException
methods
- A collection of methods to write out.CodeGenerationException
- this is a catch all exception. It can be caused by I/O trouble or
violations of the data type invariants.public static void writeStructSerialize(LanguageWriter writer, Struct strct, java.lang.String suffix) throws CodeGenerationException
CodeGenerationException
public static void writeStructDeserialize(LanguageWriter writer, Struct strct, java.lang.String suffix, Context context) throws CodeGenerationException
CodeGenerationException
public static void generateMethodStubBody(LanguageWriterForC writer, Context context, SymbolID id, boolean isInterface, Method method) throws CodeGenerationException
CodeGenerationException
public static void generateSingleMethodStub(LanguageWriterForC writer, Context context, SymbolID id, boolean isInterface, Method method, boolean writeComment) throws CodeGenerationException
CodeGenerationException