source: src/AST/Fwd.hpp @ 05e29f0

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since 05e29f0 was 2d019af, checked in by Peter A. Buhr <pabuhr@…>, 4 years ago

parser global pragmas, fixes #241

  • Property mode set to 100644
File size: 2.8 KB
RevLine 
[ee7a29f]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
[2d019af]11// Last Modified By : Peter A. Buhr
12// Last Modified On : Fri Mar 12 18:37:39 2021
13// Update Count     : 4
[ee7a29f]14//
15
16#pragma once
17
[e0115286]18#include "AST/Node.hpp"
19
[ee7a29f]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;
[2d019af]37class DirectiveDecl;
[ee7a29f]38class StaticAssertDecl;
39
40class Stmt;
41class CompoundStmt;
42class ExprStmt;
43class AsmStmt;
44class DirectiveStmt;
45class IfStmt;
46class WhileStmt;
47class ForStmt;
48class SwitchStmt;
49class CaseStmt;
50class BranchStmt;
51class ReturnStmt;
52class ThrowStmt;
53class TryStmt;
54class CatchStmt;
55class FinallyStmt;
[37cdd97]56class SuspendStmt;
[ee7a29f]57class WaitForStmt;
58class WithStmt;
59class DeclStmt;
60class NullStmt;
61class ImplicitCtorDtorStmt;
62
63class Expr;
64class ApplicationExpr;
65class UntypedExpr;
66class NameExpr;
67class AddressExpr;
68class LabelAddressExpr;
69class CastExpr;
70class KeywordCastExpr;
71class VirtualCastExpr;
72class MemberExpr;
73class UntypedMemberExpr;
74class VariableExpr;
75class ConstantExpr;
76class SizeofExpr;
77class AlignofExpr;
78class UntypedOffsetofExpr;
79class OffsetofExpr;
80class OffsetPackExpr;
81class LogicalExpr;
82class ConditionalExpr;
83class CommaExpr;
84class TypeExpr;
85class AsmExpr;
86class ImplicitCopyCtorExpr;
87class ConstructorExpr;
88class CompoundLiteralExpr;
89class RangeExpr;
90class UntypedTupleExpr;
91class TupleExpr;
92class TupleIndexExpr;
93class TupleAssignExpr;
94class StmtExpr;
95class UniqueExpr;
96class UntypedInitExpr;
97class InitExpr;
98class DeletedExpr;
99class DefaultArgExpr;
100class GenericExpr;
101
102class Type;
103class VoidType;
104class BasicType;
105class PointerType;
106class ArrayType;
107class ReferenceType;
108class QualifiedType;
109class FunctionType;
[98e8b3b]110class BaseInstType;
[923d25a]111template<typename decl_t> class SueInstType;
112using StructInstType = SueInstType<StructDecl>;
113using UnionInstType = SueInstType<UnionDecl>;
114using EnumInstType = SueInstType<EnumDecl>;
[ee7a29f]115class TraitInstType;
116class TypeInstType;
117class TupleType;
118class TypeofType;
119class VarArgsType;
120class ZeroType;
121class OneType;
122class GlobalScopeType;
123
124class Designation;
125class Init;
126class SingleInit;
127class ListInit;
128class ConstructorInit;
129
130class Label;
131
132class Attribute;
133
[fb2bde4]134class SymbolTable;
135class TypeEnvironment;
[ee7a29f]136class TypeSubstitution;
137
138typedef unsigned int UniqueId;
139
[a056f56]140struct TranslationUnit;
[293dc1c]141// TODO: Get from the TranslationUnit:
[b3a0df6]142extern ptr<Type> sizeType;
143extern const FunctionDecl * dereferenceOperator;
144extern const StructDecl   * dtorStruct;
145extern const FunctionDecl * dtorStructDestroy;
[490fb92e]146
[ee7a29f]147}
Note: See TracBrowser for help on using the repository browser.