gov.llnl.babel.backend.ucxx
Class CxxImplSource
java.lang.Objectgov.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.