Ignore:
Timestamp:
Jun 6, 2019, 10:23:59 PM (5 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
46438e4
Parents:
c6a1e8a (diff), 5684736 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/CurrentObject.h

    rc6a1e8a r866545b  
    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.