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


Files: 1 Branches Taken: 38.9% 72 / 185
Generated: 2010-02-10 01:31 Branches Executed: 56.2% 104 / 185
Line Coverage: 97.4% 38 / 39


Programs: 62 Runs 110214


       1                 : //===-- TypeNodes.def - Metadata about Type 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 AST type info database. Each type node is
      11                 : //  enumerated by providing its name (e.g., "Builtin" or "Enum") and
      12                 : //  base class (e.g., "Type" or "TagType"). Depending on where in the
      13                 : //  abstract syntax tree the type will show up, the enumeration uses
      14                 : //  one of four different macros:
      15                 : //
      16                 : //    TYPE(Class, Base) - A type that can show up anywhere in the AST,
      17                 : //    and might be dependent, canonical, or non-canonical. All clients
      18                 : //    will need to understand these types.
      19                 : //
      20                 : //    ABSTRACT_TYPE(Class, Base) - An abstract class that shows up in
      21                 : //    the type hierarchy but has no concrete instances.
      22                 : //
      23                 : //    NON_CANONICAL_TYPE(Class, Base) - A type that can show up
      24                 : //    anywhere in the AST but will never be a part of a canonical
      25                 : //    type. Clients that only need to deal with canonical types
      26                 : //    (ignoring, e.g., typedefs and other type alises used for
      27                 : //    pretty-printing) can ignore these types.
      28                 : //
      29                 : //    DEPENDENT_TYPE(Class, Base) - A type that will only show up
      30                 : //    within a C++ template that has not been instantiated, e.g., a
      31                 : //    type that is always dependent. Clients that do not need to deal
      32                 : //    with uninstantiated C++ templates can ignore these types.
      33                 : //
      34                 : //  There is a fifth macro, independent of the others.  Most clients
      35                 : //  will not need to use it.
      36                 : //
      37                 : //    LEAF_TYPE(Class) - A type that never has inner types.  Clients
      38                 : //    which can operate on such types more efficiently may wish to do so.
      39                 : //
      40                 : //===----------------------------------------------------------------------===//
      41                 : 
      42                 : #ifndef ABSTRACT_TYPE
      43                 : #  define ABSTRACT_TYPE(Class, Base) TYPE(Class, Base)
      44                 : #endif
      45                 : 
      46                 : #ifndef NON_CANONICAL_TYPE
      47                 : #  define NON_CANONICAL_TYPE(Class, Base) TYPE(Class, Base)
      48                 : #endif
      49                 : 
      50                 : #ifndef DEPENDENT_TYPE
      51                 : #  define DEPENDENT_TYPE(Class, Base) TYPE(Class, Base)
      52                 : #endif
      53                 : 
                        2: branch 2 taken
                      819: branch 3 taken
                       11: branch 8 taken
                        0: branch 9 not taken
                      122: branch 14 taken
                        0: branch 15 not taken
      54           161876: TYPE(Builtin, Type)
                       14: branch 2 taken
                        3: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        4: branch 14 taken
                        0: branch 15 not taken
      55             1877: TYPE(Complex, Type)
                     7760: branch 2 taken
                      488: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                       43: branch 14 taken
                        0: branch 15 not taken
      56            88570: TYPE(Pointer, Type)
                       36: branch 2 taken
                       43: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      57             1378: TYPE(BlockPointer, Type)
      58               43: ABSTRACT_TYPE(Reference, Type)
                      267: branch 2 taken
                       73: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      59            12915: TYPE(LValueReference, ReferenceType)
                       14: branch 2 taken
                        7: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      60              266: TYPE(RValueReference, ReferenceType)
                      374: branch 2 taken
                       44: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      61             2312: TYPE(MemberPointer, Type)
      62                0: ABSTRACT_TYPE(Array, Type)
                       55: branch 2 taken
                       44: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                      667: branch 14 taken
                        0: branch 15 not taken
      63            11546: TYPE(ConstantArray, ArrayType)
                        8: branch 2 taken
                        7: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                       92: branch 14 taken
                        0: branch 15 not taken
      64             2774: TYPE(IncompleteArray, ArrayType)
                        0: branch 2 not taken
                        2: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                       19: branch 14 taken
                        0: branch 15 not taken
      65             1198: TYPE(VariableArray, ArrayType)
                        0: branch 2 not taken
                        2: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        2: branch 14 taken
                        0: branch 15 not taken
      66              608: DEPENDENT_TYPE(DependentSizedArray, ArrayType)
                        0: branch 2 not taken
                        2: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      67               68: DEPENDENT_TYPE(DependentSizedExtVector, Type)
                     1421: branch 2 taken
                       11: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      68             4106: TYPE(Vector, Type)
                      344: branch 2 taken
                        2: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        7: branch 14 taken
                        0: branch 15 not taken
      69              758: TYPE(ExtVector, VectorType)
      70                3: ABSTRACT_TYPE(Function, Type)
                      221: branch 2 taken
                       92: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        6: branch 14 taken
                        0: branch 15 not taken
      71            76616: TYPE(FunctionProto, FunctionType)
                       66: branch 2 taken
                        9: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        4: branch 14 taken
                        0: branch 15 not taken
      72            12560: TYPE(FunctionNoProto, FunctionType)
                        0: branch 2 not taken
                        2: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      73               17: DEPENDENT_TYPE(UnresolvedUsing, Type)
                      168: branch 2 taken
                    15003: branch 3 taken
                        0: branch 8 not taken
                        4: branch 9 taken
                        0: branch 14 not taken
                      379: branch 15 taken
      74            63790: NON_CANONICAL_TYPE(Typedef, Type)
                       10: branch 2 taken
                      135: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                       14: branch 15 taken
      75             1284: NON_CANONICAL_TYPE(TypeOfExpr, Type)
                        7: branch 2 taken
                       13: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                       10: branch 15 taken
      76              132: NON_CANONICAL_TYPE(TypeOf, Type)
                        0: branch 2 not taken
                        5: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      77              157: NON_CANONICAL_TYPE(Decltype, Type)
      78             5545: ABSTRACT_TYPE(Tag, Type)
                    21129: branch 2 taken
                      935: branch 3 taken
                        4: branch 8 taken
                        0: branch 9 not taken
                       36: branch 14 taken
                        0: branch 15 not taken
      79            75889: TYPE(Record, TagType)
                        3: branch 2 taken
                       21: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      80             1411: TYPE(Enum, TagType)
                        0: branch 2 not taken
                     1175: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        5: branch 15 taken
      81             5099: NON_CANONICAL_TYPE(Elaborated, Type)
                        0: branch 2 not taken
                        3: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      82            34942: DEPENDENT_TYPE(TemplateTypeParm, Type)
                        0: branch 2 not taken
                     4215: branch 3 taken
                        0: branch 8 not taken
                       11: branch 9 taken
                        0: branch 14 not taken
                       57: branch 15 taken
      83            17575: NON_CANONICAL_TYPE(SubstTemplateTypeParm, Type)
                        0: branch 2 not taken
                    13005: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      84            37412: TYPE(TemplateSpecialization, Type)
                        0: branch 2 not taken
                     2126: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      85             5783: NON_CANONICAL_TYPE(QualifiedName, Type)
                        0: branch 2 not taken
                        2: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      86             1715: DEPENDENT_TYPE(Typename, Type)
                        1: branch 2 taken
                       29: branch 3 taken
                        0: branch 8 not taken
                        0: branch 9 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
      87             7545: TYPE(ObjCInterface, Type)
                     2873: branch 2 taken
                      204: branch 3 taken
                        0: branch 9 not taken
                       31: branch 14 taken
                        0: branch 15 not taken
      88            22589: TYPE(ObjCObjectPointer, Type)
      89                 : 
      90                 : // These types are always leaves in the type hierarchy.
      91                 : #ifdef LEAF_TYPE
      92            55604: LEAF_TYPE(Enum)
      93           235422: LEAF_TYPE(Builtin)
      94            12553: LEAF_TYPE(ObjCInterface)
      95             2860: LEAF_TYPE(TemplateTypeParm)
      96                 : #undef LEAF_TYPE
      97                 : #endif
      98                 : 
      99                 : #undef DEPENDENT_TYPE
     100                 : #undef NON_CANONICAL_TYPE
     101                 : #undef ABSTRACT_TYPE
     102                 : #undef TYPE

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