Changeset eef8dfb for src/ResolvExpr/ResolvMode.h
- Timestamp:
- Jan 7, 2021, 2:55:57 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 58fe85a
- Parents:
- bdfc032 (diff), 44e37ef (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/ResolvMode.h
rbdfc032 reef8dfb 22 22 const bool prune; ///< Prune alternatives to min-cost per return type? [true] 23 23 const bool failFast; ///< Fail on no resulting alternatives? [true] 24 const bool satisfyAssns; ///< Satisfy assertions? [false]25 24 26 private: 27 constexpr ResolvMode(bool a, bool p, bool ff, bool sa) 28 : adjust(a), prune(p), failFast(ff), satisfyAssns(sa) {} 25 constexpr ResolvMode(bool a, bool p, bool ff) 26 : adjust(a), prune(p), failFast(ff) {} 29 27 30 public:31 28 /// Default settings 32 constexpr ResolvMode() : adjust(false), prune(true), failFast(true) , satisfyAssns(false){}29 constexpr ResolvMode() : adjust(false), prune(true), failFast(true) {} 33 30 34 31 /// With adjust flag set; turns array and function types into equivalent pointers 35 static constexpr ResolvMode withAdjustment() { return { true, true, true , false}; }32 static constexpr ResolvMode withAdjustment() { return { true, true, true }; } 36 33 37 34 /// With adjust flag set but prune unset; pruning ensures there is at least one alternative 38 35 /// per result type 39 static constexpr ResolvMode withoutPrune() { return { true, false, true , false}; }36 static constexpr ResolvMode withoutPrune() { return { true, false, true }; } 40 37 41 38 /// With adjust and prune flags set but failFast unset; failFast ensures there is at least 42 39 /// one resulting alternative 43 static constexpr ResolvMode withoutFailFast() { return { true, true, false , false}; }40 static constexpr ResolvMode withoutFailFast() { return { true, true, false }; } 44 41 45 42 /// The same mode, but with satisfyAssns turned on; for top-level calls 46 ResolvMode atTopLevel() const { return { adjust, prune, failFast, true}; }43 ResolvMode atTopLevel() const { return { adjust, true, failFast }; } 47 44 }; 48 45 } // namespace ResolvExpr
Note:
See TracChangeset
for help on using the changeset viewer.