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

Abstract Syntax Tree root. More...

#include <Root.h>

Inheritance diagram for AST::Root:
AST::Item AST::Container AST::ContainerT< Item >

Public Member Functions

const std::filesystem::path & file () const noexcept
 
bool visit (CodeGen &cg) const
 Visit all items for the code generation. More...
 
 operator Symbols & () noexcept
 
 operator const Symbols & () const noexcept
 
- Public Member Functions inherited from AST::Item
Kind kind () const noexcept
 
bool is_type () const noexcept
 
bool is_forward_decl () const noexcept
 
- Public Member Functions inherited from AST::Container
bool visit (CodeGen &cg) const
 

Additional Inherited Members

- Public Types inherited from AST::Item
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...
 

Detailed Description

Abstract Syntax Tree root.

Invariant
kind () == Item::Kind::ROOT

Child item types:

Examples
IDL_Print.cpp, and Printer.cpp.

Definition at line 59 of file Root.h.

Member Function Documentation

◆ file()

const std::filesystem::path& AST::Root::file ( ) const
inlinenoexcept
Returns
The name of compiled IDL file.
Examples
IDL_Print.cpp.

Definition at line 65 of file Root.h.

◆ visit()

bool AST::Root::visit ( CodeGen cg) const

Visit all items for the code generation.

Returns
true if unsuppported building blocks were occurred.
Examples
IDL_Print.cpp.

◆ operator Symbols &()

AST::Root::operator Symbols & ( )
inlinenoexcept
Returns
Symbols reference.

Definition at line 75 of file Root.h.

◆ operator const Symbols &()

AST::Root::operator const Symbols & ( ) const
inlinenoexcept
Returns
Symbols const reference.

Definition at line 81 of file Root.h.


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