gov.llnl.babel.backend.writers

Class LanguageWriterForSidl

Implemented Interfaces:
CodeConstants

public class LanguageWriterForSidl
extends LanguageWriter
implements CodeConstants

Class LanguageWriterForSidl extends the generic language writer to provide additional capabilities for writing sidl code.

Field Summary

Fields inherited from class gov.llnl.babel.backend.writers.LanguageWriter

d_context

Fields inherited from interface gov.llnl.babel.backend.CodeConstants

C_AUTO_GEN_SPLICER, C_AUTO_GEN_WARNING, C_BACKSLASH, C_BEGIN_UNREFERENCED_METHODS, C_COMMENT_CLOSE, C_COMMENT_DOC_OPEN, C_COMMENT_F77, C_COMMENT_F90, C_COMMENT_HASH, C_COMMENT_OPEN, C_COMMENT_SLASH, C_COMMENT_SUBSEQUENT, C_DEFINE, C_DESC_CJNI_PREFIX, C_DESC_HEADER_PREFIX, C_DESC_IMPL_PREFIX, C_DESC_IOR_PREFIX, C_DESC_SJNI_PREFIX, C_DESC_SKEL_PREFIX, C_DESC_STUB_PREFIX, C_END_UNREFERENCED_METHODS, C_F7731_IMPL_EXTENSION, C_F77_IMPL_EXTENSION, C_F77_IMPL_METHOD_SUFFIX, C_F77_METHOD_SUFFIX, C_F77_VERSION, C_F90_ALT_SUFFIX, C_F90_IMPL_EXTENSION, C_F90_IMPL_METHOD_SUFFIX, C_F90_METHOD_SUFFIX, C_F90_VERSION, C_FORTRAN_DESC_STUB_PREFIX, C_FORTRAN_IMPL_MODULE_PREFIX, C_FORTRAN_MODULE_PREFIX, C_FORTRAN_TYPE_MODULE_PREFIX, C_GUARD_CLOSE, C_GUARD_OPEN, C_HASH, C_IFDEFINE_CLOSE, C_IFDEFINE_CXX, C_IFDEFINE_OPEN, C_INCLUDE, C_INSERT_HERE, C_INT_BACKSLASH, C_IS_IMPL, C_IS_NOT_IMPL, C_SLASH, C_UNREFERENCED_COMMENT1, C_UNREFERENCED_COMMENT2, C_UNREFERENCED_COMMENT3, MATLAB_COMMENT_OPEN

Constructor Summary

LanguageWriterForSidl(PrintWriter writer, Context context)
Create a LanguageWriterForSidl instance that will send output to the specified print writer object.

Method Summary

void
beginBlockComment(boolean is_doc)
Begin a block comment.
void
endBlockComment(boolean is_doc)
End a block comment.
String
safeCommentString(String str)
Convert a string into something that is safe to include inside a sidl comment string.
void
writeCommentLine(String comment)
Output a single-line comment to the pretty writer stream.
void
writeSplicerTagLine(String tagLine)
(Is this appropriate?) Write the splicer tag as a language-specific comment.

Methods inherited from class gov.llnl.babel.backend.writers.LanguageWriter

beginBlockComment, endBlockComment, safeCommentString, writeBanner, writeComment, writeComment, writeComment, writeComment, writeComment, writeComment, writeComment, writeCommentLine, writeSplicerTagLine

Methods inherited from class gov.llnl.babel.backend.writers.PrettyWriter

backTab, changeTabLevel, close, defineBlockComment, disableBlockComment, disableLineBreak, enableBlockComment, enableLineBreak, enableLineBreak, flushPrintWriter, getPrintWriter, popLineBreak, print, printAligned, printSpaces, printUnformatted, println, println, printlnUnformatted, pushLineBreak, restoreFirstTabStop, setFirstTabStop, setLineBreakString, setStrictBreaking, setTabSpacing, setTemporaryFirstTabStop, tab

Constructor Details

LanguageWriterForSidl

public LanguageWriterForSidl(PrintWriter writer,
                             Context context)
Create a LanguageWriterForSidl instance that will send output to the specified print writer object. Set up the output properties of the language writer for sidl, which sets the first tab stop at zero, a tab spacing of three, and line breaking at column eighty.

Method Details

beginBlockComment

public void beginBlockComment(boolean is_doc)
Begin a block comment. The beginning of comment string is output to the pretty writer stream and the block comment mode is enabled. The comment block is closed by calling the end comment block method. Documentation comments add an additional asterisk after the open comment.
Overrides:
beginBlockComment in interface LanguageWriter

endBlockComment

public void endBlockComment(boolean is_doc)
End a block comment. This method disables comment block output and prints the end of comment string. Documentation comments do not add a blank line whereas regular comments add a blank line after the comment.
Overrides:
endBlockComment in interface LanguageWriter

safeCommentString

public final String safeCommentString(String str)
Convert a string into something that is safe to include inside a sidl comment string.
Overrides:
safeCommentString in interface LanguageWriter

writeCommentLine

public void writeCommentLine(String comment)
Output a single-line comment to the pretty writer stream. The comment should not contain any new line characters. If the comment is null, then nothing is output.
Overrides:
writeCommentLine in interface LanguageWriter

writeSplicerTagLine

public void writeSplicerTagLine(String tagLine)
(Is this appropriate?) Write the splicer tag as a language-specific comment.
Overrides:
writeSplicerTagLine in interface LanguageWriter