File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed
cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -256,11 +256,17 @@ abstract class DefImpl extends DefOrUseImpl {
256
256
257
257
override string toString ( ) { result = "Def of " + this .getSourceVariable ( ) }
258
258
259
+ /** Gets the indirection of this definition. */
259
260
abstract int getIndirection ( ) ;
260
261
262
+ /** Holds if this definition is guaranteed to overwrite the entire destination allocation. */
261
263
abstract predicate isCertain ( ) ;
262
264
265
+ /** Gets the value stored by this definition (i.e., the "right-hand side", if any. */
263
266
abstract Node0Impl getValue ( ) ;
267
+
268
+ /** Gets the operand representing the destination address of this definition, if any. */
269
+ Operand getAddressOperand ( ) { none ( ) }
264
270
}
265
271
266
272
/** An initial definition of an `IRVariable`'s address. */
@@ -303,7 +309,7 @@ abstract private class OperandBasedDef extends DefImpl {
303
309
bindingset [ ind]
304
310
OperandBasedDef ( ) { any ( ) }
305
311
306
- Operand getAddressOperand ( ) { result = address }
312
+ override Operand getAddressOperand ( ) { result = address }
307
313
308
314
override Cpp:: Location getLocation ( ) { result = this .getAddressOperand ( ) .getUse ( ) .getLocation ( ) }
309
315
You can’t perform that action at this time.
0 commit comments