New base class for all future SMT sorts.
The only change is that the class implements methods isBooleanSort(), isBitvectorSort() and isFloatSort() so it doesn't rely on Z3's enum.
Paths
| Differential D49550
[analyzer] Create generic SMT Sort Class ClosedPublic Authored by mikhail.ramalho on Jul 19 2018, 9:09 AM.
Details Summary New base class for all future SMT sorts. The only change is that the class implements methods isBooleanSort(), isBitvectorSort() and isFloatSort() so it doesn't rely on Z3's enum.
Diff Detail Event TimelineHerald added subscribers: a.sidorin, szepet, xazax.hun. · View Herald TranscriptJul 19 2018, 9:09 AM mikhail.ramalho added a parent revision: D49236: [analyzer] Moved static Context to class member.Jul 19 2018, 9:09 AM mikhail.ramalho added a child revision: D49551: [analyzer] Create generic SMT Expr class.Jul 19 2018, 9:13 AM Comment Actions Small change requested. Otherwise, good to go.
This revision now requires changes to proceed.Jul 20 2018, 10:15 AM This revision is now accepted and ready to land.Jul 23 2018, 10:43 AM Closed by commit rL337916: [analyzer] Create generic SMT Sort Class (authored by mramalho). · Explain WhyJul 25 2018, 5:49 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 156495 include/clang/StaticAnalyzer/Core/PathSensitive/SMTSort.h
lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp
|
A reference to a generic SMTContext is not very useful.
Could we just remove that, then you can remove the constructor of SMTContext,
just store Z3Context in a subclass, and then you won't need casts everywhere as well?