Spicy
Classes | Typedefs | Enumerations | Functions | Variables
hilti::node Namespace Reference

Classes

struct  Error
 
class  None
 

Typedefs

using Properties = std::map< std::string, node::detail::PropertyValue >
 

Enumerations

enum  ErrorPriority { ErrorPriority::Normal, ErrorPriority::Low }
 

Functions

template<typename T , typename Other , IF_DERIVED_FROM(T, trait::isNode) , IF_DERIVED_FROM(Other, trait::isNode) >
bool isEqual (const T *this_, const Other &other)
 
template<typename T >
std::vector< T > flattenedChilds (const Node &n)
 

Variables

const Node none = None::create()
 

Detailed Description

Checks equality for two objects both implementing the Node interface.

If the two objects have different types, this will return false. Otherwise it will forward to the objects equality operator.

Typedef Documentation

◆ Properties

using hilti::node::Properties = typedef std::map<std::string, node::detail::PropertyValue>

Properties associated with an AST node. A property is a key/value pair recording node-specific, atomic information that's not represented by further child nodes.

Enumeration Type Documentation

◆ ErrorPriority

Importance of reporting an error, relative to others.

Enumerator
Normal 

Normal priority error that will always be reported.

Low 

Low priority error that will be reported only if no normal priority ones have been found.

Function Documentation

◆ flattenedChilds()

template<typename T >
std::vector<T> hilti::node::flattenedChilds ( const Node n)

Returns a list of all childs of specific type, descending recursively to find instance anywhere below this node.

Variable Documentation

◆ none

const Node hilti::node::none = None::create()

Singleton.