ADT
ast-experimental
Last change
on this file since 8fd1b7c was c86b08d, checked in by caparsons <caparson@…>, 2 years ago |
added support for the waituntil statement in the compiler
|
-
Property mode
set to
100644
|
File size:
3.2 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 : Peter A. Buhr
|
---|
12 | // Last Modified On : Tue Feb 1 09:08:33 2022
|
---|
13 | // Update Count : 5
|
---|
14 | //
|
---|
15 |
|
---|
16 | #pragma once
|
---|
17 |
|
---|
18 | template<typename> struct bitfield;
|
---|
19 |
|
---|
20 | #include "AST/Node.hpp"
|
---|
21 |
|
---|
22 | namespace ast {
|
---|
23 |
|
---|
24 | class ParseNode;
|
---|
25 |
|
---|
26 | class Decl;
|
---|
27 | class DeclWithType;
|
---|
28 | class ObjectDecl;
|
---|
29 | class FunctionDecl;
|
---|
30 | class AggregateDecl;
|
---|
31 | class StructDecl;
|
---|
32 | class UnionDecl;
|
---|
33 | class EnumDecl;
|
---|
34 | class TraitDecl;
|
---|
35 | class NamedTypeDecl;
|
---|
36 | class TypeDecl;
|
---|
37 | class TypedefDecl;
|
---|
38 | class AsmDecl;
|
---|
39 | class DirectiveDecl;
|
---|
40 | class StaticAssertDecl;
|
---|
41 | class InlineMemberDecl;
|
---|
42 |
|
---|
43 | class Stmt;
|
---|
44 | class CompoundStmt;
|
---|
45 | class ExprStmt;
|
---|
46 | class AsmStmt;
|
---|
47 | class DirectiveStmt;
|
---|
48 | class IfStmt;
|
---|
49 | class WhileDoStmt;
|
---|
50 | class ForStmt;
|
---|
51 | class SwitchStmt;
|
---|
52 | class CaseClause;
|
---|
53 | class BranchStmt;
|
---|
54 | class ReturnStmt;
|
---|
55 | class ThrowStmt;
|
---|
56 | class TryStmt;
|
---|
57 | class CatchClause;
|
---|
58 | class FinallyClause;
|
---|
59 | class SuspendStmt;
|
---|
60 | class WhenClause;
|
---|
61 | class WaitForStmt;
|
---|
62 | class WaitForClause;
|
---|
63 | class WaitUntilStmt;
|
---|
64 | class WithStmt;
|
---|
65 | class DeclStmt;
|
---|
66 | class NullStmt;
|
---|
67 | class ImplicitCtorDtorStmt;
|
---|
68 | class MutexStmt;
|
---|
69 |
|
---|
70 | class Expr;
|
---|
71 | class ApplicationExpr;
|
---|
72 | class UntypedExpr;
|
---|
73 | class NameExpr;
|
---|
74 | class QualifiedNameExpr;
|
---|
75 | class AddressExpr;
|
---|
76 | class LabelAddressExpr;
|
---|
77 | class CastExpr;
|
---|
78 | class KeywordCastExpr;
|
---|
79 | class VirtualCastExpr;
|
---|
80 | class MemberExpr;
|
---|
81 | class UntypedMemberExpr;
|
---|
82 | class VariableExpr;
|
---|
83 | class ConstantExpr;
|
---|
84 | class SizeofExpr;
|
---|
85 | class AlignofExpr;
|
---|
86 | class UntypedOffsetofExpr;
|
---|
87 | class OffsetofExpr;
|
---|
88 | class OffsetPackExpr;
|
---|
89 | class LogicalExpr;
|
---|
90 | class ConditionalExpr;
|
---|
91 | class CommaExpr;
|
---|
92 | class TypeExpr;
|
---|
93 | class DimensionExpr;
|
---|
94 | class AsmExpr;
|
---|
95 | class ImplicitCopyCtorExpr;
|
---|
96 | class ConstructorExpr;
|
---|
97 | class CompoundLiteralExpr;
|
---|
98 | class RangeExpr;
|
---|
99 | class UntypedTupleExpr;
|
---|
100 | class TupleExpr;
|
---|
101 | class TupleIndexExpr;
|
---|
102 | class TupleAssignExpr;
|
---|
103 | class StmtExpr;
|
---|
104 | class UniqueExpr;
|
---|
105 | class UntypedInitExpr;
|
---|
106 | class InitExpr;
|
---|
107 | class DeletedExpr;
|
---|
108 | class DefaultArgExpr;
|
---|
109 | class GenericExpr;
|
---|
110 |
|
---|
111 | class Type;
|
---|
112 | class VoidType;
|
---|
113 | class BasicType;
|
---|
114 | class PointerType;
|
---|
115 | class ArrayType;
|
---|
116 | class ReferenceType;
|
---|
117 | class QualifiedType;
|
---|
118 | class FunctionType;
|
---|
119 | class BaseInstType;
|
---|
120 | template<typename decl_t> class SueInstType;
|
---|
121 | using StructInstType = SueInstType<StructDecl>;
|
---|
122 | using UnionInstType = SueInstType<UnionDecl>;
|
---|
123 | using EnumInstType = SueInstType<EnumDecl>;
|
---|
124 | class TraitInstType;
|
---|
125 | class TypeInstType;
|
---|
126 | class TupleType;
|
---|
127 | class TypeofType;
|
---|
128 | class VTableType;
|
---|
129 | class VarArgsType;
|
---|
130 | class ZeroType;
|
---|
131 | class OneType;
|
---|
132 | class GlobalScopeType;
|
---|
133 |
|
---|
134 | class Designation;
|
---|
135 | class Init;
|
---|
136 | class SingleInit;
|
---|
137 | class ListInit;
|
---|
138 | class ConstructorInit;
|
---|
139 |
|
---|
140 | class Label;
|
---|
141 |
|
---|
142 | class Attribute;
|
---|
143 |
|
---|
144 | class SymbolTable;
|
---|
145 | class TypeEnvironment;
|
---|
146 | class TypeSubstitution;
|
---|
147 |
|
---|
148 | typedef unsigned int UniqueId;
|
---|
149 |
|
---|
150 | class TranslationUnit;
|
---|
151 | class TranslationGlobal;
|
---|
152 |
|
---|
153 | // For the following types, only use the using type.
|
---|
154 | namespace CV {
|
---|
155 | struct qualifier_flags;
|
---|
156 | using Qualifiers = bitfield<qualifier_flags>;
|
---|
157 | }
|
---|
158 | namespace Function {
|
---|
159 | struct spec_flags;
|
---|
160 | using Specs = bitfield<spec_flags>;
|
---|
161 | }
|
---|
162 | namespace Storage {
|
---|
163 | struct class_flags;
|
---|
164 | using Classes = bitfield<class_flags>;
|
---|
165 | }
|
---|
166 | namespace Linkage {
|
---|
167 | struct spec_flags;
|
---|
168 | using Spec = bitfield<spec_flags>;
|
---|
169 | }
|
---|
170 |
|
---|
171 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.