Spicy
Public Member Functions | List of all members
hilti::declaration::Function Class Reference

#include <function.h>

Inheritance diagram for hilti::declaration::Function:
hilti::DeclarationBase hilti::NodeBase hilti::trait::isDeclaration hilti::trait::isNode hilti::trait::isNode

Public Member Functions

 Function (::hilti::Function function, Linkage linkage=Linkage::Private, Meta m=Meta())
 
const ::hilti::Functionfunction () const
 
hilti::optional_ref< const Declarationparent () const
 
hilti::optional_ref< const type::StructparentStructType () const
 
void setFunction (::hilti::Function f)
 
void setLinkage (Linkage x)
 
void setParentRef (NodeRef p)
 
bool operator== (const Function &other) const
 
bool isConstant () const
 
const IDid () const
 
Linkage linkage () const
 
std::string displayName () const
 
auto isEqual (const Declaration &other) const
 
auto properties () const
 
- Public Member Functions inherited from hilti::DeclarationBase
const IDcanonicalID () const
 
void setCanonicalID (ID id)
 
- Public Member Functions inherited from hilti::NodeBase
 NodeBase (Meta meta)
 
 NodeBase (std::vector< Node > children, Meta meta)
 
template<typename T >
const T & child (int i) const
 
template<typename T >
void assertChildIsA (int i)
 
template<typename T >
auto children (int begin, int end) const
 
auto childRefs (int begin, int end)
 
template<typename T >
hilti::node::Set< T > childrenOfType () const
 
template<typename T >
std::vector< NodeRefchildRefsOfType () const
 
void addChild (Node n)
 
const auto & children () const
 
auto & children ()
 
auto & meta () const
 
void setMeta (Meta m)
 
bool pruneWalk () const
 

Detailed Description

AST node for a declaration of an function.

Member Function Documentation

◆ displayName()

std::string hilti::declaration::Function::displayName ( ) const
inline

Implements Declaration interface.

◆ id()

const ID& hilti::declaration::Function::id ( ) const
inline

Implements Declaration interface.

◆ isConstant()

bool hilti::declaration::Function::isConstant ( ) const
inline

Implements Declaration interface.

◆ isEqual()

auto hilti::declaration::Function::isEqual ( const Declaration other) const
inline

Implements Declaration interface.

◆ linkage()

Linkage hilti::declaration::Function::linkage ( ) const
inline

Implements Declaration interface.

◆ parent()

hilti::optional_ref<const Declaration> hilti::declaration::Function::parent ( ) const
inline

Returns the parent declaration associated with the function, if any. For methods, this will the declaration of the corresponding struct type.

◆ parentStructType()

hilti::optional_ref<const type::Struct> hilti::declaration::Function::parentStructType ( ) const
inline

If the parent declaration associated with the function refers to a valid struct type, returns that type.

◆ properties()

auto hilti::declaration::Function::properties ( ) const
inline

Implements Node interface.


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