Information from Eva about AST elements

plugins.eva.ast.getCallers (GET)

Get the list of call sites for a function

input ::= decl

output ::= callsite []

signals

plugins.eva.ast.getCallees (GET)

Return the functions pointed to by a function pointer

input ::= marker

output ::= decl []

signals

plugins.eva.ast.deadCode (DATA)

Unreachable and non terminating statements.

deadCode ::= { fields… }

Field Format Description
"reached" marker [] List of statements reached by the analysis.
"unreachable" marker [] List of unreachable statements.
"nonTerminating" marker [] List of reachable but non terminating statements.

plugins.eva.ast.getDeadCode (GET)

Get the lists of unreachable and of non terminating statements in a function

input ::= decl

output ::= deadCode ?

signals

plugins.eva.ast.properties (ARRAY)

Status of Registered Properties

plugins.eva.ast.signalProperties (SIGNAL)

Signal for array properties

plugins.eva.ast.propertiesData (DATA)

Data for array rows properties

propertiesData ::= { fields… }

Field Format Description
"key" marker Entry identifier.
"priority" boolean Is the property invalid in some context of the analysis?
"taint" taintStatus Is the property tainted according to the Eva taint domain?

plugins.eva.ast.fetchProperties (GET)

Data fetcher for array properties

input ::= number

output ::= { output… }

Output Format Description
"reload" boolean array fully reloaded
"removed" marker [] removed entries
"updated" propertiesData [] updated entries
"pending" number remaining entries to be fetched

plugins.eva.ast.reloadProperties (GET)

Force full reload for array properties

input ::= null

output ::= null