package bap-std
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
The Binary Analysis Platform Standard Library
Install
dune-project
Dependency
Authors
Maintainers
Sources
v2.3.0.tar.gz
sha256=a6e80853aaaa26b7ca564d9878891d7146ec1c83852541387c1bba1ad036b8ea
md5=13f2cb1e3b9d90348852252fb0f2d09f
doc/bap/Bap/Std/Stmt/class-finder/index.html
Class Stmt.finder
A visitor with a shortcut. Finder is a specialization of a visitor, that uses return as its folding argument. At any time you can stop the traversing by calling return function of the provided argument (which is by itself is a record with one field - a function accepting argument of type 'a option).
For example, the following function will check whether x variable is assigned (i.e., occurs on the left of the assignment operator) in the provided scope.
let is_assigned x = find (object(self)
inherit [unit] finder
method! enter_move y _rhs cc =
if Var.(x = y) then cc.return (Some ()); cc
end)There're three find functions in the library, that accepts an object of type finder:
Bil.findersearches in thestmt listakabilStmt.findersearches instmtExp.findersearches inexp.
In addition, you can use this object directly, using one of the two provided entry points.
inherit 'a option Core_kernel.return visitormethod find : t list -> 'a option sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>