#include <CGContext.h>
Public Member Functions | |
CGContext (CodeGen &CG, InstanceInfo *IInfo) | |
CodeGenTypes & | getCGT () |
const CodeGen & | getCG () const |
Returns the code generator. | |
CodeGen & | getCG () |
Returns the code generator. | |
const InstanceInfo * | getInstanceInfo () const |
InstanceInfo * | getInstanceInfo () |
Returns the code generator. | |
General Predicates. | |
bool | generatingCapsule () const |
Returns true if we are currently generating a capsule. | |
bool | generatingCapsuleInstance () const |
Returns true if we are generating an instance of a generic capsule. | |
Generic Parameters. | |
The AST is not rewritten in its entirety for every instance of a generic unit. The following methods provide access to maps which rewrite generic formal parameters to their corresponding actuals. | |
typedef std::map< Type *, Type * > | ParameterMap |
The type used to map generic types to the corresponding actuals. | |
const ParameterMap & | getParameterMap () const |
Returns the current parameter map. | |
DomainInstanceDecl * | rewriteAbstractDecl (AbstractDomainDecl *abstract) const |
const DomainInstanceDecl * | rewriteAbstractDecl (const AbstractDomainDecl *abstract) const |
The type used to map generic types to the corresponding actuals. |
Definition at line 29 of file CGContext.h.
typedef std::map<Type*, Type*> comma::CGContext::ParameterMap |
The type used to map generic types to the corresponding actuals.
Definition at line 73 of file CGContext.h.
CGContext::CGContext | ( | CodeGen & | CG, | |
InstanceInfo * | IInfo | |||
) |
Constructs a CGContext to encapsulate the top level state associated with the given InstanceInfo.
Definition at line 17 of file CGContext.cpp.
bool comma::CGContext::generatingCapsule | ( | ) | const [inline] |
Returns true if we are currently generating a capsule.
Definition at line 52 of file CGContext.h.
bool CGContext::generatingCapsuleInstance | ( | ) | const |
Returns true if we are generating an instance of a generic capsule.
Definition at line 33 of file CGContext.cpp.
CodeGen& comma::CGContext::getCG | ( | ) | [inline] |
Returns the code generator.
Definition at line 39 of file CGContext.h.
const CodeGen& comma::CGContext::getCG | ( | ) | const [inline] |
Returns the code generator.
Definition at line 38 of file CGContext.h.
CodeGenTypes& comma::CGContext::getCGT | ( | ) | [inline] |
Returns the Comma to LLVM type generator.
Note that the supplied type generator is initialized to respect the current context. In particular, it will lower generic formal parameters to the representation of the actual parameter.
Definition at line 47 of file CGContext.h.
InstanceInfo* comma::CGContext::getInstanceInfo | ( | ) | [inline] |
Returns the code generator.
Definition at line 62 of file CGContext.h.
const InstanceInfo* comma::CGContext::getInstanceInfo | ( | ) | const [inline] |
Returns the InstanceInfo object associated with this context, or null if there is no capsule currently registered.
Definition at line 61 of file CGContext.h.
const ParameterMap& comma::CGContext::getParameterMap | ( | ) | const [inline] |
Returns the current parameter map.
Definition at line 76 of file CGContext.h.
const DomainInstanceDecl* comma::CGContext::rewriteAbstractDecl | ( | const AbstractDomainDecl * | abstract | ) | const [inline] |
The type used to map generic types to the corresponding actuals.
Definition at line 85 of file CGContext.h.
DomainInstanceDecl * CGContext::rewriteAbstractDecl | ( | AbstractDomainDecl * | abstract | ) | const |
Returns the instance decl corresponding to the given abstract decl using the current parameter map, or null if there is no association.
Definition at line 41 of file CGContext.cpp.