comma::DomainInstanceDecl Class Reference

#include <Decl.h>

Inheritance diagram for comma::DomainInstanceDecl:
Inheritance graph
[legend]
Collaboration diagram for comma::DomainInstanceDecl:
Collaboration graph
[legend]

List of all members.

Public Types

typedef DomainTypeDecl ** arg_iterator
 Iterators over the arguments supplied to this instance.

Public Member Functions

 DomainInstanceDecl (AstResource &resource, DomainDecl *domain)
 DomainInstanceDecl (AstResource &resource, FunctorDecl *functor, DomainTypeDecl **args, unsigned numArgs)
DomoidgetDefinition ()
 Returns the Domoid defining this instance.
const DomoidgetDefinition () const
DomainDeclgetDefiningDomain () const
FunctorDeclgetDefiningFunctor () const
const SignatureSetgetSignatureSet () const
 Returns the SignatureSet of this instance.
bool isDependent () const
bool isParameterized () const
 Returns true if this is an instance of a functor.
unsigned getArity () const
 Returns the arity of the underlying declaration.
DomainTypeDeclgetActualParam (unsigned n) const
arg_iterator beginArguments () const
arg_iterator endArguments () const
void Profile (llvm::FoldingSetNodeID &id)
 Method required by LLVM::FoldingSet.



const DomainTypegetActualParamType (unsigned n) const
 Returns the type of the i'th actual parameter.
DomainTypegetActualParamType (unsigned n)
 Returns the type of the i'th actual parameter.
Representation Type.

The representation type of a domain instance is resolved to a primitive non-domain type. For example, if a domain A was defined with a carrier type of Integer, and a second domain B was defined with a carrier of type A, then this method resolves the representation type of both A and B to Integer.



const PrimaryTypegetRepresentationType () const
 Returns the representation type of this domain instance.
PrimaryTypegetRepresentationType ()
 Returns the representation type of this domain instance.

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &id, DomainTypeDecl **args, unsigned numArgs)
 Called by FunctorDecl when memoizing.
static bool classof (const DomainInstanceDecl *node)
 Support isa and dyn_cast.
static bool classof (const Ast *node)

Friends

class DomainDecl
class FunctorDecl

Detailed Description

Definition at line 1972 of file Decl.h.


Member Typedef Documentation

Iterators over the arguments supplied to this instance.

Definition at line 2028 of file Decl.h.


Constructor & Destructor Documentation

DomainInstanceDecl::DomainInstanceDecl ( AstResource resource,
DomainDecl domain 
)

Definition at line 687 of file Decl.cpp.

DomainInstanceDecl::DomainInstanceDecl ( AstResource resource,
FunctorDecl functor,
DomainTypeDecl **  args,
unsigned  numArgs 
)

Definition at line 702 of file Decl.cpp.


Member Function Documentation

arg_iterator comma::DomainInstanceDecl::beginArguments (  )  const [inline]

Definition at line 2029 of file Decl.h.

static bool comma::DomainInstanceDecl::classof ( const Ast node  )  [inline, static]

Reimplemented from comma::DomainTypeDecl.

Definition at line 2058 of file Decl.h.

static bool comma::DomainInstanceDecl::classof ( const DomainInstanceDecl node  )  [inline, static]

Support isa and dyn_cast.

Reimplemented from comma::DomainTypeDecl.

Definition at line 2057 of file Decl.h.

arg_iterator comma::DomainInstanceDecl::endArguments (  )  const [inline]

Definition at line 2030 of file Decl.h.

DomainTypeDecl* comma::DomainInstanceDecl::getActualParam ( unsigned  n  )  const [inline]

Returns the i'th actual parameter. This method asserts if its argument is out of range, or if this is not an instance of a functor.

Definition at line 2008 of file Decl.h.

DomainType* comma::DomainInstanceDecl::getActualParamType ( unsigned  n  )  [inline]

Returns the type of the i'th actual parameter.

This method asserts if its argument is out of range, or if this is not an instance of a functor.

Definition at line 2022 of file Decl.h.

const DomainType* comma::DomainInstanceDecl::getActualParamType ( unsigned  n  )  const [inline]

Returns the type of the i'th actual parameter.

This method asserts if its argument is out of range, or if this is not an instance of a functor.

Definition at line 2019 of file Decl.h.

unsigned DomainInstanceDecl::getArity (  )  const

Returns the arity of the underlying declaration.

Definition at line 808 of file Decl.cpp.

DomainDecl * comma::DomainInstanceDecl::getDefiningDomain (  )  const [inline]

If this is an instance of a domain, return the corresponding domain declaration. Otherwise null is returned.

Definition at line 2150 of file Decl.h.

FunctorDecl * comma::DomainInstanceDecl::getDefiningFunctor (  )  const [inline]

If this is a functor instance, return the corresponding functor declaration. Otherwise null is returned.

Definition at line 2155 of file Decl.h.

const Domoid* comma::DomainInstanceDecl::getDefinition (  )  const [inline]

Definition at line 1982 of file Decl.h.

Domoid* comma::DomainInstanceDecl::getDefinition (  )  [inline]

Returns the Domoid defining this instance.

Definition at line 1981 of file Decl.h.

PrimaryType* comma::DomainInstanceDecl::getRepresentationType (  )  [inline]

Returns the representation type of this domain instance.

Definition at line 2044 of file Decl.h.

const PrimaryType* comma::DomainInstanceDecl::getRepresentationType (  )  const [inline]

Returns the representation type of this domain instance.

Definition at line 2041 of file Decl.h.

const SignatureSet& comma::DomainInstanceDecl::getSignatureSet (  )  const [inline, virtual]

Returns the SignatureSet of this instance.

Implements comma::DomainTypeDecl.

Definition at line 1993 of file Decl.h.

bool DomainInstanceDecl::isDependent (  )  const

Returns true if this instance represents percent or is a parameterized instance, and in the latter case, if any of the arguments involve abstract domain decls or percent nodes.

Definition at line 794 of file Decl.cpp.

bool comma::DomainInstanceDecl::isParameterized (  )  const [inline]

Returns true if this is an instance of a functor.

Definition at line 2001 of file Decl.h.

void DomainInstanceDecl::Profile ( llvm::FoldingSetNodeID &  id,
DomainTypeDecl **  args,
unsigned  numArgs 
) [static]

Called by FunctorDecl when memoizing.

Definition at line 831 of file Decl.cpp.

void comma::DomainInstanceDecl::Profile ( llvm::FoldingSetNodeID &  id  )  [inline]

Method required by LLVM::FoldingSet.

Definition at line 2048 of file Decl.h.


Friends And Related Function Documentation

friend class DomainDecl [friend]

Definition at line 2071 of file Decl.h.

friend class FunctorDecl [friend]

Definition at line 2072 of file Decl.h.


The documentation for this class was generated from the following files:

Generated on 1 Feb 2010 for Comma by  doxygen 1.6.1