Changeset 83c7e3c for src/ResolvExpr


Ignore:
Timestamp:
Dec 23, 2020, 6:37:35 PM (5 years ago)
Author:
caparsons <caparson@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
a3a76ea, c20533ea
Parents:
4c19647 (diff), 09867ec (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

Location:
src/ResolvExpr
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/CandidateFinder.cpp

    r4c19647 r83c7e3c  
    905905                        // xxx - is it possible that handleTupleAssignment and main finder both produce candidates?
    906906                        // this means there exists ctor/assign functions with a tuple as first parameter.
    907                         funcFinder.find( untypedExpr->func, selfFinder.candidates.empty() ? ResolvMode::withAdjustment() : ResolvMode::withoutFailFast() );
     907                        ResolvMode mode = {
     908                                true, // adjust
     909                                !untypedExpr->func.as<ast::NameExpr>(), // prune if not calling by name
     910                                selfFinder.candidates.empty() // failfast if other options are not found
     911                        };
     912                        funcFinder.find( untypedExpr->func, mode );
    908913                        // short-circuit if no candidates
    909914                        // if ( funcFinder.candidates.empty() ) return;
  • src/ResolvExpr/ResolvMode.h

    r4c19647 r83c7e3c  
    2323                const bool failFast;         ///< Fail on no resulting alternatives? [true]
    2424
    25         private:
    2625                constexpr ResolvMode(bool a, bool p, bool ff)
    2726                : adjust(a), prune(p), failFast(ff) {}
    2827
    29         public:
    3028                /// Default settings
    3129                constexpr ResolvMode() : adjust(false), prune(true), failFast(true) {}
Note: See TracChangeset for help on using the changeset viewer.