gov.llnl.babel.backend.ucxx
Class CxxImplSource
java.lang.Object
gov.llnl.babel.backend.ucxx.CxxImplSource
public class CxxImplSource
extends java.lang.Object
Create and write a header for a Cxx C extension class to wrap a
BABEL extendable in a Cxx object. The header has to expose a
function to create a wrapped IOR, a function to check if a
PyObject
is an instance of this extension type, and
an import macro.
void | addSplicerBlock(String ext, Method method, boolean addDefaults, String defComment) - Add splicer block.
|
void | generateCode() - Generate the header file for the extendable with which this object was
created.
|
CxxImplSource
public CxxImplSource(Extendable ext,
Context context)
Create an object capable of generating the header file for a
BABEL extendable.
ext
- an interface or class symbol that needs a header
file for a Cxx C extension class.
addSplicerBlock
public void addSplicerBlock(String ext,
Method method,
boolean addDefaults,
String defComment)
Add splicer block.
ext
- splicer block-specific name extension.method
- Either a method instance, if splicer is for a method,
or null.addDefaults
- TRUE if splicer defaults to be added for method;
otherwise, FALSE.defComment
- Default comment (for non-method splicer blocks).
generateCode
public void generateCode()
throws CodeGenerationException
Generate the header file for the extendable with which this object was
created.