zcov: / include/clang/AST/DeclNodes.def


Files: 1 Branches Taken: 58.0% 101 / 174
Generated: 2010-02-10 01:31 Branches Executed: 100.0% 174 / 174
Line Coverage: 98.4% 63 / 64


Programs: 20 Runs 32956


       1                 : //===-- DeclNodes.def - Metadata about Decl AST nodes -----------*- C++ -*-===//
       2                 : //
       3                 : //                     The LLVM Compiler Infrastructure
       4                 : //
       5                 : // This file is distributed under the University of Illinois Open Source
       6                 : // License. See LICENSE.TXT for details.
       7                 : //
       8                 : //===----------------------------------------------------------------------===//
       9                 : //
      10                 : //  This file defines the declaration nodes within the AST. The
      11                 : //  description of the declaration nodes uses six macros: 
      12                 : //
      13                 : //  DECL(Derived, Base) describes a normal declaration type Derived
      14                 : //  and specifies its base class. Note that Derived should not have
      15                 : //  the Decl suffix on it, while Base should.
      16                 : //
      17                 : //  LAST_DECL(Derived, Base) is like DECL, but is used for the last
      18                 : //  declaration in the list.
      19                 : //
      20                 : //  ABSTRACT_DECL(Derived, Base) describes an abstract class that is
      21                 : //  used to specify a classification of declarations. For example,
      22                 : //  TagDecl is an abstract class used to describe the various kinds of
      23                 : //  "tag" declarations (unions, structs, classes, enums).
      24                 : //
      25                 : //  DECL_CONTEXT(Decl) specifies that Decl is a kind of declaration
      26                 : //  that is also a DeclContext.
      27                 : //  
      28                 : //  LAST_DECL_CONTEXT(Decl) is like DECL_CONTEXT, but is used for the
      29                 : //  last declaration context.
      30                 : //
      31                 : //  DECL_RANGE(CommonBase, Start, End) specifies a range of
      32                 : //  declaration values that have a common (potentially indirect) base
      33                 : //  class.
      34                 : //
      35                 : //  LAST_DECL_RANGE(CommonBase, Start, End) is like DECL_RANGE, but is
      36                 : //  used for the last declaration range.
      37                 : //
      38                 : //  Note that, due to the use of ranges, the order of the these
      39                 : //  declarations is significant. A declaration should be listed under
      40                 : //  its base class.
      41                 : //  ===----------------------------------------------------------------------===//
      42                 : 
      43                 : #ifndef DECL
      44                 : #  define DECL(Derived, Base)
      45                 : #endif
      46                 : 
      47                 : #ifndef LAST_DECL
      48                 : #  define LAST_DECL(Derived, Base) DECL(Derived, Base)
      49                 : #endif
      50                 : 
      51                 : #ifndef ABSTRACT_DECL
      52                 : #  define ABSTRACT_DECL(Derived, Base)
      53                 : #endif
      54                 : 
      55                 : #ifndef DECL_CONTEXT
      56                 : #  define DECL_CONTEXT(Decl)
      57                 : #endif
      58                 : 
      59                 : #ifndef DECL_CONTEXT_BASE
      60                 : #  define DECL_CONTEXT_BASE(Decl) DECL_CONTEXT(Decl)
      61                 : #endif
      62                 : 
      63                 : #ifndef LAST_DECL_CONTEXT
      64                 : #  define LAST_DECL_CONTEXT(Decl) DECL_CONTEXT(Decl)
      65                 : #endif
      66                 : 
      67                 : #ifndef DECL_RANGE
      68                 : #  define DECL_RANGE(CommonBase, Start, End)
      69                 : #endif
      70                 : 
      71                 : #ifndef LAST_DECL_RANGE
      72                 : #  define LAST_DECL_RANGE(CommonBase, Start, End) \
      73                 :   DECL_RANGE(CommonBase, Start, End)
      74                 : #endif
      75                 : 
                        0: branch 0 not taken
                        2: branch 1 taken
      76              187: DECL(TranslationUnit, Decl)
      77             2052: ABSTRACT_DECL(Named,  Decl)
                        0: branch 0 not taken
                        2: branch 1 taken
      78              171:   DECL(Namespace, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      79                9:   DECL(UsingDirective, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      80                6:   DECL(NamespaceAlias, NamedDecl)
      81             1591:   ABSTRACT_DECL(Type, NamedDecl)
                        2: branch 0 taken
                        0: branch 1 not taken
      82              686:     DECL(Typedef, TypeDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      83                8:     DECL(UnresolvedUsingTypename, TypeDecl)
      84             1527:     ABSTRACT_DECL(Tag, TypeDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      85              412:       DECL(Enum, TagDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      86             1617:       DECL(Record, TagDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      87             4593:         DECL(CXXRecord, RecordDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      88               80:           DECL(ClassTemplateSpecialization, CXXRecordDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      89                8:             DECL(ClassTemplatePartialSpecialization, 
      90                 :                  ClassTemplateSpecializationDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      91              159:     DECL(TemplateTypeParm, TypeDecl)
      92              328:   ABSTRACT_DECL(Value, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      93               33:     DECL(EnumConstant, ValueDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      94               16:     DECL(UnresolvedUsingValue, ValueDecl)
      95              328:     ABSTRACT_DECL(Declarator, ValueDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      96             1375:       DECL(Function, DeclaratorDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      97             6157:         DECL(CXXMethod, FunctionDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      98             3151:           DECL(CXXConstructor, CXXMethodDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
      99             1531:           DECL(CXXDestructor, CXXMethodDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     100              146:           DECL(CXXConversion, CXXMethodDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     101              612:       DECL(Field, DeclaratorDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     102               52:         DECL(ObjCIvar, FieldDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     103               16:         DECL(ObjCAtDefsField, FieldDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     104             1178:       DECL(Var, DeclaratorDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     105               10:         DECL(ImplicitParam, VarDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     106              353:         DECL(ParmVar, VarDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     107               49:         DECL(NonTypeTemplateParm, VarDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     108               57:   DECL(Template, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     109               68:     DECL(FunctionTemplate, TemplateDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     110              182:     DECL(ClassTemplate, TemplateDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     111               49:     DECL(TemplateTemplateParm, TemplateDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     112               11:   DECL(Using, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     113                8:   DECL(UsingShadow, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     114              214:   DECL(ObjCMethod, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     115                4:   DECL(ObjCContainer, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     116              103:     DECL(ObjCCategory, ObjCContainerDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     117               95:     DECL(ObjCProtocol, ObjCContainerDecl)
                        1: branch 0 taken
                        1: branch 1 taken
     118              243:     DECL(ObjCInterface, ObjCContainerDecl)
     119                0:     ABSTRACT_DECL(ObjCImpl, ObjCContainerDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     120                6:       DECL(ObjCCategoryImpl, ObjCImplDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     121               13:       DECL(ObjCImplementation, ObjCImplDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     122               20:   DECL(ObjCProperty, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     123                5:   DECL(ObjCCompatibleAlias, NamedDecl)
                        0: branch 0 not taken
                        2: branch 1 taken
     124                4: DECL(LinkageSpec, Decl)
                        0: branch 0 not taken
                        2: branch 1 taken
     125               10: DECL(ObjCPropertyImpl, Decl)
                        0: branch 0 not taken
                        2: branch 1 taken
     126                7: DECL(ObjCForwardProtocol, Decl)
                        0: branch 0 not taken
                        2: branch 1 taken
     127               36: DECL(ObjCClass, Decl)
                        0: branch 0 not taken
                        2: branch 1 taken
     128               10: DECL(FileScopeAsm, Decl)
                        0: branch 0 not taken
                        2: branch 1 taken
     129               22: DECL(Friend, Decl)
                        0: branch 0 not taken
                        2: branch 1 taken
     130                4: DECL(FriendTemplate, Decl)
                        0: branch 0 not taken
                        2: branch 1 taken
     131               84: DECL(StaticAssert, Decl)
                        0: branch 0 not taken
                        2: branch 1 taken
     132                8: LAST_DECL(Block, Decl)
     133                 : 
     134                 : // Declaration contexts. DECL_CONTEXT_BASE indicates that it has subclasses.
                      763: branch 0 taken
                        0: branch 1 not taken
                    82962: branch 2 taken
                        0: branch 3 not taken
     135            83725: DECL_CONTEXT(TranslationUnit)
                      286: branch 0 taken
                        0: branch 1 not taken
                    38934: branch 2 taken
                        0: branch 3 not taken
     136            39305: DECL_CONTEXT(Namespace)
                       49: branch 0 taken
                        0: branch 1 not taken
                    18381: branch 2 taken
                        0: branch 3 not taken
     137            18430: DECL_CONTEXT(LinkageSpec)
                     3649: branch 0 taken
                        0: branch 1 not taken
                     4057: branch 2 taken
                        0: branch 3 not taken
     138             7706: DECL_CONTEXT(ObjCMethod)
                    61395: branch 1 taken
                     2013: branch 2 taken
                    17530: branch 4 taken
                    43865: branch 5 taken
                    17530: branch 6 taken
                    45878: branch 7 taken
                    33886: branch 8 taken
                        0: branch 9 not taken
                     8772: branch 10 taken
                    25114: branch 11 taken
                     8772: branch 12 taken
                        0: branch 13 not taken
                   409304: branch 14 taken
                        0: branch 15 not taken
                   216327: branch 16 taken
                   192977: branch 17 taken
                   216327: branch 18 taken
                        0: branch 19 not taken
     139           506598: DECL_CONTEXT_BASE(Tag)
                    43428: branch 1 taken
                     2450: branch 2 taken
                    23226: branch 4 taken
                    20202: branch 5 taken
                    23226: branch 6 taken
                    22652: branch 7 taken
                    25114: branch 8 taken
                        0: branch 9 not taken
                    17501: branch 10 taken
                     7613: branch 11 taken
                    17501: branch 12 taken
                        0: branch 13 not taken
                   192977: branch 14 taken
                        0: branch 15 not taken
                   182155: branch 16 taken
                    10822: branch 17 taken
                   182155: branch 18 taken
                        0: branch 19 not taken
     140           263969: DECL_CONTEXT_BASE(Function)
                    14870: branch 1 taken
                     7782: branch 2 taken
                    12154: branch 4 taken
                     2716: branch 5 taken
                    12154: branch 6 taken
                    10498: branch 7 taken
                     7613: branch 8 taken
                        0: branch 9 not taken
                     7613: branch 10 taken
                        0: branch 11 not taken
                     7613: branch 12 taken
                        0: branch 13 not taken
                    10822: branch 14 taken
                        0: branch 15 not taken
                    10822: branch 16 taken
                        0: branch 17 not taken
                    10822: branch 18 taken
                        0: branch 19 not taken
     141            41267: DECL_CONTEXT_BASE(ObjCContainer)
                       83: branch 0 taken
                        0: branch 1 not taken
                     1605: branch 2 taken
                        0: branch 3 not taken
     142             1691: LAST_DECL_CONTEXT(Block)
     143                 : 
     144                 : // Declaration ranges
     145                 : DECL_RANGE(Named, Namespace, ObjCCompatibleAlias)
     146                 : DECL_RANGE(ObjCContainer, ObjCContainer, ObjCImplementation)
     147                 : DECL_RANGE(Field, Field, ObjCAtDefsField)
     148                 : DECL_RANGE(Type, Typedef, TemplateTypeParm)
     149                 : DECL_RANGE(Tag, Enum, ClassTemplatePartialSpecialization)
     150                 : DECL_RANGE(Record, Record, ClassTemplatePartialSpecialization)
     151                 : DECL_RANGE(Value, EnumConstant, NonTypeTemplateParm)
     152                 : DECL_RANGE(Declarator, Function, NonTypeTemplateParm)
     153                 : DECL_RANGE(Function, Function, CXXConversion)
     154                 : DECL_RANGE(Template, Template, TemplateTemplateParm)
     155                 : DECL_RANGE(ObjCImpl, ObjCCategoryImpl, ObjCImplementation)
     156                 : LAST_DECL_RANGE(Var, Var, NonTypeTemplateParm)
     157                 : 
     158                 : #undef LAST_DECL_RANGE
     159                 : #undef DECL_RANGE
     160                 : #undef LAST_DECL_CONTEXT
     161                 : #undef DECL_CONTEXT_BASE
     162                 : #undef DECL_CONTEXT
     163                 : #undef ABSTRACT_DECL
     164                 : #undef LAST_DECL
     165                 : #undef DECL

Generated: 2010-02-10 01:31 by zcov