souffle  2.0.2-371-g6315b36
Public Member Functions | Protected Member Functions | Protected Attributes | Friends
souffle::ast::analysis::Type Class Reference

An abstract base class for types to be covered within a type environment. More...

#include <TypeSystem.h>

Inheritance diagram for souffle::ast::analysis::Type:
Inheritance graph
Collaboration diagram for souffle::ast::analysis::Type:
Collaboration graph

Public Member Functions

const QualifiedNamegetName () const
 
const TypeEnvironmentgetTypeEnvironment () const
 
bool operator!= (const Type &other) const
 
bool operator< (const Type &other) const
 
bool operator== (const Type &other) const
 
virtual void print (std::ostream &out) const
 
 Type (const Type &other)=delete
 
virtual ~Type ()=default
 

Protected Member Functions

 Type (const TypeEnvironment &environment, QualifiedName name)
 

Protected Attributes

const TypeEnvironmentenvironment
 A reference to the type environment this type is associated to. More...
 
QualifiedName name
 

Friends

std::ostream & operator<< (std::ostream &out, const Type &t)
 

Detailed Description

An abstract base class for types to be covered within a type environment.

Definition at line 51 of file TypeSystem.h.

Constructor & Destructor Documentation

◆ Type() [1/2]

souffle::ast::analysis::Type::Type ( const Type other)
delete

◆ ~Type()

virtual souffle::ast::analysis::Type::~Type ( )
virtualdefault

◆ Type() [2/2]

souffle::ast::analysis::Type::Type ( const TypeEnvironment environment,
QualifiedName  name 
)
inlineprotected

Definition at line 86 of file TypeSystem.h.

93  : public Type {

Member Function Documentation

◆ getName()

const QualifiedName& souffle::ast::analysis::Type::getName ( ) const
inline

Definition at line 57 of file TypeSystem.h.

59  {

Referenced by souffle::ast::analysis::UnionType::print().

◆ getTypeEnvironment()

const TypeEnvironment& souffle::ast::analysis::Type::getTypeEnvironment ( ) const
inline

Definition at line 61 of file TypeSystem.h.

63  {

Referenced by souffle::ast::analysis::TypeEnvironment::print().

◆ operator!=()

bool souffle::ast::analysis::Type::operator!= ( const Type other) const
inline

Definition at line 69 of file TypeSystem.h.

71  {

◆ operator<()

bool souffle::ast::analysis::Type::operator< ( const Type other) const
inline

Definition at line 73 of file TypeSystem.h.

75  {

◆ operator==()

bool souffle::ast::analysis::Type::operator== ( const Type other) const
inline

Definition at line 65 of file TypeSystem.h.

67  {

◆ print()

virtual void souffle::ast::analysis::Type::print ( std::ostream &  out) const
inlinevirtual

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const Type t 
)
friend

Definition at line 81 of file TypeSystem.h.

81  : environment(environment), name(std::move(name)) {}
82 
83  /** A reference to the type environment this type is associated to. */

Field Documentation

◆ environment

const TypeEnvironment& souffle::ast::analysis::Type::environment
protected

A reference to the type environment this type is associated to.

Definition at line 90 of file TypeSystem.h.

◆ name

QualifiedName souffle::ast::analysis::Type::name
protected

The documentation for this class was generated from the following file:
souffle::ast::analysis::Type::environment
const TypeEnvironment & environment
A reference to the type environment this type is associated to.
Definition: TypeSystem.h:90
souffle::ast::analysis::Type::name
QualifiedName name
Definition: TypeSystem.h:92
souffle::ast::analysis::Type::Type
Type(const Type &other)=delete