source: src/AST/Fwd.hpp @ 293dc1c

arm-ehjacob/cs343-translationnew-ast-unique-expr
Last change on this file since 293dc1c was 293dc1c, checked in by Andrew Beach <ajbeach@…>, 12 months ago

TranslationUnit? is now used at the top-level of the new-ast passes.

  • Property mode set to 100644
File size: 2.8 KB
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// Fwd.hpp -- Forward declarations of AST Types.
8//
9// Author           : Andrew Beach
10// Created On       : Wed May  8 16:05:00 2019
11// Last Modified By : Andrew Beach
12// Last Modified On : Thr Jul 23 14:15:00 2020
13// Update Count     : 2
14//
15
16#pragma once
17
18#include "AST/Node.hpp"
19
20namespace ast {
21
22class ParseNode;
23
24class Decl;
25class DeclWithType;
26class ObjectDecl;
27class FunctionDecl;
28class AggregateDecl;
29class StructDecl;
30class UnionDecl;
31class EnumDecl;
32class TraitDecl;
33class NamedTypeDecl;
34class TypeDecl;
35class TypedefDecl;
36class AsmDecl;
37class StaticAssertDecl;
38
39class Stmt;
40class CompoundStmt;
41class ExprStmt;
42class AsmStmt;
43class DirectiveStmt;
44class IfStmt;
45class WhileStmt;
46class ForStmt;
47class SwitchStmt;
48class CaseStmt;
49class BranchStmt;
50class ReturnStmt;
51class ThrowStmt;
52class TryStmt;
53class CatchStmt;
54class FinallyStmt;
55class SuspendStmt;
56class WaitForStmt;
57class WithStmt;
58class DeclStmt;
59class NullStmt;
60class ImplicitCtorDtorStmt;
61
62class Expr;
63class ApplicationExpr;
64class UntypedExpr;
65class NameExpr;
66class AddressExpr;
67class LabelAddressExpr;
68class CastExpr;
69class KeywordCastExpr;
70class VirtualCastExpr;
71class MemberExpr;
72class UntypedMemberExpr;
73class VariableExpr;
74class ConstantExpr;
75class SizeofExpr;
76class AlignofExpr;
77class UntypedOffsetofExpr;
78class OffsetofExpr;
79class OffsetPackExpr;
80class LogicalExpr;
81class ConditionalExpr;
82class CommaExpr;
83class TypeExpr;
84class AsmExpr;
85class ImplicitCopyCtorExpr;
86class ConstructorExpr;
87class CompoundLiteralExpr;
88class RangeExpr;
89class UntypedTupleExpr;
90class TupleExpr;
91class TupleIndexExpr;
92class TupleAssignExpr;
93class StmtExpr;
94class UniqueExpr;
95class UntypedInitExpr;
96class InitExpr;
97class DeletedExpr;
98class DefaultArgExpr;
99class GenericExpr;
100
101class Type;
102class VoidType;
103class BasicType;
104class PointerType;
105class ArrayType;
106class ReferenceType;
107class QualifiedType;
108class FunctionType;
109class BaseInstType;
110template<typename decl_t> class SueInstType;
111using StructInstType = SueInstType<StructDecl>;
112using UnionInstType = SueInstType<UnionDecl>;
113using EnumInstType = SueInstType<EnumDecl>;
114class TraitInstType;
115class TypeInstType;
116class TupleType;
117class TypeofType;
118class VarArgsType;
119class ZeroType;
120class OneType;
121class GlobalScopeType;
122
123class Designation;
124class Init;
125class SingleInit;
126class ListInit;
127class ConstructorInit;
128
129class Label;
130
131class Attribute;
132
133class SymbolTable;
134class TypeEnvironment;
135class TypeSubstitution;
136
137typedef unsigned int UniqueId;
138
139class TranslationUnit;
140// TODO: Get from the TranslationUnit:
141extern Type * sizeType;
142extern FunctionDecl * dereferenceOperator;
143extern StructDecl   * dtorStruct;
144extern FunctionDecl * dtorStructDestroy;
145
146}
Note: See TracBrowser for help on using the repository browser.