tipc
A TIP to LLVM compiler
FieldNameCollector.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "ASTVisitor.h"
4 #include <set>
5 #include <string>
6 
14  std::vector<std::string> fields;
15 
16 public:
17  FieldNameCollector() = default;
18  static std::vector<std::string> build(ASTProgram *p);
19  virtual void endVisit(ASTFieldExpr *element) override;
20  virtual void endVisit(ASTAccessExpr *element) override;
21 };
Class for a record field access.
Definition: ASTAccessExpr.h:7
Class for the field of a record.
Definition: ASTFieldExpr.h:7
Class for a program which is a name and a list of functions.
Definition: ASTProgram.h:11
Base class for AST visitors.
Definition: ASTVisitor.h:23
Collects all field names referenced within the program.
Definition: FieldNameCollector.h:13
FieldNameCollector()=default
static std::vector< std::string > build(ASTProgram *p)
Definition: FieldNameCollector.cpp:19
virtual void endVisit(ASTFieldExpr *element) override
Definition: FieldNameCollector.cpp:5