tipc
A TIP to LLVM compiler
Public Member Functions | Static Public Member Functions | List of all members
FieldNameCollector Class Reference

Collects all field names referenced within the program. More...

#include <FieldNameCollector.h>

Inheritance diagram for FieldNameCollector:
Inheritance graph
[legend]
Collaboration diagram for FieldNameCollector:
Collaboration graph
[legend]

Public Member Functions

 FieldNameCollector ()=default
 
virtual void endVisit (ASTFieldExpr *element) override
 
virtual void endVisit (ASTAccessExpr *element) override
 
- Public Member Functions inherited from ASTVisitor
virtual bool visit (ASTProgram *element)
 
virtual void endVisit (ASTProgram *element)
 
virtual bool visit (ASTFunction *element)
 
virtual void endVisit (ASTFunction *element)
 
virtual bool visit (ASTNumberExpr *element)
 
virtual void endVisit (ASTNumberExpr *element)
 
virtual bool visit (ASTVariableExpr *element)
 
virtual void endVisit (ASTVariableExpr *element)
 
virtual bool visit (ASTBinaryExpr *element)
 
virtual void endVisit (ASTBinaryExpr *element)
 
virtual bool visit (ASTInputExpr *element)
 
virtual void endVisit (ASTInputExpr *element)
 
virtual bool visit (ASTFunAppExpr *element)
 
virtual void endVisit (ASTFunAppExpr *element)
 
virtual bool visit (ASTAllocExpr *element)
 
virtual void endVisit (ASTAllocExpr *element)
 
virtual bool visit (ASTRefExpr *element)
 
virtual void endVisit (ASTRefExpr *element)
 
virtual bool visit (ASTDeRefExpr *element)
 
virtual void endVisit (ASTDeRefExpr *element)
 
virtual bool visit (ASTNullExpr *element)
 
virtual void endVisit (ASTNullExpr *element)
 
virtual bool visit (ASTFieldExpr *element)
 
virtual bool visit (ASTRecordExpr *element)
 
virtual void endVisit (ASTRecordExpr *element)
 
virtual bool visit (ASTAccessExpr *element)
 
virtual bool visit (ASTDeclNode *element)
 
virtual void endVisit (ASTDeclNode *element)
 
virtual bool visit (ASTDeclStmt *element)
 
virtual void endVisit (ASTDeclStmt *element)
 
virtual bool visit (ASTAssignStmt *element)
 
virtual void endVisit (ASTAssignStmt *element)
 
virtual bool visit (ASTWhileStmt *element)
 
virtual void endVisit (ASTWhileStmt *element)
 
virtual bool visit (ASTIfStmt *element)
 
virtual void endVisit (ASTIfStmt *element)
 
virtual bool visit (ASTOutputStmt *element)
 
virtual void endVisit (ASTOutputStmt *element)
 
virtual bool visit (ASTReturnStmt *element)
 
virtual void endVisit (ASTReturnStmt *element)
 
virtual bool visit (ASTErrorStmt *element)
 
virtual void endVisit (ASTErrorStmt *element)
 
virtual bool visit (ASTBlockStmt *element)
 
virtual void endVisit (ASTBlockStmt *element)
 

Static Public Member Functions

static std::vector< std::string > build (ASTProgram *p)
 

Detailed Description

Collects all field names referenced within the program.

This class is a minimal visitor that collects field names referenced in record expressions, as field sub-expression, and in access expressions.

Constructor & Destructor Documentation

◆ FieldNameCollector()

FieldNameCollector::FieldNameCollector ( )
default

Member Function Documentation

◆ build()

std::vector< std::string > FieldNameCollector::build ( ASTProgram p)
static

◆ endVisit() [1/2]

void FieldNameCollector::endVisit ( ASTAccessExpr element)
overridevirtual

Reimplemented from ASTVisitor.

◆ endVisit() [2/2]

void FieldNameCollector::endVisit ( ASTFieldExpr element)
overridevirtual

Reimplemented from ASTVisitor.


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