source: src/SynTree/SynTree.h @ 9a705dc8

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumwith_gc
Last change on this file since 9a705dc8 was 9a705dc8, checked in by Rob Schluntz <rschlunt@…>, 6 years ago

Implement concurrency keyword casts

  • Property mode set to 100644
File size: 2.7 KB
RevLine 
[0dd3a2f]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//
[71f4e4f]7// SynTree.h --
[0dd3a2f]8//
9// Author           : Richard C. Bilson
10// Created On       : Mon May 18 07:44:20 2015
[a5f0529]11// Last Modified By : Andrew Beach
12// Last Modified On : Mon Jul 24 16:54:00 2017
13// Update Count     : 11
[0dd3a2f]14//
[51b7345]15
[6b0b624]16#pragma once
[51b7345]17
18#include <string>
19#include <list>
20#include <map>
21#include <iostream>
22
[262f085f]23class BaseSyntaxNode;
24
[51b7345]25class Declaration;
26class DeclarationWithType;
27class ObjectDecl;
28class FunctionDecl;
29class AggregateDecl;
30class StructDecl;
31class UnionDecl;
32class EnumDecl;
[4040425]33class TraitDecl;
[51b7345]34class NamedTypeDecl;
35class TypeDecl;
36class FtypeDecl;
37class DtypeDecl;
38class TypedefDecl;
[e994912]39class AsmDecl;
[f6e3e34]40class StaticAssertDecl;
[51b7345]41
42class Statement;
43class CompoundStmt;
44class ExprStmt;
[7f5566b]45class AsmStmt;
[51b7345]46class IfStmt;
47class WhileStmt;
48class ForStmt;
49class SwitchStmt;
50class CaseStmt;
51class BranchStmt;
52class ReturnStmt;
[daf1af8]53class ThrowStmt;
[51b7345]54class TryStmt;
55class CatchStmt;
56class FinallyStmt;
[135b431]57class WaitForStmt;
[61255ad]58class WithStmt;
[51b7345]59class NullStmt;
60class DeclStmt;
61class NullStmt;
[f1b1e4c]62class ImplicitCtorDtorStmt;
[51b7345]63
64class Expression;
65class ApplicationExpr;
66class UntypedExpr;
67class NameExpr;
68class AddressExpr;
69class LabelAddressExpr;
70class CastExpr;
[9a705dc8]71class KeywordCastExpr;
[a5f0529]72class VirtualCastExpr;
[51b7345]73class MemberExpr;
74class UntypedMemberExpr;
75class VariableExpr;
76class ConstantExpr;
77class SizeofExpr;
[47534159]78class AlignofExpr;
[2a4b088]79class UntypedOffsetofExpr;
[25a054f]80class OffsetofExpr;
[afc1045]81class OffsetPackExpr;
[51b7345]82class AttrExpr;
83class LogicalExpr;
84class ConditionalExpr;
85class CommaExpr;
86class TypeExpr;
[7f5566b]87class AsmExpr;
[db4ecc5]88class ImplicitCopyCtorExpr;
[b6fe7e6]89class ConstructorExpr;
[630a82a]90class CompoundLiteralExpr;
[b6fe7e6]91class UntypedValofExpr;
[8688ce1]92class RangeExpr;
[907eccb]93class UntypedTupleExpr;
[6eb8948]94class TupleExpr;
[3b58d91]95class TupleIndexExpr;
[6eb8948]96class TupleAssignExpr;
97class StmtExpr;
[3c13c03]98class UniqueExpr;
[e4d829b]99class UntypedInitExpr;
100class InitExpr;
[44b4114]101class DeletedExpr;
[51b7345]102
103class Type;
104class VoidType;
105class BasicType;
106class PointerType;
107class ArrayType;
[ce8c12f]108class ReferenceType;
[51b7345]109class FunctionType;
110class ReferenceToType;
111class StructInstType;
112class UnionInstType;
113class EnumInstType;
[4040425]114class TraitInstType;
[51b7345]115class TypeInstType;
116class TupleType;
117class TypeofType;
118class AttrType;
[44b7088]119class VarArgsType;
[89e6ffc]120class ZeroType;
121class OneType;
[51b7345]122
[e4d829b]123class Designation;
[51b7345]124class Initializer;
125class SingleInit;
126class ListInit;
[71f4e4f]127class ConstructorInit;
[51b7345]128
129class Subrange;
130
131//template <class T>    // emulate a union with templates?
132class Constant;
133
[0f8e4ac]134// typedef std::string Label;
135class Label;
[51b7345]136typedef unsigned int UniqueId;
137
138class TypeSubstitution;
139
[7baed7d]140// gcc attribute
141class Attribute;
142
[0dd3a2f]143// Local Variables: //
144// tab-width: 4 //
145// mode: c++ //
146// compile-command: "make install" //
147// End: //
Note: See TracBrowser for help on using the repository browser.