@@ -155,11 +155,12 @@ class ObjectInternal extends TObject {
155155 */
156156 predicate functionAndOffset ( CallableObjectInternal function , int offset ) { none ( ) }
157157
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 ( ) ;
163164
164165 /** Gets the name of this of this object if it has a meaningful name.
165166 * 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 {
249250 override string getName ( ) {
250251 result = this .getBuiltin ( ) .getName ( )
251252 }
253+
254+ override predicate useOriginAsLegacyObject ( ) { none ( ) }
255+
252256}
253257
254258
@@ -326,6 +330,8 @@ class UnknownInternal extends ObjectInternal, TUnknown {
326330
327331 override string getName ( ) { none ( ) }
328332
333+ override predicate useOriginAsLegacyObject ( ) { none ( ) }
334+
329335}
330336
331337class UndefinedInternal extends ObjectInternal , TUndefined {
@@ -404,6 +410,8 @@ class UndefinedInternal extends ObjectInternal, TUndefined {
404410
405411 override string getName ( ) { none ( ) }
406412
413+ override predicate useOriginAsLegacyObject ( ) { none ( ) }
414+
407415}
408416
409417module ObjectInternal {
@@ -498,6 +506,7 @@ module ObjectInternal {
498506 result .( BuiltinTupleObjectInternal ) .length ( ) = 0
499507 }
500508
509+
501510}
502511
503512/** Helper for boolean predicates returning both `true` and `false` */
0 commit comments