about summary refs log tree commit diff
path: root/src/comp/middle/ast_map.rs
AgeCommit message (Collapse)AuthorLines
2011-12-16Finish resolving and calling of crate-external implsMarijn Haverbeke-0/+4
Issue #1227
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-1/+2
2011-11-18Update stdlib, compiler, and tests to new kind systemMarijn Haverbeke-4/+4
This involved adding 'copy' to more generics than I hoped, but an experiment with making it implicit showed that that way lies madness -- unless enforced, you will not remember to mark functions that don't copy as not requiring copyable kind. Issue #1177
2011-11-17remove compile-command from local variable blocksNiko Matsakis-1/+0
2011-11-16fix bug in shape where s_int/s_uint were not customized to platformNiko Matsakis-4/+4
2011-11-16temporarily disable these tests b/c they crash rustcNiko Matsakis-4/+4
2011-11-10Cleanup unused importsHaitao Li-1/+0
2011-10-28Make shared kind the default only for generic functionsMarijn Haverbeke-3/+3
You almost never want a function with pinned type params. For types, objects, resources, and tags, pinned types are actually often more sane. For most of these, shared rarely makes sense. Only tricky case is objs -- you'll have to think about the kinds you want there. Issue #1076
2011-10-25Update our code to new type parameter kind syntaxMarijn Haverbeke-5/+5
Closes #1067
2011-10-21Move ast_util::pat_bindings over to new iter system.Marijn Haverbeke-4/+4
Issue #1056
2011-10-21Move hash table iteration over to block-taking functionsMarijn Haverbeke-14/+20
Issue #1056
2011-10-07Parse and typecheck by-value and by-ref arg specsMarijn Haverbeke-1/+1
Add sprinkle && throughout the compiler to make it typecheck again. Issue #1008
2011-09-15Move local numbering into ast_map.rsMarijn Haverbeke-17/+42
This further simplifies the alias pass, which is sorely needed.
2011-09-14Make ast_map.rs index function args, switch it over to simple_visitorMarijn Haverbeke-12/+16
2011-09-12Factor imports mindlessly.Graydon Hoare-4/+2
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-17/+16
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-3/+3
2011-08-27Convert ast::ident to istr. Issue #855Brian Anderson-3/+3
2011-08-22Move functions from syntax::ast to syntax::ast_utilBrian Anderson-4/+6
This leaves syntax::ast just defining the AST, which strikes me as somewhat nicer
2011-08-20ReformatBrian Anderson-28/+27
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-1/+1
This should make the compilation process a bit less noisy.
2011-08-16Port the compiler to the expr foo::<T> syntax.Erick Tryzelaar-3/+3
2011-08-16Port the compiler to foo<T> decl syntax.Erick Tryzelaar-5/+5
2011-08-16Port the compiler to the typaram foo<T> syntax.Erick Tryzelaar-10/+10
2011-08-15The wonky for...in... whitespace was bothering me. Sorry!Lindsey Kuper-2/+2
2011-08-15Use span stacks to track macro expansion for less troublesome error messages.Paul Stansifer-4/+4
2011-08-11Add ast_map::node_span functionBrian Anderson-0/+57
2011-07-29Enable kind checking on typarams, fix kind constraints in library and comp.Graydon Hoare-8/+8
2011-07-27Reformat for new syntaxMarijn Haverbeke-44/+41
2011-07-26Remove all uses of tuples from the compiler and stdlibMarijn Haverbeke-4/+4
2011-07-21Add some support for using a map like a set.Michael Sullivan-0/+5
2011-07-11Move visit to newtype-style nominal typeMarijn Haverbeke-1/+1
This makes getting the function fields out of the visitor less cumbersome and more efficient (no take/drop).
2011-07-05Move everything syntax-related to syntax/, break deps on rest of compilerMarijn Haverbeke-1/+2
src/comp/syntax is currently just a sub-module of rustc, but it will, in the near future, be its own crate. This includes: - The AST data structure - The parser - The pretty-printer - Visit, walk, and fold - The syntax extension system - Some utility stuff that should be in the stdlib* *) Stdlib extensions currently require a snapshot before they can be used, and the win build is very broken right now. This is temporary and will be cleaned up when one of those problems goes away. A lot of code was moved by this patch, mostly towards a more organized layout. Some package paths did get longer, and I guess the new layout will take some getting used to. Sorry about that! Please try not to re-introduce any dependencies in syntax/ on any of the other src/comp/ subdirs.
2011-06-28Replace common::new_seq_hash with an adapter around std::smallintmapBrian Anderson-1/+69
It would be better to either convert ast_map to use smallintmap or make smallintmap and hashmap follow the same interface, but I don't feel up to it just now. Closes #585.
2011-06-26Add a very simple map implementation for sequential integer keysBrian Anderson-1/+1
Use it for the ast_map. Cuts 40% off the time spent prior to LLVM.
2011-06-21Move names and ids of native items into their recs, rather than their tagsMarijn Haverbeke-5/+1
2011-06-21Move expr ids into the expr record typeMarijn Haverbeke-1/+1
This simplifies the tag variants a bit and makes expr_node_id obsolete.
2011-06-20Get rid of def_ids and anns in AST nodes, use single node_idMarijn Haverbeke-0/+56
This reduces some redundancy in the AST data structures and cruft in the code that works with them. To get a def_id from a node_id, apply ast::local_def, which adds the local crate_num to the given node_id. Most code only deals with crate-local node_ids, and won't have to create def_ids at all.