Ignore:
Timestamp:
Jun 13, 2018, 4:14:31 PM (6 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
new-env
Children:
97397a26
Parents:
6d53e779
Message:

Start on breadth-first assertion resolution

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Resolver.cc

    r6d53e779 rb60f9d9  
    5151namespace ResolvExpr {
    5252        struct Resolver final : public WithIndexer, public WithGuards, public WithVisitorRef<Resolver>, public WithShortCircuiting, public WithStmtsToAdd {
     53       
     54        friend void resolve( std::list<Declaration*> );
     55
    5356                Resolver() {}
    5457                Resolver( const SymTab::Indexer & other ) {
     
    9699                CurrentObject currentObject = nullptr;
    97100                bool inEnumDecl = false;
     101                bool atTopLevel = false;  ///< Was this resolver set up at the top level of resolution
    98102        };
    99103
    100104        void resolve( std::list< Declaration * > translationUnit ) {
    101105                PassVisitor<Resolver> resolver;
     106                resolver.pass.atTopLevel = true;  // mark resolver as top-level
    102107                acceptAll( translationUnit, resolver );
    103108        }
Note: See TracChangeset for help on using the changeset viewer.