Ruby: inline transitive class-hierarchy getters

This commit is contained in:
Asger F
2022-11-04 08:50:33 +01:00
parent 472a10fd54
commit 4ae90e35d5
2 changed files with 4 additions and 0 deletions

View File

@@ -33,9 +33,11 @@ class Module extends TModule {
Module getAnImmediateDescendent() { this = result.getAnImmediateAncestor() }
/** Gets a module that is transitively subclassed, included, or prepended by this module. */
pragma[inline]
Module getAnAncestor() { result = this.getAnImmediateAncestor*() }
/** Gets a module that transitively subclasses, includes, or prepends this module. */
pragma[inline]
Module getADescendent() { result = this.getAnImmediateDescendent*() }
/** Holds if this module is a class. */

View File

@@ -739,9 +739,11 @@ class ModuleNode instanceof Module {
final ModuleNode getAnImmediateDescendent() { result = super.getAnImmediateDescendent() }
/** Gets a module that is transitively subclassed, included, or prepended by this module. */
pragma[inline]
final ModuleNode getAnAncestor() { result = super.getAnAncestor() }
/** Gets a module that transitively subclasses, includes, or prepends this module. */
pragma[inline]
final ModuleNode getADescendent() { result = super.getADescendent() }
/**