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

Interface definition. More...

#include <Interface.h>

Inheritance diagram for AST::Interface:
AST::IV_Base AST::InterfaceKind AST::ItemScope AST::Container AST::ForwardDeclarable AST::ItemWithId AST::ContainerT< Item > AST::NamedItem AST::Item AST::Location

Public Member Functions

const Interfacesbases () const noexcept
 
Interfaces get_all_bases () const
 
- Public Member Functions inherited from AST::ItemScope
 operator Symbols & () noexcept
 
 operator const Symbols & () const noexcept
 
- Public Member Functions inherited from AST::ItemWithId
std::string repository_id () const
 
- Public Member Functions inherited from AST::NamedItem
const Identifiername () const noexcept
 
const ItemScopeparent () const noexcept
 
std::string qualified_name () const
 
ScopedName scoped_name () const
 
const Symbolsparent_scope () 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::Location
const std::filesystem::path & file () const noexcept
 
unsigned line () const noexcept
 
- Public Member Functions inherited from AST::Container
bool visit (CodeGen &cg) const
 
- Public Member Functions inherited from AST::ForwardDeclarable
bool has_forward_dcl () const
 
- Public Member Functions inherited from AST::InterfaceKind
Kind interface_kind () const noexcept
 

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...
 
- Public Types inherited from AST::InterfaceKind
enum  Kind { UNCONSTRAINED , ABSTRACT , LOCAL , PSEUDO }
 The kind of interface. More...
 
- Static Public Member Functions inherited from AST::ItemScope
static const ItemScopecast (const NamedItem *item) noexcept
 
static ItemScopecast (NamedItem *item) noexcept
 
- Static Public Member Functions inherited from AST::ItemWithId
static const ItemWithIdcast (const NamedItem *item) noexcept
 

Detailed Description

Interface definition.

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

Child item types:

Examples
Printer.cpp.

Definition at line 92 of file Interface.h.

Member Function Documentation

◆ bases()

const Interfaces& AST::Interface::bases ( ) const
inlinenoexcept
Returns
The base interfaces.

Definition at line 98 of file Interface.h.

◆ get_all_bases()

Interfaces AST::Interface::get_all_bases ( ) const

Get all direct and indirect bases.

Returns
All bases.

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