@@ -155,11 +155,12 @@ class ObjectInternal extends TObject {
155
155
*/
156
156
predicate functionAndOffset ( CallableObjectInternal function , int offset ) { none ( ) }
157
157
158
- /** Holds if this 'object' represents an entity that is inferred to exist
159
- * but is missing from the database */
160
- predicate isMissing ( ) {
161
- none ( )
162
- }
158
+ /** Holds if this 'object' represents an entity that should be exposed to the legacy points_to API
159
+ * This should hold for almost all objects that do not have an underlying DB object representing their source,
160
+ * for example `super` objects and bound-method. This should not hold for objects that are inferred to exists by
161
+ * an import statements or the like, but which aren't in the database. */
162
+ /* This predicate can be removed when the legacy points_to API is removed. */
163
+ abstract predicate useOriginAsLegacyObject ( ) ;
163
164
164
165
/** Gets the name of this of this object if it has a meaningful name.
165
166
* Note that the name of an object is not necessarily the name by which it is called
@@ -249,6 +250,9 @@ class BuiltinOpaqueObjectInternal extends ObjectInternal, TBuiltinOpaqueObject {
249
250
override string getName ( ) {
250
251
result = this .getBuiltin ( ) .getName ( )
251
252
}
253
+
254
+ override predicate useOriginAsLegacyObject ( ) { none ( ) }
255
+
252
256
}
253
257
254
258
@@ -326,6 +330,8 @@ class UnknownInternal extends ObjectInternal, TUnknown {
326
330
327
331
override string getName ( ) { none ( ) }
328
332
333
+ override predicate useOriginAsLegacyObject ( ) { none ( ) }
334
+
329
335
}
330
336
331
337
class UndefinedInternal extends ObjectInternal , TUndefined {
@@ -404,6 +410,8 @@ class UndefinedInternal extends ObjectInternal, TUndefined {
404
410
405
411
override string getName ( ) { none ( ) }
406
412
413
+ override predicate useOriginAsLegacyObject ( ) { none ( ) }
414
+
407
415
}
408
416
409
417
module ObjectInternal {
@@ -498,6 +506,7 @@ module ObjectInternal {
498
506
result .( BuiltinTupleObjectInternal ) .length ( ) = 0
499
507
}
500
508
509
+
501
510
}
502
511
503
512
/** Helper for boolean predicates returning both `true` and `false` */
0 commit comments