The sys.version_info
object. We treat this specially to prevent premature pruning and
false positives when we are unsure of the actual version of Python that the code is expecting.
Import path
import semmle.python.objects.Sequences
Direct supertypes
Indirect supertypes
Predicates
attribute | Holds if the result of getting the attribute |
attributesUnknown | Holds if the attributes of this object are wholly or partly unknowable |
callResult | Holds if |
callResult | Holds if |
calleeAndOffset | Holds if the function |
functionAndOffset | Holds if the object |
getBuiltin | Gets the |
getClass | Gets the class of this object. |
getClassDeclaration | Gets the class declaration for this object, if it is a declared class. |
getItem | Gets the |
getOrigin | Gets a control flow node that represents the source origin of this objects. |
intValue | Gets the integer value of things that have integer values and whose integer value is tracked. That is, some ints, mainly small numbers, and bools. |
introducedAt | Holds if this object is introduced into the code base at |
isClass | True if this “object” is a class. |
isNotSubscriptedType | |
length | Gets the length of the sequence that this “object” represents. Always returns a value for a sequence, will be -1 if the object has no fixed length. |
notTestableForEquality | True if this “object” can be meaningfully analyzed to determine the boolean value of equality tests on it. For example, |
strValue | Gets the string value of things that have string values. That is, strings. |
subscriptUnknown | Holds if the result of subscripting this object are wholly or partly unknowable |
toString | Gets a textual representation of this element. |
useOriginAsLegacyObject | Holds if this ‘object’ represents an entity that should be exposed to the legacy points_to API This should hold for almost all objects that do not have an underlying DB object representing their source, for example |
Inherited predicates
binds | Holds if attribute lookup on this object may “bind” | from SequenceObjectInternal |
booleanValue | Gets the boolean value of this object. This may be both true and false if the “object” represents a set of possible objects. | from SequenceObjectInternal |
contextSensitiveCallee | from SequenceObjectInternal | |
descriptorGetClass | Holds if the result of attribute access on the class holding this descriptor is | from SequenceObjectInternal |
descriptorGetInstance | Holds if the result of attribute access on an instance of a class holding this descriptor is | from SequenceObjectInternal |
getIterNext | Gets the ‘object’ resulting from iterating over this object. Used in the context | from SequenceObjectInternal |
getName | Gets the name of this of this object if it has a meaningful name. Note that the name of an object is not necessarily the name by which it is called For example the function named | from SequenceObjectInternal |
getSource | For backwards compatibility shim – Not all objects have a “source”. Objects (except unknown and undefined values) should attempt to return exactly one result for this method. | from ObjectInternal |
hasAttribute | Holds if this value has the attribute | from ObjectInternal |
isBuiltin | from ObjectInternal | |
isDescriptor | Holds if this object is a descriptor. Holds, for example, for functions and properties and not for integers. | from SequenceObjectInternal |