| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectgov.llnl.babel.backend.c.ImplHeader
public class ImplHeader
Class ImplHeader generates a C implementation header to a
 language writer output stream.  The constructor takes a language writer
 stream and method generateCode generates the implementation
 header file for the specified symbol to the output stream.  The language
 writer stream is not closed by this object.
| Constructor Summary | |
|---|---|
| ImplHeader(LanguageWriterForC writer,
           CodeSplicer splicer,
           Context context)Create a ImplHeaderobject that will write symbol
 information to the provided output language writer stream. | |
| Method Summary | |
|---|---|
|  void | generateCode(Class cls)Write C implementation header information for the provided class to the language writer output stream provided in the constructor. | 
| static void | generateCode(Class cls,
             LanguageWriterForC writer,
             CodeSplicer splicer,
             Context context)This is a convenience utility function that writes the symbol header information into the provided language writer output stream. | 
|  java.util.Collection | getLocalReferences(Extendable ext) | 
| static void | writeBuiltinDecls(LanguageWriterForC lw,
                  Class cls,
                  Context context)Write external declarations for the Classconstructor and
 destructor. | 
| static void | writeMethodDecls(LanguageWriterForC lw,
                 Class cls,
                 boolean isStatic,
                 Context context)Write external declarations for all non- abstractmethods
 in the class. | 
| static void | writeMethodSignature(LanguageWriterForC lw,
                     Method meth,
                     java.lang.String self,
                     boolean addExtern,
                     boolean isIfc,
                     boolean addType,
                     SymbolID id,
                     Context context)Write the method signature with arguments indented one level. | 
| static void | writeRMIAccessDecls(LanguageWriterForC lw,
                    Class cls,
                    boolean isStatic)Write external declarations for the RMI fconnects methods in the class. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public ImplHeader(LanguageWriterForC writer,
                  CodeSplicer splicer,
                  Context context)
ImplHeader object that will write symbol
 information to the provided output language writer stream.
 Assumption:  This code is completed generated so no code splicer
 capabilities are needed.
writer - the output writer for the new implementation header
                file. This writer will not be closed by this method.| Method Detail | 
|---|
public static void generateCode(Class cls,
                                LanguageWriterForC writer,
                                CodeSplicer splicer,
                                Context context)
                         throws CodeGenerationException
cls - the Class whose implementation header file
                is to be created.writer - the output writer with which the new header file is
                created.
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 writeMethodSignature(LanguageWriterForC lw,
                                        Method meth,
                                        java.lang.String self,
                                        boolean addExtern,
                                        boolean isIfc,
                                        boolean addType,
                                        SymbolID id,
                                        Context context)
                                 throws CodeGenerationException
lw - the target language writermeth - the methodself - the self variable, if appropriateaddExtern - TRUE if the signature is to include the "extern" 
                  modifier (as in the header file case).isIfc - TRUE if the method belongs to an interfaceid - the name of the symbol owning the method
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 writeMethodDecls(LanguageWriterForC lw,
                                    Class cls,
                                    boolean isStatic,
                                    Context context)
                             throws CodeGenerationException
abstract methods
 in the class.
lw - the language writer to write to.cls - the Class whose header will be written.isStatic - true means write only static methods;
                 false means write only non-static
                 methods.
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 writeRMIAccessDecls(LanguageWriterForC lw,
                                       Class cls,
                                       boolean isStatic)
                                throws CodeGenerationException
lw - the language writer to write to.cls - the Class whose header will be written.isStatic - true means write only static methods;
                 false means write only non-static
                 methods.
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 writeBuiltinDecls(LanguageWriterForC lw,
                                     Class cls,
                                     Context context)
                              throws CodeGenerationException
Class constructor and
 destructor.
lw - the language writer to write to.cls - the Class whose header will be written.
CodeGenerationException - this is a catch all exception. It can be caused by I/O trouble or
    violations of the data type invariants.
public java.util.Collection getLocalReferences(Extendable ext)
                                        throws CodeGenerationException
CodeGenerationException
public void generateCode(Class cls)
                  throws CodeGenerationException
cls - the Class whose header will be written.
CodeGenerationException - this is a catch all exception. It can be caused by I/O trouble or
    violations of the data type invariants.| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||