C++: Get rid of abstract'ness from these public predicates. We are not supposed to have abstract public stuff. Oops ...

This commit is contained in:
Mathias Vorreiter Pedersen
2025-11-18 18:52:20 +00:00
parent 2af6db6320
commit 7527d88762

View File

@@ -2124,14 +2124,14 @@ private newtype TContent =
*/ */
class Content extends TContent { class Content extends TContent {
/** Gets a textual representation of this element. */ /** Gets a textual representation of this element. */
abstract string toString(); string toString() { none() } // overridden in subclasses
predicate hasLocationInfo(string path, int sl, int sc, int el, int ec) { predicate hasLocationInfo(string path, int sl, int sc, int el, int ec) {
path = "" and sl = 0 and sc = 0 and el = 0 and ec = 0 path = "" and sl = 0 and sc = 0 and el = 0 and ec = 0
} }
/** Gets the indirection index of this `Content`. */ /** Gets the indirection index of this `Content`. */
abstract int getIndirectionIndex(); int getIndirectionIndex() { none() } // overridden in subclasses
/** /**
* INTERNAL: Do not use. * INTERNAL: Do not use.
@@ -2142,7 +2142,7 @@ class Content extends TContent {
* For example, a write to a field `f` implies that any content of * For example, a write to a field `f` implies that any content of
* the form `*f` is also cleared. * the form `*f` is also cleared.
*/ */
abstract predicate impliesClearOf(Content c); predicate impliesClearOf(Content c) { none() } // overridden in subclasses
} }
/** /**