Ignore:
Timestamp:
Sep 27, 2017, 3:54:21 PM (7 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
7bcb8eb
Parents:
a4477db
Message:

Add maybeFind to AlternativeFinder? to prevent excess exceptions when finding function operators

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/AlternativeFinder.h

    ra4477db rb6d6e97  
    3434          public:
    3535                AlternativeFinder( const SymTab::Indexer &indexer, const TypeEnvironment &env );
    36                 void find( Expression *expr, bool adjust = false, bool prune = true );
     36                void find( Expression *expr, bool adjust = false, bool prune = true, bool failFast = true );
    3737                /// Calls find with the adjust flag set; adjustment turns array and function types into equivalent pointer types
    38                 void findWithAdjustment( Expression *expr, bool prune = true );
     38                void findWithAdjustment( Expression *expr );
     39                /// Calls find with the adjust flag set and prune flag unset; pruning ensures there is at most one alternative per result type
     40                void findWithoutPrune( Expression *expr );
     41                /// Calls find with the adjust and prune flags set, failFast flags unset; fail fast ensures that there is at least one resulting alternative
     42                void maybeFind( Expression *expr );
    3943                AltList &get_alternatives() { return alternatives; }
    4044
Note: See TracChangeset for help on using the changeset viewer.