package common
- Alphabetic
- Public
- Protected
Value Members
- object DomainRegistry
Registry for all domains that can be instantiated given a
Project
, and aMethod
with a body.Registry for all domains that can be instantiated given a
Project
, and aMethod
with a body.The registry was developed to support tools for enabling the automatic selection of a domain that satisfies a given set of requirements; it also support debugging purposes that let the user/developer choose between different domains. After choosing a domain, an abstract interpretation can be performed.
The compatible domains that are part of OPAL are already registered.
Thread Safety
The registry is thread safe.
- object SimpleAIKey extends ProjectInformationKey[(Method) => AIResult { val domain: org.opalj.ai.Domain with org.opalj.ai.domain.RecordDefUse }, (Method) => Domain with RecordDefUse]
Key to get the result of the abstract interpretation of a method using a configured domain factory.
Key to get the result of the abstract interpretation of a method using a configured domain factory. The factory is configured using project specific configuration data.
To specify the domain that you want to use for performing the abstract interpretation:
project.getOrCreateProjectInformationKeyInitializationData( SimpleAIKey, (m: Method) => { // call the constructor of the domain of your liking new org....Domain(p,m) } )
- Note
To get the index use the org.opalj.br.analyses.Project's
,get
method and pass inthis
object.If you are developing analyses using the
PropertyStore
use an appropriate analysis that stores the results of an abstract interpretation in the store.
Example: - object XHTML
Several utility methods to facilitate the development of the abstract interpreter/ new domains for the abstract interpreter, by creating various kinds of dumps of the state of the interpreter.
Several utility methods to facilitate the development of the abstract interpreter/ new domains for the abstract interpreter, by creating various kinds of dumps of the state of the interpreter.
Thread Safety
This object is thread-safe.