gov.llnl.babel.backend.rmi
Class RMIStubSource
java.lang.Object
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.
RMIStubSource
public RMIStubSource(LanguageWriterForC writer,
Context context)
Create a RMIStubSource
object that will write symbol
information to the provided output writer stream.
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.