gov.llnl.babel.backend.rmi

Class RMIStubSource


public class RMIStubSource
extends java.lang.Object

Class RMIStubSource generates an IOR implementation 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

RMIStubSource(LanguageWriterForC writer, Context context)
Create a RMIStubSource object that will write symbol information to the provided output writer stream.

Method Summary

void
generateCode(Symbol symbol)
Write IOR 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 symbol source information into the provided language writer output stream.
static void
generateCodeNoIncludes(Symbol symbol, LanguageWriterForC writer, Context context)
Feature allows one to generate includes and code seperately.
void
generateConnectInternal(Extendable ext)
static void
generateExternalSignature(LanguageWriter lw, Symbol sym, String terminator)
static void
generateIncludes(Symbol symbol, LanguageWriterForC writer, Context context)
Feature allows one to generate includes and code seperately.

Constructor Details

RMIStubSource

public RMIStubSource(LanguageWriterForC writer,
                     Context context)
Create a RMIStubSource object that will write symbol information to the provided output writer stream.

Method Details

generateCode

public void generateCode(Symbol symbol)
            throws CodeGenerationException
Write IOR 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.

generateCode

public static void generateCode(Symbol symbol,
                                LanguageWriterForC writer,
                                Context context)
            throws CodeGenerationException
This is a convenience utility function that writes the symbol 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.

generateCodeNoIncludes

public static void generateCodeNoIncludes(Symbol symbol,
                                          LanguageWriterForC writer,
                                          Context context)
            throws CodeGenerationException
Feature allows one to generate includes and code seperately. Currently this is a special feature for Python to avoid conflicts between the function connectI's and rmicast's in the sidl C binding, and the macros defined in Python.

generateConnectInternal

public void generateConnectInternal(Extendable ext)

generateExternalSignature

public static void generateExternalSignature(LanguageWriter lw,
                                             Symbol sym,
                                             String terminator)

generateIncludes

public static void generateIncludes(Symbol symbol,
                                    LanguageWriterForC writer,
                                    Context context)
            throws CodeGenerationException
Feature allows one to generate includes and code seperately. Currently this is a special feature for Python to avoid conflicts between the function connectI's and rmicast's in the sidl C binding, and the macros defined in Python.