source: src/AST/Fwd.hpp @ 58b2638

ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
Last change on this file since 58b2638 was 6cebfef, checked in by caparsons <caparson@…>, 3 years ago

added mutex stmt monitor

  • Property mode set to 100644
File size: 2.9 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;
[6cebfef]62class MutexStmt;
[ee7a29f]63
64class Expr;
65class ApplicationExpr;
66class UntypedExpr;
67class NameExpr;
68class AddressExpr;
69class LabelAddressExpr;
70class CastExpr;
71class KeywordCastExpr;
72class VirtualCastExpr;
73class MemberExpr;
74class UntypedMemberExpr;
75class VariableExpr;
76class ConstantExpr;
77class SizeofExpr;
78class AlignofExpr;
79class UntypedOffsetofExpr;
80class OffsetofExpr;
81class OffsetPackExpr;
82class LogicalExpr;
83class ConditionalExpr;
84class CommaExpr;
85class TypeExpr;
86class AsmExpr;
87class ImplicitCopyCtorExpr;
88class ConstructorExpr;
89class CompoundLiteralExpr;
90class RangeExpr;
91class UntypedTupleExpr;
92class TupleExpr;
93class TupleIndexExpr;
94class TupleAssignExpr;
95class StmtExpr;
96class UniqueExpr;
97class UntypedInitExpr;
98class InitExpr;
99class DeletedExpr;
100class DefaultArgExpr;
101class GenericExpr;
102
103class Type;
104class VoidType;
105class BasicType;
106class PointerType;
107class ArrayType;
108class ReferenceType;
109class QualifiedType;
110class FunctionType;
[98e8b3b]111class BaseInstType;
[923d25a]112template<typename decl_t> class SueInstType;
113using StructInstType = SueInstType<StructDecl>;
114using UnionInstType = SueInstType<UnionDecl>;
115using EnumInstType = SueInstType<EnumDecl>;
[ee7a29f]116class TraitInstType;
117class TypeInstType;
118class TupleType;
119class TypeofType;
[3945abe]120class VTableType;
[ee7a29f]121class VarArgsType;
122class ZeroType;
123class OneType;
124class GlobalScopeType;
125
126class Designation;
127class Init;
128class SingleInit;
129class ListInit;
130class ConstructorInit;
131
132class Label;
133
134class Attribute;
135
[fb2bde4]136class SymbolTable;
137class TypeEnvironment;
[ee7a29f]138class TypeSubstitution;
139
140typedef unsigned int UniqueId;
141
[a056f56]142struct TranslationUnit;
[293dc1c]143// TODO: Get from the TranslationUnit:
[b3a0df6]144extern ptr<Type> sizeType;
145extern const FunctionDecl * dereferenceOperator;
146extern const StructDecl   * dtorStruct;
147extern const FunctionDecl * dtorStructDestroy;
[490fb92e]148
[ee7a29f]149}
Note: See TracBrowser for help on using the repository browser.