-
Notifications
You must be signed in to change notification settings - Fork 111
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rewrite based on LoweredCodeUtils.CodeEdges
This is a major rewrite of the backedge component. Moving it to LoweredCodeUtils and giving it a "real" API led to many improvements in selectivity of code-evaluation. This rewrite aims to make Revise do just one thing, which is to update methods. "Data" is not touched. In this world, #249 is not a bug. The benefit is that `includet` should work much more reliably to distinguish "code" from "method definitions"; by and large, the days of needing to separate code from method definitions in order to avoid confusing Revise should be over. Importantly, this introduces multiple "modes" of operation. `:sigs` is for signature extraction, `:eval` is for full evaluation (as you might do during the initial `includet` on a file), and `:evalmeth` is used during revision. This is essentially a generalization of `define::Bool` to allow more nuanced behavior. Fixes #479 Closes #249
- Loading branch information
Showing
10 changed files
with
264 additions
and
406 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.