LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ast::NameTy Class Reference

NameTy. More...

#include <name-ty.hh>

Inheritance diagram for ast::NameTy:
Collaboration diagram for ast::NameTy:

Public Member Functions

Ctor & dtor.
 NameTy (const Location &location, const misc::symbol &name)
 Construct a NameTy node.
virtual ~NameTy ()
 Destroy a NameTy node.
Visitors entry point.
virtual void accept (ConstVisitor &v) const override
 Accept a const visitor v.
virtual void accept (Visitor &v) override
 Accept a non-const visitor v.
Accessors.
const misc::symbolname_get () const
 Return the name of the type.
void name_set (const misc::symbol &)
 Set the name of the type.
const TypeDecdef_get () const
 Return definition site.
TypeDecdef_get ()
 Return definition site.
void def_set (TypeDec *)
 Set definition site.
Accessors.
const Locationlocation_get () const
 Return scanner position information.
void location_set (const Location &)
 Set scanner position information.

Protected Attributes

misc::symbol name_
 The name of the type.
TypeDecdef_ = nullptr
 Definition site.
Location location_
 Scanner position information.

Detailed Description

Constructor & Destructor Documentation

ast::NameTy::NameTy ( const Location location,
const misc::symbol name 
)

Construct a NameTy node.

ast::NameTy::~NameTy ( )
virtual

Destroy a NameTy node.

Member Function Documentation

void ast::NameTy::accept ( ConstVisitor v) const
overridevirtual

Accept a const visitor v.

Implements ast::Ty.

Referenced by object::Binder::operator()().

void ast::NameTy::accept ( Visitor v)
overridevirtual

Accept a non-const visitor v.

Implements ast::Ty.

const TypeDec * ast::NameTy::def_get ( ) const
inline

Return definition site.

References def_.

Referenced by object::TypeChecker::operator()(), and type::TypeChecker::operator()().

TypeDec * ast::NameTy::def_get ( )
inline

Return definition site.

References def_.

void ast::NameTy::def_set ( TypeDec def)
inline

Set definition site.

References def_.

const Location & ast::Ast::location_get ( ) const
inlineinherited
void ast::Ast::location_set ( const Location location)
inlineinherited

Set scanner position information.

References ast::Ast::location_.

const misc::symbol & ast::NameTy::name_get ( ) const
inline

Return the name of the type.

References name_.

Referenced by object::TypeChecker::operator()(), astclone::Cloner::operator()(), and type::TypeChecker::operator()().

void ast::NameTy::name_set ( const misc::symbol name)
inline

Set the name of the type.

References name_.

Member Data Documentation

TypeDec* ast::NameTy::def_ = nullptr
protected

Definition site.

Referenced by def_get(), and def_set().

Location ast::Ast::location_
protectedinherited
misc::symbol ast::NameTy::name_
protected

The name of the type.

Referenced by name_get(), and name_set().


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