// Copyright (c) 2008 Roberto Raggi // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. #pragma once #include "CPlusPlusForwardDeclarations.h" namespace CPlusPlus { template class List; class AST; class ASTVisitor; class ASTMatcher; class AccessDeclarationAST; class AliasDeclarationAST; class AlignmentSpecifierAST; class AlignofExpressionAST; class AnonymousNameAST; class ArrayAccessAST; class ArrayDeclaratorAST; class ArrayInitializerAST; class AsmDefinitionAST; class AttributeSpecifierAST; class AwaitExpressionAST; class BaseSpecifierAST; class BinaryExpressionAST; class BoolLiteralAST; class BracedInitializerAST; class BracketDesignatorAST; class BreakStatementAST; class CallAST; class CaptureAST; class CaseStatementAST; class CastExpressionAST; class CatchClauseAST; class ClassSpecifierAST; class CompoundExpressionAST; class CompoundLiteralAST; class CompoundStatementAST; class ConditionAST; class ConditionalExpressionAST; class ContinueStatementAST; class ConversionFunctionIdAST; class CoreDeclaratorAST; class CppCastExpressionAST; class CtorInitializerAST; class DeclarationAST; class DeclarationStatementAST; class DeclaratorAST; class DeclaratorIdAST; class DecompositionDeclaratorAST; class DecltypeSpecifierAST; class DeleteExpressionAST; class DesignatedInitializerAST; class DesignatorAST; class DestructorNameAST; class DoStatementAST; class DotDesignatorAST; class DynamicExceptionSpecificationAST; class ElaboratedTypeSpecifierAST; class EmptyDeclarationAST; class EnumSpecifierAST; class EnumeratorAST; class ExceptionDeclarationAST; class ExceptionSpecificationAST; class ExpressionAST; class ExpressionListParenAST; class ExpressionOrDeclarationStatementAST; class ExpressionStatementAST; class ForStatementAST; class ForeachStatementAST; class FunctionDeclaratorAST; class FunctionDefinitionAST; class GnuAttributeAST; class GnuAttributeSpecifierAST; class GotoStatementAST; class IdExpressionAST; class IfStatementAST; class LabeledStatementAST; class LambdaCaptureAST; class LambdaDeclaratorAST; class LambdaExpressionAST; class LambdaIntroducerAST; class LinkageBodyAST; class LinkageSpecificationAST; class MemInitializerAST; class MemberAccessAST; class MsvcDeclspecSpecifierAST; class NameAST; class NamedTypeSpecifierAST; class NamespaceAST; class NamespaceAliasDefinitionAST; class NestedDeclaratorAST; class NestedExpressionAST; class NestedNameSpecifierAST; class NewArrayDeclaratorAST; class NewExpressionAST; class NewTypeIdAST; class NoExceptOperatorExpressionAST; class NoExceptSpecificationAST; class NumericLiteralAST; class ObjCClassDeclarationAST; class ObjCClassForwardDeclarationAST; class ObjCDynamicPropertiesDeclarationAST; class ObjCEncodeExpressionAST; class ObjCFastEnumerationAST; class ObjCInstanceVariablesDeclarationAST; class ObjCMessageArgumentAST; class ObjCMessageArgumentDeclarationAST; class ObjCMessageExpressionAST; class ObjCMethodDeclarationAST; class ObjCMethodPrototypeAST; class ObjCPropertyAttributeAST; class ObjCPropertyDeclarationAST; class ObjCProtocolDeclarationAST; class ObjCProtocolExpressionAST; class ObjCProtocolForwardDeclarationAST; class ObjCProtocolRefsAST; class ObjCSelectorAST; class ObjCSelectorArgumentAST; class ObjCSelectorExpressionAST; class ObjCSynchronizedStatementAST; class ObjCSynthesizedPropertiesDeclarationAST; class ObjCSynthesizedPropertyAST; class ObjCTypeNameAST; class ObjCVisibilityDeclarationAST; class OperatorAST; class OperatorFunctionIdAST; class ParameterDeclarationAST; class ParameterDeclarationClauseAST; class PlaceholderTypeSpecifierAST; class PointerAST; class PointerLiteralAST; class PointerToMemberAST; class PostIncrDecrAST; class PostfixAST; class PostfixDeclaratorAST; class PtrOperatorAST; class QtEnumDeclarationAST; class QtFlagsDeclarationAST; class QtInterfaceNameAST; class QtInterfacesDeclarationAST; class QtMemberDeclarationAST; class QtMethodAST; class QtObjectTagAST; class QtPrivateSlotAST; class QtPropertyDeclarationAST; class QtPropertyDeclarationItemAST; class QualifiedNameAST; class RangeBasedForStatementAST; class ReferenceAST; class RequiresClauseAST; class RequiresExpressionAST; class ReturnStatementAST; class SimpleDeclarationAST; class SimpleNameAST; class SimpleSpecifierAST; class SizeofExpressionAST; class SpecifierAST; class StatementAST; class StaticAssertDeclarationAST; class StdAttributeSpecifierAST; class StringLiteralAST; class SwitchStatementAST; class TemplateDeclarationAST; class ConceptDeclarationAST; class TemplateIdAST; class TemplateTypeParameterAST; class ThisExpressionAST; class ThrowExpressionAST; class TrailingReturnTypeAST; class TranslationUnitAST; class TryBlockStatementAST; class TypeConstraintAST; class TypeConstructorCallAST; class TypeIdAST; class TypeidExpressionAST; class TypenameCallExpressionAST; class TypenameTypeParameterAST; class TypeofSpecifierAST; class UnaryExpressionAST; class UsingAST; class UsingDirectiveAST; class WhileStatementAST; class YieldExpressionAST; typedef List ExpressionListAST; typedef List DeclarationListAST; typedef List StatementListAST; typedef List DeclaratorListAST; typedef List BaseSpecifierListAST; typedef List EnumeratorListAST; typedef List MemInitializerListAST; typedef List NewArrayDeclaratorListAST; typedef List PostfixListAST; typedef List PostfixDeclaratorListAST; typedef List GnuAttributeListAST; typedef List NestedNameSpecifierListAST; typedef List CatchClauseListAST; typedef List PtrOperatorListAST; typedef List SpecifierListAST; typedef List QtPropertyDeclarationItemListAST; typedef List NameListAST; typedef List QtInterfaceNameListAST; typedef List ParameterDeclarationListAST; typedef List CaptureListAST; typedef List ObjCMessageArgumentListAST; typedef List ObjCSelectorArgumentListAST; typedef List ObjCPropertyAttributeListAST; typedef List ObjCMessageArgumentDeclarationListAST; typedef List ObjCSynthesizedPropertyListAST; typedef List DesignatorListAST; } // namespace CPlusPlus