Skip to content

Commit 1b49ee7

Browse files
authored
[analyzer][Solver][NFC] Cleanup const-correctness inside range-based solver (#112891)
1 parent 67e8421 commit 1b49ee7

File tree

1 file changed

+28
-31
lines changed

1 file changed

+28
-31
lines changed

clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1953,27 +1953,27 @@ class RangeConstraintManager : public RangedConstraintManager {
19531953
const llvm::APSInt &To, const llvm::APSInt &Adjustment) override;
19541954

19551955
private:
1956-
RangeSet::Factory F;
1956+
mutable RangeSet::Factory F;
19571957

1958-
RangeSet getRange(ProgramStateRef State, SymbolRef Sym);
1958+
RangeSet getRange(ProgramStateRef State, SymbolRef Sym) const;
19591959
ProgramStateRef setRange(ProgramStateRef State, SymbolRef Sym,
19601960
RangeSet Range);
19611961

19621962
RangeSet getSymLTRange(ProgramStateRef St, SymbolRef Sym,
19631963
const llvm::APSInt &Int,
1964-
const llvm::APSInt &Adjustment);
1964+
const llvm::APSInt &Adjustment) const;
19651965
RangeSet getSymGTRange(ProgramStateRef St, SymbolRef Sym,
19661966
const llvm::APSInt &Int,
1967-
const llvm::APSInt &Adjustment);
1967+
const llvm::APSInt &Adjustment) const;
19681968
RangeSet getSymLERange(ProgramStateRef St, SymbolRef Sym,
19691969
const llvm::APSInt &Int,
1970-
const llvm::APSInt &Adjustment);
1970+
const llvm::APSInt &Adjustment) const;
19711971
RangeSet getSymLERange(llvm::function_ref<RangeSet()> RS,
19721972
const llvm::APSInt &Int,
1973-
const llvm::APSInt &Adjustment);
1973+
const llvm::APSInt &Adjustment) const;
19741974
RangeSet getSymGERange(ProgramStateRef St, SymbolRef Sym,
19751975
const llvm::APSInt &Int,
1976-
const llvm::APSInt &Adjustment);
1976+
const llvm::APSInt &Adjustment) const;
19771977
};
19781978

