Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/CurrentObject.h

    rea6332d r2b59f55  
    1717
    1818#include <list>   // for list
     19#include <memory> // for unique_ptr
    1920#include <stack>  // for stack
     21#include <vector>
     22
     23#include "Common/CodeLocation.h"
    2024
    2125class Designation;
     
    5256} // namespace ResolvExpr
    5357
     58namespace ast {
     59        // AST class types
     60        class Designation;
     61        class InitAlternative;
     62        class Type;
     63
     64        // forward declaration of internal detail
     65        class MemberIterator;
     66
     67        /// Builds initializer lists in resolution
     68        class CurrentObject final {
     69                std::vector< std::shared_ptr<MemberIterator> > objStack;
     70       
     71        public:
     72                CurrentObject() = default;
     73                CurrentObject( const CodeLocation & loc, const Type * type );
     74
     75                /// produces a list of alternatives (Type *, Designation *) for the current sub-object's
     76                /// initializer.
     77                std::vector< InitAlternative > getOptions();
     78        };
     79} // namespace ast
     80
    5481// Local Variables: //
    5582// tab-width: 4 //
Note: See TracChangeset for help on using the changeset viewer.