gov.llnl.babel.backend.rmi
Class RMIStubSource

java.lang.Object
  extended by gov.llnl.babel.backend.rmi.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, java.lang.String terminator)
           
static void generateIncludes(Symbol symbol, LanguageWriterForC writer, Context context)
          Feature allows one to generate includes and code seperately.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RMIStubSource

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

Method Detail

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.

Throws:
CodeGenerationException

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.

Throws:
CodeGenerationException

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.

Throws:
CodeGenerationException

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.

Throws:
CodeGenerationException

generateExternalSignature

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

generateConnectInternal

public void generateConnectInternal(Extendable ext)