source: src/AST/Fwd.hpp @ 17a0228a

arm-ehcleanup-dtorsjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-expr
Last change on this file since 17a0228a was 17a0228a, checked in by Thierry Delisle <tdelisle@…>, 3 years ago

Added more visit passes

  • Property mode set to 100644
File size: 2.6 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 May  9 13:09:00 2019
13// Update Count     : 0
14//
15
16#pragma once
17
18#include <string>
19
20#include "AST/Node.hpp"
21
22namespace ast {
23
24class ParseNode;
25
26class Decl;
27class DeclWithType;
28class ObjectDecl;
29class FunctionDecl;
30class AggregateDecl;
31class StructDecl;
32class UnionDecl;
33class EnumDecl;
34class TraitDecl;
35class NamedTypeDecl;
36class TypeDecl;
37class TypedefDecl;
38class AsmDecl;
39class StaticAssertDecl;
40
41class Stmt;
42class CompoundStmt;
43class ExprStmt;
44class AsmStmt;
45class DirectiveStmt;
46class IfStmt;
47class WhileStmt;
48class ForStmt;
49class SwitchStmt;
50class CaseStmt;
51class BranchStmt;
52class ReturnStmt;
53class ThrowStmt;
54class TryStmt;
55class CatchStmt;
56class FinallyStmt;
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;
110class ReferenceToType;
111class StructInstType;
112class UnionInstType;
113class EnumInstType;
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 TypeSubstitution;
134
135std::string toString( const Node * );
136
137template < typename ... Params >
138std::string toString( const Params & ... params ) {
139        #warning not implemented
140        return "";
141}
142
143typedef unsigned int UniqueId;
144
145}
Note: See TracBrowser for help on using the repository browser.