source: src/SynTree/SynTree.h @ fa2e183

ADTast-experimental
Last change on this file since fa2e183 was e874605, checked in by JiadaL <j82liang@…>, 20 months ago

Add class InlineValueDecl?, which is a Declaration class that works as a placeholder for aggregration value inherited from other aggregration. Disable inline value overwrite.

  • Property mode set to 100644
File size: 2.8 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
[033ff37]11// Last Modified By : Peter A. Buhr
[3b0bc16]12// Last Modified On : Tue Feb  1 09:22:33 2022
13// Update Count     : 14
[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 TypedefDecl;
[e994912]37class AsmDecl;
[2d019af]38class DirectiveDecl;
[f6e3e34]39class StaticAssertDecl;
[e874605]40class InlineValueDecl;
[51b7345]41
42class Statement;
43class CompoundStmt;
44class ExprStmt;
[7f5566b]45class AsmStmt;
[cc32d83]46class DirectiveStmt;
[51b7345]47class IfStmt;
[3b0bc16]48class WhileDoStmt;
[51b7345]49class ForStmt;
50class SwitchStmt;
51class CaseStmt;
52class BranchStmt;
53class ReturnStmt;
[daf1af8]54class ThrowStmt;
[51b7345]55class TryStmt;
56class CatchStmt;
57class FinallyStmt;
[37cdd97]58class SuspendStmt;
[135b431]59class WaitForStmt;
[61255ad]60class WithStmt;
[51b7345]61class NullStmt;
62class DeclStmt;
63class NullStmt;
[f1b1e4c]64class ImplicitCtorDtorStmt;
[6cebfef]65class MutexStmt;
[51b7345]66
67class Expression;
68class ApplicationExpr;
69class UntypedExpr;
70class NameExpr;
71class AddressExpr;
72class LabelAddressExpr;
73class CastExpr;
[9a705dc8]74class KeywordCastExpr;
[a5f0529]75class VirtualCastExpr;
[51b7345]76class MemberExpr;
77class UntypedMemberExpr;
78class VariableExpr;
79class ConstantExpr;
80class SizeofExpr;
[47534159]81class AlignofExpr;
[2a4b088]82class UntypedOffsetofExpr;
[25a054f]83class OffsetofExpr;
[afc1045]84class OffsetPackExpr;
[51b7345]85class LogicalExpr;
86class ConditionalExpr;
87class CommaExpr;
88class TypeExpr;
[6e50a6b]89class DimensionExpr;
[7f5566b]90class AsmExpr;
[db4ecc5]91class ImplicitCopyCtorExpr;
[b6fe7e6]92class ConstructorExpr;
[630a82a]93class CompoundLiteralExpr;
[8688ce1]94class RangeExpr;
[907eccb]95class UntypedTupleExpr;
[6eb8948]96class TupleExpr;
[3b58d91]97class TupleIndexExpr;
[6eb8948]98class TupleAssignExpr;
99class StmtExpr;
[3c13c03]100class UniqueExpr;
[e4d829b]101class UntypedInitExpr;
102class InitExpr;
[44b4114]103class DeletedExpr;
[0f79853]104class DefaultArgExpr;
[d807ca28]105class GenericExpr;
[50a8aa9]106class QualifiedNameExpr;
[51b7345]107
108class Type;
109class VoidType;
110class BasicType;
111class PointerType;
112class ArrayType;
[ce8c12f]113class ReferenceType;
[c5d7701]114class QualifiedType;
[51b7345]115class FunctionType;
116class ReferenceToType;
117class StructInstType;
118class UnionInstType;
119class EnumInstType;
[4040425]120class TraitInstType;
[51b7345]121class TypeInstType;
122class TupleType;
123class TypeofType;
[7ff35e0e]124class VTableType;
[51b7345]125class AttrType;
[44b7088]126class VarArgsType;
[89e6ffc]127class ZeroType;
128class OneType;
[47498bd]129class GlobalScopeType;
[51b7345]130
[e4d829b]131class Designation;
[51b7345]132class Initializer;
133class SingleInit;
134class ListInit;
[71f4e4f]135class ConstructorInit;
[51b7345]136
137//template <class T>    // emulate a union with templates?
138class Constant;
139
[0f8e4ac]140// typedef std::string Label;
141class Label;
[51b7345]142typedef unsigned int UniqueId;
143
144class TypeSubstitution;
145
[7baed7d]146// gcc attribute
147class Attribute;
148
[0dd3a2f]149// Local Variables: //
150// tab-width: 4 //
151// mode: c++ //
152// compile-command: "make install" //
153// End: //
Note: See TracBrowser for help on using the repository browser.