mirror of
https://github.com/github/codeql.git
synced 2025-12-20 10:46:30 +01:00
C++: sync identical files
This commit is contained in:
@@ -79,7 +79,8 @@ private PhiOperandBase phiOperand(
|
||||
}
|
||||
|
||||
/**
|
||||
* A source operand of an `Instruction`. The operand represents a value consumed by the instruction.
|
||||
* An operand of an `Instruction`. The operand represents a use of the result of one instruction
|
||||
* (the defining instruction) in another instruction (the use instruction)
|
||||
*/
|
||||
class Operand extends TOperand {
|
||||
/** Gets a textual representation of this element. */
|
||||
|
||||
@@ -79,7 +79,8 @@ private PhiOperandBase phiOperand(
|
||||
}
|
||||
|
||||
/**
|
||||
* A source operand of an `Instruction`. The operand represents a value consumed by the instruction.
|
||||
* An operand of an `Instruction`. The operand represents a use of the result of one instruction
|
||||
* (the defining instruction) in another instruction (the use instruction)
|
||||
*/
|
||||
class Operand extends TOperand {
|
||||
/** Gets a textual representation of this element. */
|
||||
|
||||
@@ -59,6 +59,12 @@ class MemoryLocation extends TMemoryLocation {
|
||||
final string getUniqueId() { result = var.getUniqueId() }
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a set of `MemoryLocation`s that cannot overlap with
|
||||
* `MemoryLocation`s outside of the set. The `VirtualVariable` will be
|
||||
* represented by a `MemoryLocation` that totally overlaps all other
|
||||
* `MemoryLocations` in the set.
|
||||
*/
|
||||
class VirtualVariable extends MemoryLocation { }
|
||||
|
||||
/** A virtual variable that groups all escaped memory within a function. */
|
||||
|
||||
@@ -3,18 +3,33 @@ private newtype TOverlap =
|
||||
TMustTotallyOverlap() or
|
||||
TMustExactlyOverlap()
|
||||
|
||||
/**
|
||||
* Represents a possible overlap between two memory ranges.
|
||||
*/
|
||||
abstract class Overlap extends TOverlap {
|
||||
abstract string toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a partial overlap between two memory ranges, which may or may not
|
||||
* actually occur in practice.
|
||||
*/
|
||||
class MayPartiallyOverlap extends Overlap, TMayPartiallyOverlap {
|
||||
final override string toString() { result = "MayPartiallyOverlap" }
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents an overlap in which the first memory range is known to include all
|
||||
* bits of the second memory range, but may be larger or have a different type.
|
||||
*/
|
||||
class MustTotallyOverlap extends Overlap, TMustTotallyOverlap {
|
||||
final override string toString() { result = "MustTotallyOverlap" }
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents an overlap between two memory ranges that have the same extent and
|
||||
* the same type.
|
||||
*/
|
||||
class MustExactlyOverlap extends Overlap, TMustExactlyOverlap {
|
||||
final override string toString() { result = "MustExactlyOverlap" }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user