diff options
| author | Felix S. Klock II <pnkfelix@pnkfx.org> | 2014-04-11 11:28:43 +0200 |
|---|---|---|
| committer | Felix S. Klock II <pnkfelix@pnkfx.org> | 2014-04-17 11:42:30 +0200 |
| commit | b25fe99331a114b92131ecd4bd37abefb2508ff0 (patch) | |
| tree | 940fd3c9b8a0b4ef3a2cef514f8192754235683c /src/rustllvm/ExecutionEngineWrapper.cpp | |
| parent | 0e30f07abc76587f676e91770b7630ac9727b2cb (diff) | |
| download | rust-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