19791979
//===----------------------------------------------------------------------===//
@@ -2880,21 +2880,18 @@ ConditionTruthVal RangeConstraintManager::checkNull(ProgramStateRef State,
28802880

28812881
const llvm::APSInt *RangeConstraintManager::getSymVal(ProgramStateRef St,
28822882
SymbolRef Sym) const {
2883-
auto &MutableSelf = const_cast<RangeConstraintManager &>(*this);
2884-
return MutableSelf.getRange(St, Sym).getConcreteValue();
2883+
return getRange(St, Sym).getConcreteValue();
28852884
}
28862885

28872886
const llvm::APSInt *RangeConstraintManager::getSymMinVal(ProgramStateRef St,
28882887
SymbolRef Sym) const {
2889-
auto &MutableSelf = const_cast<RangeConstraintManager &>(*this);
2890-
RangeSet Range = MutableSelf.getRange(St, Sym);
2888+
RangeSet Range = getRange(St, Sym);
28912889
return Range.isEmpty() ? nullptr : &Range.getMinValue();
28922890
}
28932891

28942892
const llvm::APSInt *RangeConstraintManager::getSymMaxVal(ProgramStateRef St,
28952893
SymbolRef Sym) const {
2896-
auto &MutableSelf = const_cast<RangeConstraintManager &>(*this);
2897-
RangeSet Range = MutableSelf.getRange(St, Sym);
2894+
RangeSet Range = getRange(St, Sym);
28982895
return Range.isEmpty() ? nullptr : &Range.getMaxValue();
28992896
}
29002897

@@ -3039,7 +3036,7 @@ RangeConstraintManager::removeDeadBindings(ProgramStateRef State,
30393036
}
30403037

30413038
RangeSet RangeConstraintManager::getRange(ProgramStateRef State,
3042-
SymbolRef Sym) {
3039+
SymbolRef Sym) const {
30433040
return SymbolicRangeInferrer::inferRange(F, State, Sym);
30443041
}
30453042

@@ -3094,10 +3091,10 @@ RangeConstraintManager::assumeSymEQ(ProgramStateRef St, SymbolRef Sym,
30943091
return setRange(St, Sym, New);
30953092
}
30963093

3097-
RangeSet RangeConstraintManager::getSymLTRange(ProgramStateRef St,
3098-
SymbolRef Sym,
3099-
const llvm::APSInt &Int,
3100-
const llvm::APSInt &Adjustment) {
3094+
RangeSet
3095+
RangeConstraintManager::getSymLTRange(ProgramStateRef St, SymbolRef Sym,
3096+
const llvm::APSInt &Int,
3097+
const llvm::APSInt &Adjustment) const {
31013098
// Before we do any real work, see if the value can even show up.
31023099
APSIntType AdjustmentType(Adjustment);
31033100
switch (AdjustmentType.testInRange(Int, true)) {
@@ -3131,10 +3128,10 @@ RangeConstraintManager::assumeSymLT(ProgramStateRef St, SymbolRef Sym,
31313128
return setRange(St, Sym, New);
31323129
}
31333130

3134-
RangeSet RangeConstraintManager::getSymGTRange(ProgramStateRef St,
3135-
SymbolRef Sym,
3136-
const llvm::APSInt &Int,
3137-
const llvm::APSInt &Adjustment) {
3131+
RangeSet
3132+
RangeConstraintManager::getSymGTRange(ProgramStateRef St, SymbolRef Sym,
3133+
const llvm::APSInt &Int,
3134+
const llvm::APSInt &Adjustment) const {
31383135
// Before we do any real work, see if the value can even show up.
31393136
APSIntType AdjustmentType(Adjustment);
31403137
switch (AdjustmentType.testInRange(Int, true)) {
@@ -3168,10 +3165,10 @@ RangeConstraintManager::assumeSymGT(ProgramStateRef St, SymbolRef Sym,
31683165
return setRange(St, Sym, New);
31693166
}
31703167

3171-
RangeSet RangeConstraintManager::getSymGERange(ProgramStateRef St,
3172-
SymbolRef Sym,
3173-
const llvm::APSInt &Int,
3174-
const llvm::APSInt &Adjustment) {
3168+
RangeSet
3169+
RangeConstraintManager::getSymGERange(ProgramStateRef St, SymbolRef Sym,
3170+
const llvm::APSInt &Int,
3171+
const llvm::APSInt &Adjustment) const {
31753172
// Before we do any real work, see if the value can even show up.
31763173
APSIntType AdjustmentType(Adjustment);
31773174
switch (AdjustmentType.testInRange(Int, true)) {
@@ -3208,7 +3205,7 @@ RangeConstraintManager::assumeSymGE(ProgramStateRef St, SymbolRef Sym,
32083205
RangeSet
32093206
RangeConstraintManager::getSymLERange(llvm::function_ref<RangeSet()> RS,
32103207
const llvm::APSInt &Int,
3211-
const llvm::APSInt &Adjustment) {
3208+
const llvm::APSInt &Adjustment) const {
32123209
// Before we do any real work, see if the value can even show up.
32133210
APSIntType AdjustmentType(Adjustment);
32143211
switch (AdjustmentType.testInRange(Int, true)) {
@@ -3234,10 +3231,10 @@ RangeConstraintManager::getSymLERange(llvm::function_ref<RangeSet()> RS,
32343231
return F.intersect(Default, Lower, Upper);
32353232
}
32363233

3237-
RangeSet RangeConstraintManager::getSymLERange(ProgramStateRef St,
3238-
SymbolRef Sym,
3239-
const llvm::APSInt &Int,
3240-
const llvm::APSInt &Adjustment) {
3234+
RangeSet
3235+
RangeConstraintManager::getSymLERange(ProgramStateRef St, SymbolRef Sym,
3236+
const llvm::APSInt &Int,
3237+
const llvm::APSInt &Adjustment) const {
32413238
return getSymLERange([&] { return getRange(St, Sym); }, Int, Adjustment);
32423239
}
32433240

0 commit comments

Comments
 (0)