Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Util.hpp

    r17fa94f rd3d54b3  
    2626void checkInvariants( TranslationUnit & );
    2727
     28/// Maintains an AST-module state for contextual information needed in
     29/// ast::* implementations, notably constructors:
     30///    early: while parsing, use bootstrap versions
     31///    late: once a whole TranslationUnit exists, use its answers
     32/// When the program is in the later state, ast::* construcors effectively get
     33/// the benefit of WithTranslationUnit, without having to pass them one.
     34class TranslationDeps {
     35
     36    TranslationDeps() = delete;
     37
     38    friend class SizeofExpr;
     39    friend class AlignofExpr;
     40    friend class CountofExpr;
     41    friend class OffsetofExpr;
     42    friend class OffsetPackExpr;
     43
     44    /// Appropriate return type for built-in expressions that report on sizes
     45    static const Type * getSizeType();
     46
     47  public:
     48    /// Transition from early to late states
     49    static void evolve( TranslationUnit & );
     50};
     51
    2852}
Note: See TracChangeset for help on using the changeset viewer.