Helper classes used by the type checker to manage intermediate data while consuming info from the parser. More...
#include "comma/ast/AstBase.h"
#include "comma/ast/Expr.h"
#include "llvm/ADT/SmallVector.h"
#include <utility>
Go to the source code of this file.
Classes | |
class | comma::ASTStencil |
class | comma::ASTStencilReseter |
class | comma::EnumDeclStencil |
A stencil to hold enumeration declaration info. More... | |
class | comma::SRDeclStencil |
A stencil to represent a subroutine declaration. More... | |
Namespaces | |
namespace | comma |
Helper classes used by the type checker to manage intermediate data while consuming info from the parser.
While the parser drives the type checker, contexts are established to begin the processing of complex constructs. For example, function declarations are processed by notifying the type checker with a call to ParseClient::beginFunctionDeclaration(), followed by parameter and return type processing. We do not want to maintain incomplete AST nodes to hold onto the intermediate data between callbacks. Thus, ASTStencil's are used to hold onto the necessary bits until the type checker can complete its analysis and form a proper AST node.
Definition in file Stencil.h.