about summary refs log tree commit diff
path: root/src/comp/middle/freevars.rs
AgeCommit message (Collapse)AuthorLines
2011-12-14push changes through to get things compiling, if not running.Niko Matsakis-3/+1
2011-12-14first attempt, not happy with itNiko Matsakis-1/+1
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-3/+3
2011-11-17remove compile-command from local variable blocksNiko Matsakis-1/+0
2011-11-10Cleanup unused importsHaitao Li-2/+1
2011-10-21Drop support for iter, put, and for-eachMarijn Haverbeke-18/+1
Closes #1056
2011-10-20Merge ast::proto_shared and ast::proto_closureBrian Anderson-1/+2
Now they are both just proto_shared and proto_shared takes an argument indicating that it is sugared as 'lambda'
2011-10-20Make fn denote a bare function. Convert fn to fn@ as neededBrian Anderson-1/+1
2011-10-07Parse and typecheck by-value and by-ref arg specsMarijn Haverbeke-2/+2
Add sprinkle && throughout the compiler to make it typecheck again. Issue #1008
2011-09-12Factor imports mindlessly.Graydon Hoare-7/+2
2011-09-12Properly implement copy expressionsMarijn Haverbeke-1/+1
(And use them in some places that were doing {expr} before.)
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-14/+12
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-02Reformat. Issue #855Brian Anderson-64/+62
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-1/+1
2011-09-01Remove various istr conversions. Issue #855Brian Anderson-2/+2
2011-09-01Make resolve recognize upvarsMarijn Haverbeke-117/+67
Upvars are now marked with def_upvar throughout, not just when going through freevars::lookup_def. This makes things less error-prone. One thing to watch out for is that def_upvar is used in `for each` bodies too, when they refer to a local outside the body.
2011-09-01Store arg mode and objfield mutability in their defMarijn Haverbeke-1/+1
2011-08-27Convert rustc::driver::session to istrs. Issue #855Brian Anderson-1/+1
2011-08-27Convert std::int to istrs. Issue #855Brian Anderson-1/+5
2011-08-22Move functions from syntax::ast to syntax::ast_utilBrian Anderson-4/+5
This leaves syntax::ast just defining the AST, which strikes me as somewhat nicer
2011-08-20ReformatBrian Anderson-61/+66
This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]
2011-08-18Remove or _-prefix all unused function argumentsMarijn Haverbeke-2/+2
This should make the compilation process a bit less noisy.
2011-08-16Port the compiler to the typaram foo<T> syntax.Erick Tryzelaar-6/+6
2011-08-16Rename std::ivec to std::vecBrian Anderson-1/+0
2011-08-15The wonky for...in... whitespace was bothering me. Sorry!Lindsey Kuper-3/+3
2011-08-09Port the compiler to the ivec type [T] syntax.Erick Tryzelaar-5/+5
2011-08-05Revert "rustc: Introduce the concept of inline to the AST"Patrick Walton-6/+5
This reverts commit 9b9170f9fe2e4701255a5bd0630c203409d8e934.
2011-08-05rustc: Introduce the concept of inline to the ASTPatrick Walton-5/+6
2011-08-04Prohibit assignment to upvars in lambdas. Closes #805.Michael Sullivan-4/+4
2011-08-04Use lambdas in the freevars pass.Michael Sullivan-64/+50
2011-08-03Make ast::pat_bindings an iteratorMarijn Haverbeke-5/+2
And use it to get rid of some repetetive code
2011-08-02Track the node_id of the function in trans_common::fn_ctxt.Michael Sullivan-1/+1
2011-08-01Partially implement destructuring localsMarijn Haverbeke-2/+8
You can now say let {bcx, val} = some_result_returner(); Similar for loop variables. Assigning to such variables is not safe yet. Function arguments also remain a TODO.
2011-07-28Change the way freevars stores its information again.Michael Sullivan-12/+18
2011-07-27Fix damage done by the pretty-printerMarijn Haverbeke-6/+6
2011-07-27Reformat for new syntaxMarijn Haverbeke-95/+86
2011-07-26Fix the freevars pass to actually work on top of visit.Michael Sullivan-2/+9
2011-07-26Convert all code that uses walk.rs in the straightforward way to simple_visitMarijn Haverbeke-23/+21
Code that needs the keep_going functionality is still using walk. I will add an equivalent to visit.rs later.
2011-07-26Remove all uses of tuples from the compiler and stdlibMarijn Haverbeke-2/+2
2011-07-22Overhaul how we handle freevars.Michael Sullivan-12/+28
2011-07-22Simple cleanup of the freevars pass.Michael Sullivan-5/+5
2011-07-22Add a "fake" def_upvar and mechanisms to create it.Michael Sullivan-4/+17
2011-07-21Add some useful functions to freevars.Michael Sullivan-0/+23
2011-07-20Box the vec of freevars we store in the freevars cache.Michael Sullivan-4/+4
2011-07-19Add a pass that finds all of the free variables.Michael Sullivan-9/+56
2011-07-19Move collect_upvars into its own file.Michael Sullivan-0/+91