tools/icheck/parser/src/shared/cplusplus/ASTfwd.h
changeset 0 876b1a06bc25
equal deleted inserted replaced
-1:000000000000 0:876b1a06bc25
       
     1 /****************************************************************************
       
     2 **
       
     3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     4 ** All rights reserved.
       
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
       
     6 **
       
     7 ** This file is part of the Qt Mobility Components.
       
     8 **
       
     9 ** $QT_BEGIN_LICENSE:LGPL$
       
    10 ** No Commercial Usage
       
    11 ** This file contains pre-release code and may not be distributed.
       
    12 ** You may use this file in accordance with the terms and conditions
       
    13 ** contained in the Technology Preview License Agreement accompanying
       
    14 ** this package.
       
    15 **
       
    16 ** GNU Lesser General Public License Usage
       
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
       
    18 ** General Public License version 2.1 as published by the Free Software
       
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
       
    20 ** packaging of this file.  Please review the following information to
       
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
       
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
       
    23 **
       
    24 ** In addition, as a special exception, Nokia gives you certain additional
       
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
       
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
       
    27 **
       
    28 ** If you have questions regarding the use of this file, please contact
       
    29 ** Nokia at qt-info@nokia.com.
       
    30 **
       
    31 **
       
    32 **
       
    33 **
       
    34 **
       
    35 **
       
    36 **
       
    37 **
       
    38 ** $QT_END_LICENSE$
       
    39 **
       
    40 ****************************************************************************/
       
    41 
       
    42 // Copyright (c) 2008 Roberto Raggi <roberto.raggi@gmail.com>
       
    43 //
       
    44 // Permission is hereby granted, free of charge, to any person obtaining a copy
       
    45 // of this software and associated documentation files (the "Software"), to deal
       
    46 // in the Software without restriction, including without limitation the rights
       
    47 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
       
    48 // copies of the Software, and to permit persons to whom the Software is
       
    49 // furnished to do so, subject to the following conditions:
       
    50 //
       
    51 // The above copyright notice and this permission notice shall be included in
       
    52 // all copies or substantial portions of the Software.
       
    53 //
       
    54 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
       
    55 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
       
    56 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
       
    57 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
       
    58 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
       
    59 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
       
    60 // THE SOFTWARE.
       
    61 
       
    62 #ifndef CPLUSPLUS_ASTFWD_H
       
    63 #define CPLUSPLUS_ASTFWD_H
       
    64 
       
    65 #include "CPlusPlusForwardDeclarations.h"
       
    66 
       
    67 namespace CPlusPlus {
       
    68 
       
    69 template <typename _Tp> class List;
       
    70 
       
    71 class AST;
       
    72 class ASTVisitor;
       
    73 class ASTMatcher;
       
    74 
       
    75 class AccessDeclarationAST;
       
    76 #ifdef ICHECK_BUILD
       
    77   class QPropertyDeclarationAST;
       
    78   class QEnumDeclarationAST;
       
    79   class QFlagsDeclarationAST;
       
    80   class QDeclareFlagsDeclarationAST;
       
    81 #endif
       
    82 class ArrayAccessAST;
       
    83 class ArrayDeclaratorAST;
       
    84 class ArrayInitializerAST;
       
    85 class AsmDefinitionAST;
       
    86 class AttributeAST;
       
    87 class AttributeSpecifierAST;
       
    88 class BaseSpecifierAST;
       
    89 class BinaryExpressionAST;
       
    90 class BoolLiteralAST;
       
    91 class BreakStatementAST;
       
    92 class CallAST;
       
    93 class CaseStatementAST;
       
    94 class CastExpressionAST;
       
    95 class CatchClauseAST;
       
    96 class ClassSpecifierAST;
       
    97 class CompoundLiteralAST;
       
    98 class CompoundStatementAST;
       
    99 class ConditionAST;
       
   100 class ConditionalExpressionAST;
       
   101 class ContinueStatementAST;
       
   102 class ConversionFunctionIdAST;
       
   103 class CoreDeclaratorAST;
       
   104 class CppCastExpressionAST;
       
   105 class CtorInitializerAST;
       
   106 class DeclarationAST;
       
   107 class DeclarationStatementAST;
       
   108 class DeclaratorAST;
       
   109 class DeclaratorIdAST;
       
   110 class DeleteExpressionAST;
       
   111 class DestructorNameAST;
       
   112 class DoStatementAST;
       
   113 class ElaboratedTypeSpecifierAST;
       
   114 class EmptyDeclarationAST;
       
   115 class EnumSpecifierAST;
       
   116 class EnumeratorAST;
       
   117 class ExceptionDeclarationAST;
       
   118 class ExceptionSpecificationAST;
       
   119 class ExpressionAST;
       
   120 class ExpressionOrDeclarationStatementAST;
       
   121 class ExpressionStatementAST;
       
   122 class ForStatementAST;
       
   123 class ForeachStatementAST;
       
   124 class FunctionDeclaratorAST;
       
   125 class FunctionDefinitionAST;
       
   126 class GotoStatementAST;
       
   127 class IfStatementAST;
       
   128 class LabeledStatementAST;
       
   129 class LinkageBodyAST;
       
   130 class LinkageSpecificationAST;
       
   131 class MemInitializerAST;
       
   132 class MemberAccessAST;
       
   133 class NameAST;
       
   134 class NamedTypeSpecifierAST;
       
   135 class NamespaceAST;
       
   136 class NamespaceAliasDefinitionAST;
       
   137 class NestedDeclaratorAST;
       
   138 class NestedExpressionAST;
       
   139 class NestedNameSpecifierAST;
       
   140 class NewArrayDeclaratorAST;
       
   141 class NewExpressionAST;
       
   142 class NewInitializerAST;
       
   143 class NewPlacementAST;
       
   144 class NewTypeIdAST;
       
   145 class NumericLiteralAST;
       
   146 class ObjCClassDeclarationAST;
       
   147 class ObjCClassForwardDeclarationAST;
       
   148 class ObjCDynamicPropertiesDeclarationAST;
       
   149 class ObjCEncodeExpressionAST;
       
   150 class ObjCFastEnumerationAST;
       
   151 class ObjCInstanceVariablesDeclarationAST;
       
   152 class ObjCMessageArgumentAST;
       
   153 class ObjCMessageArgumentDeclarationAST;
       
   154 class ObjCMessageExpressionAST;
       
   155 class ObjCMethodDeclarationAST;
       
   156 class ObjCMethodPrototypeAST;
       
   157 class ObjCPropertyAttributeAST;
       
   158 class ObjCPropertyDeclarationAST;
       
   159 class ObjCProtocolDeclarationAST;
       
   160 class ObjCProtocolExpressionAST;
       
   161 class ObjCProtocolForwardDeclarationAST;
       
   162 class ObjCProtocolRefsAST;
       
   163 class ObjCSelectorAST;
       
   164 class ObjCSelectorArgumentAST;
       
   165 class ObjCSelectorExpressionAST;
       
   166 class ObjCSelectorWithArgumentsAST;
       
   167 class ObjCSelectorWithoutArgumentsAST;
       
   168 class ObjCSynchronizedStatementAST;
       
   169 class ObjCSynthesizedPropertiesDeclarationAST;
       
   170 class ObjCSynthesizedPropertyAST;
       
   171 class ObjCTypeNameAST;
       
   172 class ObjCVisibilityDeclarationAST;
       
   173 class OperatorAST;
       
   174 class OperatorFunctionIdAST;
       
   175 class ParameterDeclarationAST;
       
   176 class ParameterDeclarationClauseAST;
       
   177 class PointerAST;
       
   178 class PointerToMemberAST;
       
   179 class PostIncrDecrAST;
       
   180 class PostfixAST;
       
   181 class PostfixDeclaratorAST;
       
   182 class PostfixExpressionAST;
       
   183 class PtrOperatorAST;
       
   184 class QtMemberDeclarationAST;
       
   185 class QtMethodAST;
       
   186 class QualifiedNameAST;
       
   187 class ReferenceAST;
       
   188 class ReturnStatementAST;
       
   189 class SimpleDeclarationAST;
       
   190 class SimpleNameAST;
       
   191 class SimpleSpecifierAST;
       
   192 class SizeofExpressionAST;
       
   193 class SpecifierAST;
       
   194 class StatementAST;
       
   195 class StringLiteralAST;
       
   196 class SwitchStatementAST;
       
   197 class TemplateDeclarationAST;
       
   198 class TemplateIdAST;
       
   199 class TemplateTypeParameterAST;
       
   200 class ThisExpressionAST;
       
   201 class ThrowExpressionAST;
       
   202 class TranslationUnitAST;
       
   203 class TryBlockStatementAST;
       
   204 class TypeConstructorCallAST;
       
   205 class TypeIdAST;
       
   206 class TypeidExpressionAST;
       
   207 class TypenameCallExpressionAST;
       
   208 class TypenameTypeParameterAST;
       
   209 class TypeofSpecifierAST;
       
   210 class UnaryExpressionAST;
       
   211 class UsingAST;
       
   212 class UsingDirectiveAST;
       
   213 class WhileStatementAST;
       
   214 
       
   215 typedef List<ExpressionAST *> ExpressionListAST;
       
   216 typedef List<DeclarationAST *> DeclarationListAST;
       
   217 typedef List<StatementAST *> StatementListAST;
       
   218 typedef List<DeclaratorAST *> DeclaratorListAST;
       
   219 typedef List<BaseSpecifierAST *> BaseSpecifierListAST;
       
   220 typedef List<EnumeratorAST *> EnumeratorListAST;
       
   221 typedef List<MemInitializerAST *> MemInitializerListAST;
       
   222 typedef List<NewArrayDeclaratorAST *> NewArrayDeclaratorListAST;
       
   223 typedef List<PostfixAST *> PostfixListAST;
       
   224 typedef List<PostfixDeclaratorAST *> PostfixDeclaratorListAST;
       
   225 typedef List<AttributeAST *> AttributeListAST;
       
   226 typedef List<NestedNameSpecifierAST *> NestedNameSpecifierListAST;
       
   227 typedef List<CatchClauseAST *> CatchClauseListAST;
       
   228 typedef List<PtrOperatorAST *> PtrOperatorListAST;
       
   229 typedef List<SpecifierAST *> SpecifierListAST;
       
   230 
       
   231 typedef List<NameAST *> ObjCIdentifierListAST;
       
   232 typedef List<ObjCMessageArgumentAST *> ObjCMessageArgumentListAST;
       
   233 typedef List<ObjCSelectorArgumentAST *> ObjCSelectorArgumentListAST;
       
   234 typedef List<ObjCPropertyAttributeAST *> ObjCPropertyAttributeListAST;
       
   235 typedef List<ObjCMessageArgumentDeclarationAST *> ObjCMessageArgumentDeclarationListAST;
       
   236 typedef List<ObjCSynthesizedPropertyAST *> ObjCSynthesizedPropertyListAST;
       
   237 
       
   238 typedef ExpressionListAST TemplateArgumentListAST;
       
   239 
       
   240 } // end of namespace CPlusPlus
       
   241 
       
   242 
       
   243 #endif // CPLUSPLUS_ASTFWD_H