Module ApiGraphModelsSpecific
Contains the language-specific part of the models-as-data implementation found in ApiGraphModels.qll.
It must export the following members:
class Unit // a unit type
module AccessPathSyntax // a re-export of the AccessPathSyntax module
class InvokeNode // a type representing an invocation connected to the API graph
module API // the API graph module
predicate isPackageUsed(string package)
API::Node getExtraNodeFromPath(string package, string type, string path, int n)
API::Node getExtraSuccessorFromNode(API::Node node, AccessPathToken token)
API::Node getExtraSuccessorFromInvoke(InvokeNode node, AccessPathToken token)
predicate invocationMatchesExtraCallSiteFilter(InvokeNode invoke, AccessPathToken token)
InvokeNode getAnInvocationOf(API::Node node)
predicate isExtraValidTokenNameInIdentifyingAccessPath(string name)
predicate isExtraValidNoArgumentTokenInIdentifyingAccessPath(string name)
predicate isExtraValidTokenArgumentInIdentifyingAccessPath(string name, string argument)
Import path
import codeql.ruby.frameworks.data.internal.ApiGraphModelsSpecificImports
| ApiGraphs | Provides an implementation of API graphs, which are an abstract representation of the API surface used and/or defined by a code base. |
Predicates
| getAnInvocationOf | Gets the |
| getExtraNodeFromPath | Gets a Ruby-specific interpretation of the |
| getExtraNodeFromType | Gets a Ruby-specific interpretation of the given |
| getExtraSuccessorFromInvoke | Gets a Ruby-specific API graph successor of |
| getExtraSuccessorFromNode | Gets a Ruby-specific API graph successor of |
| hasImplicitTypeModel | Holds if |
| invocationMatchesExtraCallSiteFilter | Holds if |
| isExtraValidNoArgumentTokenInIdentifyingAccessPath | Holds if |
| isExtraValidTokenArgumentInIdentifyingAccessPath | Holds if |
| isExtraValidTokenNameInIdentifyingAccessPath | Holds if |
| isTypeUsed |
Classes
| InvokeNode | An API graph node representing a method call. |
Modules
Aliases
| AccessPathSyntax | Module for parsing access paths from MaD models, both the identifying access path used by dynamic languages, and the input/output specifications for summary steps. |
| DataFlow | Provides classes for performing local (intra-procedural) and global (inter-procedural) data flow analyses. |
| Unit | The trivial type with a single element. |