IDL compiler front-end library
Public Types | Public Member Functions | List of all members
AST::Item Class Reference

An AST item. More...

#include <Item.h>

Inheritance diagram for AST::Item:
AST::Include AST::ModuleItems AST::NamedItem AST::Root AST::Constant AST::EnumItem AST::ItemWithId AST::Member AST::OperationBase AST::Enum AST::InterfaceDecl AST::ItemScope AST::Native AST::StructBase AST::StructDecl AST::TypeDef AST::Union AST::UnionDecl AST::ValueBox AST::ValueTypeDecl AST::Attribute AST::Parameter AST::StateMember AST::UnionElement AST::Operation AST::ValueFactory

Public Types

enum class  Kind {
  ROOT , INCLUDE , NATIVE , TYPE_DEF ,
  CONSTANT , MODULE , MODULE_ITEMS , INTERFACE_DECL ,
  INTERFACE , OPERATION , PARAMETER , ATTRIBUTE ,
  EXCEPTION , STRUCT_DECL , STRUCT , MEMBER ,
  UNION_DECL , UNION , UNION_ELEMENT , ENUM ,
  ENUM_ITEM , VALUE_TYPE_DECL , VALUE_TYPE , VALUE_BOX ,
  STATE_MEMBER , VALUE_FACTORY
}
 The kind of item. More...
 

Public Member Functions

Kind kind () const noexcept
 
bool is_type () const noexcept
 
bool is_forward_decl () const noexcept
 

Detailed Description

An AST item.

Definition at line 40 of file Item.h.

Member Enumeration Documentation

◆ Kind

enum AST::Item::Kind
strong

The kind of item.

Enumerator
ROOT 

class Root

INCLUDE 

class Include

NATIVE 

class Native

TYPE_DEF 

class TypeDef

CONSTANT 

class Constant

MODULE 

class Module

MODULE_ITEMS 

class ModuleItems

INTERFACE_DECL 

class InterfaceDecl

INTERFACE 

class Interface

OPERATION 

class Operation

PARAMETER 

class Parameter

ATTRIBUTE 

class Attribute

EXCEPTION 

class Exception

STRUCT_DECL 

class StructDecl

STRUCT 

class Struct

MEMBER 

class Member

UNION_DECL 

class UnionDecl

UNION 

class Union

UNION_ELEMENT 

class UnionElement

ENUM 

class Enum

ENUM_ITEM 

class EnumItem

VALUE_TYPE_DECL 

class ValueTypeDecl

VALUE_TYPE 

class ValueType

VALUE_BOX 

class ValueBox

STATE_MEMBER 

class StateMember

VALUE_FACTORY 

class ValueFactory

Definition at line 44 of file Item.h.

Member Function Documentation

◆ kind()

Kind AST::Item::kind ( ) const
inlinenoexcept
Returns
The kind of item.

Definition at line 75 of file Item.h.

◆ is_type()

bool AST::Item::is_type ( ) const
noexcept
Returns
true if the item represents a type.

◆ is_forward_decl()

bool AST::Item::is_forward_decl ( ) const
noexcept
Returns
true if the item is a forward declaration.

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