about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2014-04-11 11:28:43 +0200
committerFelix S. Klock II <pnkfelix@pnkfx.org>2014-04-17 11:42:30 +0200
commitb25fe99331a114b92131ecd4bd37abefb2508ff0 (patch)
tree940fd3c9b8a0b4ef3a2cef514f8192754235683c /src/rustllvm/ExecutionEngineWrapper.cpp
parent0e30f07abc76587f676e91770b7630ac9727b2cb (diff)
downloadrust-b25fe99331a114b92131ecd4bd37abefb2508ff0.tar.gz
rust-b25fe99331a114b92131ecd4bd37abefb2508ff0.zip
Extended `syntax::{fold, ast_map}` to include lifetimes.
Part of this required added an override of `fold_type_method` in the
Folder for Ctx impl; it follows the same pattern as `fold_method`.

Also, as a drive-by fix, I moved all of the calls to `folder.new_id`
in syntax::fold's no-op default traversal to really be the first
statement in each function.

  * This is to uphold the invariant that `folder.new_id` is always
    called first (an unfortunate requirement of the current `ast_map`
    code), an invariant that we seemingly were breaking in e.g. the
    previous `noop_fold_block`.

  * Now it should be easier to see when adding new code that this
    invariant must be upheld.

  * (note that the breakage in `noop_fold_block` may not have mattered
    so much previously, since the only thing that blocks can bind are
    lifetimes, which I am only adding support for now.)
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions