Ekeko 2.0.9 API documentation
Applicative logic meta-programming using core.logic against an Eclipse workspace.
damp.ekeko.ekekomodel
Central point of access to the EkekoModel for reification relations.
Public variables and functions:
damp.ekeko.gui
Utility functions for interacting with the Eclipse GUI and opening a Barista view on core.logic results.
Public variables and functions:
damp.ekeko.jdt.ast
Low-level relations of JDT AST nodes.
Public variables and functions:
- ast
- ast-location
- ast-methoddeclaration|encompassing
- ast-methoddeclaration|encompassing|nonfailing
- ast-parent
- ast-parent+
- ast-root
- ast-typedeclaration|encompassing
- astorvalue-offspring+
- astorvalue-root
- ast|declaration
- ast|declaration-modifier
- ast|declaration|resolveable
- ast|expression
- ast|expression|reference
- ast|fieldaccess
- ast|invocation
- ast|localvariable
- ast|parameter|name
- ast|resolveable
- ast|type
- aux
- child
- child+
- has
- method-cfg-entry-exit
- method-statements
- name-name|same|qualified
- name-string|qualified
- name|qualified-name
- name|qualified-qualifier
- name|qualified-string
- name|simple-name|simple|same
- name|simple-string
- node|cfg-node|ast
- node|cfg|syntethic
- node|cfg|syntethic?
- value
- value-parent+
- value-raw
- value-root
- value|list
- value|null
- value|primitive
damp.ekeko.jdt.astbindings
Relations between ASTNode and IBinding instances. If possible, use namespaces damp.ekeko.jdt.ast, damp.ekeko.jdt.structure and damp.ekeko.jdt.aststructure instead.
Public variables and functions:
- ast|annotation-binding|annotation
- ast|declaration-binding
- ast|expression-binding|type
- ast|fieldaccess-binding|variable
- ast|importdeclaration-binding
- ast|importdeclaration-binding|package
- ast|invocation-binding|method
- ast|localvariable-binding|variable
- ast|name-binding
- ast|type-binding|type
- ast|typedeclaration-binding|type
damp.ekeko.jdt.astnode
Public variables and functions:
damp.ekeko.jdt.aststructure
Public variables and functions:
- ast-project
- ast|annotation-type
- ast|expression-type
- ast|expression-type|primitive
- ast|fieldaccess-ast|referred
- ast|fieldaccess-ast|variabledeclaration
- ast|importdeclaration-package
- ast|localvariable-ast|referred
- ast|localvariable-ast|variabledeclaration
- ast|type-type
- methoddeclaration-methoddeclaration|overrides
- methodinvocation-methoddeclaration
- typedeclaration-name|qualified|string
- typedeclaration-type
- typedeclaration-typedeclaration|super
damp.ekeko.jdt.bindings
Mostly non-relational predicates for reasoning about Eclipse JDT IBinding instances. Not meant to be used by end-users.
Public variables and functions:
- binding-element
- element-binding
- is-binding-annotation?
- is-binding-member-value-pair?
- is-binding-method?
- is-binding-package?
- is-binding-type?
- is-binding-variable-field?
- is-binding-variable?
- is-methodbinding-from-binary?
- is-methodbinding-from-source?
- is-typebinding-from-binary?
- is-typebinding-from-source?
- is-typebinding-primitive?
- is-typebinding-reference?
- methodbinding-packagebinding
- methodbinding-signature
- methodbinding-typebinding|declaring
- packagebinding-qualifiedname
- typebinding-erasurebinding
- typebinding-javaelement
- typebinding-methodbinding|declaring
- typebinding-packagebinding
- typebinding-qualifiedname
- typebinding-simplename
- typebinding-typebinding|declaring
- typebinding-typebinding|interface
- typebinding-typebinding|super
- variablebinding|field-signature
- variablebinding|field-typebinding|declaring
damp.ekeko.jdt.convenience
Collection of occasionally convenient, but non-essential predicates.
Public variables and functions:
- annotation-name|qualified|string
- fielddeclaration-annotation
- methodinvocation|name
- methodinvocation|named
- modifier|abstract
- modifier|final
- modifier|native
- modifier|private
- modifier|protected
- modifier|public
- modifier|static
- modifier|strictfp
- modifier|synchronized
- modifier|transient
- modifier|volatile
- typedeclaration-identifier
- typedeclaration-identifier-bodydeclaration-identifier
- typedeclaration-identifier-fielddeclaration-identifier
- typedeclaration-identifier-methoddeclaration-identifier
- typedeclaration-identifier-typedeclaration-identifier
- typeliteral-ast|type
- typeliteral-type
damp.ekeko.jdt.javaprojectmodel
Central point of access to JavaProjectModel instances managed by the EkekoModel for reification relations.
Public variables and functions:
- binding-to-declaration
- declaration-to-ielement
- ekeko-javaprojects
- icu-to-ast
- imethod-to-declaration
- itype-to-declaration
- java-project-models
- javaproject-name
- javaproject-packagefragmentroots
- javaprojectmodel-for-astnode
- packagefragment-name
- packagefragmentroot-binary?
- packagefragmentroot-fragments
- packagefragmentroot-has-subpackages?
- packagefragmentroot-source?
- project-as-javaproject
damp.ekeko.jdt.markers
Public variables and functions:
damp.ekeko.jdt.rewrites
Public variables and functions:
damp.ekeko.jdt.soot
Relations between JDT ASTNodes and SOOT whole-program analyses.
Public variables and functions:
- ast-reference-model-soot-unit-local
- ast-reference-soot-model
- ast-reference-soot-model-method
- ast-reference-soot-model-points-to
- ast-references-soot-model-local-must-alias
- ast-references-soot-model-local-must-alias-strong
- ast-references-soot-model-may-alias
- ast-soot-class
- ast-soot-field
- ast-soot-method
- field-signature
- is-ast-expression-soot-field-access-compatible-local-on-lhs?
- is-ast-expression-soot-field-access-compatible-local-on-rhs?
- is-ast-expression-soot-value-compatible-local-on-lhs?
- is-ast-expression-soot-value-compatible-local-on-rhs?
- is-ast-invocation-soot-value-compatible-name-args?
- is-ast-soot-name-local-compatible?
- is-ast-soot-unit-position-compatible?
- is-ast-soot-value-type-compatible?
- is-ast-unit-assign-compatible-local-on-lhs?
- is-ast-unit-assign-compatible-local-on-rhs?
- is-ast-unit-identity-or-assignment-compatible-local-on-lhs?
- is-soot-local-named-this?
- method-declaration-signature
- type-declaration-signature
damp.ekeko.jdt.structure
Relations reifiying the structural relations of the JDT Model.
Public variables and functions:
- classfile
- classfile-type
- compilationunit
- compilationunit-type
- element
- field
- field|binary
- field|source
- method
- method-typeparameters
- method|binary
- method|source
- packagefragment
- packagefragment-classfile
- packagefragment-compilationunit
- packagefragment-name|string
- packagefragment|root
- packagefragment|root-packagefragment
- packagefragment|root|binary
- packagefragment|root|source
- type
- type-field
- type-initializer
- type-membertype
- type-method
- type-name|qualified|string
- type-name|simple|string
- type-typeparameters
- type-type|sub+
- type-type|super+
- type|annotation
- type|anonymous
- type|binary
- type|class
- type|enum
- type|interface
- type|local
- type|member
- type|resolved
- type|source
damp.ekeko.logic
Auxiliary logic goals, most of which are currently non-relational.
damp.ekeko.soot.projectmodel
Public variables and functions:
damp.ekeko.soot.soot
Relations about SOOT whole-program analyses.
Public variables and functions:
- soot
- soot-class-constructor-method
- soot-class-field
- soot-class-initializer-method
- soot-class-method
- soot-class-name
- soot-entry-method
- soot-field-signature
- soot-method-body
- soot-method-called-by-method
- soot-method-called-by-unit
- soot-method-calls-method
- soot-method-cfg
- soot-method-cfg-entry
- soot-method-cfg-exit
- soot-method-icfg
- soot-method-local-must-alias-analysis
- soot-method-local-must-alias-analysis-strong
- soot-method-local-must-not-alias-analysis
- soot-method-name
- soot-method-signature
- soot-method-unit-trailing-unit
- soot-method-units
- soot-model
- soot-model-scene
- soot-unit
- soot-unit-assign-leftop
- soot-unit-assign-rightop
- soot-unit-calls-method
- soot-unit-defbox
- soot-unit-usebox
- soot-value
- soot-valuebox
- soot-valuebox-value
- soot|method-soot|unit
- soot|unit|reads-soot|field
- soot|unit|writes-soot|field
damp.ekeko.util.jobs
Utilities for launching and waiting for Eclipse Jobs.
Public variables and functions:
damp.ekeko.util.text
Public variables and functions:
damp.ekeko.workspace.projectmodel
Central point of access to ProjectModel instances managed by EkekoModel for reification relations.
Public variables and functions:
damp.ekeko.workspace.reification
Low-level ProjectModel reification relations.
Public variables and functions:
damp.ekeko.workspace.workspace
Utilities for accessing and interacting with the Eclipse workspace.
Public variables and functions:
- build-project
- disable-project-nature!
- eclipse-workspace
- ekeko-reduce-projects!
- enable-project-nature!
- for-each-workspace-project
- jdt-model
- jdt-project-named
- jdt-projects
- jdt-projects-names
- jdt-workingset-manager
- jdt-workingset-named
- map-workspace
- reduce-projects!
- workspace-close-projects!
- workspace-disable-ekeko!
- workspace-disable-nature!
- workspace-enable-ekeko-sequentially-and-do!
- workspace-project-close!
- workspace-project-disable-ekeko!
- workspace-project-ekeko-enabled?
- workspace-project-enable-ekeko!
- workspace-project-named
- workspace-project-open!
- workspace-project-open?
- workspace-project-toggle-ekeko!
- workspace-projects
- workspace-wait-for-builds-to-finish
damp.util.interop
Public variables and functions:
test.damp.ekeko
Public variables and functions: