| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | rustc: Write nil types into the node type table wherever plain_ann() is usedHEADmaster | Patrick Walton | 2011-05-13 | 4 | -44/+101 |
| | | |||||
| * | 'with' no longer a token; whitespace police. | Lindsey Kuper | 2011-05-13 | 3 | -18/+15 |
| | | | | | | Plus renaming the anonymous objects test to a more descriptive name, and XFAILing it because it doesn't work yet. | ||||
| * | More anon obj work; whitespace police in middle::fold | Lindsey Kuper | 2011-05-13 | 2 | -32/+52 |
| | | | | | | | Passing args to middle::fold::fold_expr_anon_obj by reference to be consistent with the other folds; adding a dummy fold_expr_anon_obj to typeck to be filled in later. | ||||
| * | Use new module namespace syntax. | Lindsey Kuper | 2011-05-13 | 4 | -84/+76 |
| | | |||||
| * | More work toward anonymous objects. | Lindsey Kuper | 2011-05-13 | 4 | -8/+15 |
| | | |||||
| * | Bug fixes. | Lindsey Kuper | 2011-05-13 | 4 | -21/+25 |
| | | | | | | Fixed infinite loop on anonymous objects in parser; added expr_anon_obj to walk.rs; fixed syntax of test case. | ||||
| * | More progress on anonymous objects. | Lindsey Kuper | 2011-05-13 | 5 | -14/+100 |
| | | | | | Still segfaulting on the method-overriding.rs test, though. | ||||
| * | Correct capitalization of "Option". | Lindsey Kuper | 2011-05-13 | 2 | -10/+9 |
| | | |||||
| * | Starting on support for anonymous objects. Just syntax so far. | Lindsey Kuper | 2011-05-13 | 3 | -0/+96 |
| | | |||||
| * | Add support for 'T' transition snapshots, which are identical to S snapshots ↵ | Graydon Hoare | 2011-05-13 | 4 | -8/+29 |
| | | | | | except they tell the makefile to stop at stage1. | ||||
| * | rustc: Move replace_expr_type() from ty to typeck, as it's only used in the ↵ | Patrick Walton | 2011-05-13 | 2 | -45/+52 |
| | | | | | latter | ||||
| * | rustc: Fix long lines in typeck.rs | Brian Anderson | 2011-05-13 | 1 | -1/+2 |
| | | |||||
| * | rustc: Get ann_to_type_params() on board the ↵ | Patrick Walton | 2011-05-13 | 1 | -7/+7 |
| | | | | | ann_to_ty_param_substs_opt_and_ty() train | ||||
| * | rustc: Make all type lookups go through the one ↵ | Patrick Walton | 2011-05-13 | 1 | -44/+22 |
| | | | | | ty::ann_to_ty_param_substs_opt_and_ty() function | ||||
| * | rustc: Write types contained in "trivial annotations" to the table | Patrick Walton | 2011-05-13 | 1 | -45/+135 |
| | | |||||
| * | rustc: Change ty::triv_ann() to take a node ID instead of a full annotation | Patrick Walton | 2011-05-13 | 2 | -85/+118 |
| | | |||||
| * | rustc: lowercase the link and link::write modules | Brian Anderson | 2011-05-13 | 5 | -17/+17 |
| | | |||||
| * | Slight adjustments to shape, rename to type_glue.rs. | Graydon Hoare | 2011-05-13 | 3 | -99/+105 |
| | | |||||
| * | rustc: Add write_type() wherever ann_types are written, except for triv_ann() | Patrick Walton | 2011-05-13 | 2 | -15/+56 |
| | | |||||
| * | Remove reserved word tests (since reserved words were removed) | Marijn Haverbeke | 2011-05-13 | 7 | -35/+0 |
| | | | | | | | | | Ping me if you disagree, but I think that in a language that's as in-flux as rust currently is, it is silly to try and enforce a single future-compatibility. The reserved words didn't work well with the parser refactor, so I dropped them for the time being. We can, eventually, bring them back as type-only reserved words. | ||||
| * | Safeguard against using statement or item keywords as value ids | Marijn Haverbeke | 2011-05-13 | 1 | -12/+78 |
| | | | | | | | This prevents insane things like 'auto while = 2', which would parse in the previous revision, but then break when you tried to mutate it with 'while = 10'. | ||||
| * | Make the parser more careful about keywords | Marijn Haverbeke | 2011-05-13 | 6 | -1152/+612 |
| | | | | | | | Keywords are now only recognized in contexts where they are valid. The lexer no longer recognizes them, all words are lexed as IDENT tokens, that get interpreted by the parser. | ||||
| * | rustc: Fix the type of node_types; stub the write_type function | Patrick Walton | 2011-05-13 | 2 | -7/+16 |
| | | |||||
| * | rustc: Remove a minor rustboot workaround in ↵ | Patrick Walton | 2011-05-13 | 1 | -9/+4 |
| | | | | | typeck::resolve_local_types_in_block() | ||||
| * | Fix naming of libc that was mangled by recent module changes | Brian Anderson | 2011-05-13 | 3 | -5/+5 |
| | | | | | | It doesn't appear that rustc makes use of these strings so it didn't actually break anything yet. | ||||
| * | rustc: Make typeck::instantiate_path() not return an annotation | Patrick Walton | 2011-05-13 | 1 | -9/+16 |
| | | |||||
| * | Implement module namespaces | Marijn Haverbeke | 2011-05-13 | 4 | -73/+78 |
| | | | | | | | | Module names no longer clash with type and value names. The tokenizer/parser still needs to be taught to be more careful in identifying keywords, so that we can use 'str' and 'vec' and so as module names. | ||||
| * | Extend crate format to allow multiple definitions for a single name | Marijn Haverbeke | 2011-05-13 | 4 | -113/+85 |
| | | | | | | The type/value namespace distinction pretty much works now. Module namespace is up next. | ||||
| * | Make module indices hold a list of items | Marijn Haverbeke | 2011-05-13 | 2 | -42/+100 |
| | | | | | | This way, they can support having both a type and a value of the same name. | ||||
| * | Move capture checking into resolve.rs | Marijn Haverbeke | 2011-05-13 | 9 | -141/+74 |
| | | | | | | Drops capture.rs. The new algorithm also checks for captures function arguments and obj fields. | ||||
| * | Change resolve to use walk instead of fold | Marijn Haverbeke | 2011-05-13 | 2 | -104/+164 |
| | | | | | | | Possibly, at some point, we should add a state-passing variant of walk, or a wrapper that makes it easier to thread state. (See the repetetive pop_state_for_* functions in this commit.) | ||||
| * | Ensure visit_ty is called on type parameters during walk | Marijn Haverbeke | 2011-05-13 | 1 | -2/+25 |
| | | |||||
| * | Add visit_arm and visit_method to walk.rs | Marijn Haverbeke | 2011-05-13 | 1 | -3/+16 |
| | | | | | | The resolver needs to update its state for individual arms and methods. | ||||
| * | Change fuzzer to match new module standards | Brian Anderson | 2011-05-12 | 3 | -4/+4 |
| | | |||||
| * | Rename std.extfmt.CT to std.extfmt.RT to ct and rt | Brian Anderson | 2011-05-12 | 2 | -34/+288 |
| | | | | | | Temporarily duplicate the entire RT module, leaving it with the old name to accomodate the stage0 compiler. Will be removed after the next snapshot. | ||||
| * | rustc: Flatten recursive vectors in trans::simplify_type(). Prevents an ↵ | Patrick Walton | 2011-05-12 | 2 | -0/+8 |
| | | | | | infinite loop. | ||||
| * | rustc: Beginnings of a "shape" module to convert types to shapes | Patrick Walton | 2011-05-12 | 2 | -0/+99 |
| | | |||||
| * | rustc: Make ty::expr_ann() terser | Patrick Walton | 2011-05-12 | 1 | -109/+37 |
| | | |||||
| * | rustc: Pass a node type table around, unused as of yet | Patrick Walton | 2011-05-12 | 4 | -154/+218 |
| | | |||||
| * | Add stats option and lazily emit glue. | Graydon Hoare | 2011-05-12 | 3 | -86/+269 |
| | | |||||
| * | etc: Update rust.vim with new keywords; color types differently from keywords | Patrick Walton | 2011-05-12 | 1 | -7/+35 |
| | | |||||
| * | Add snap-stageN targets. | Graydon Hoare | 2011-05-12 | 3 | -6/+13 |
| | | |||||
| * | Register new snapshots for incompatible-syntax transition. | Graydon Hoare | 2011-05-12 | 1 | -0/+5 |
| | | |||||
| * | Fix mistaken replacements in error-pattern comments in tests | Marijn Haverbeke | 2011-05-12 | 25 | -25/+25 |
| | | |||||
| * | Downcase std modules again, move to :: for module dereferencing | Marijn Haverbeke | 2011-05-12 | 168 | -7652/+7687 |
| | | | | | This should be a snapshot transition. | ||||
| * | Transitional change to make extfmt output lowercase module name | Marijn Haverbeke | 2011-05-12 | 1 | -1/+1 |
| | | |||||
| * | Change module dereference syntax from . to :: | Marijn Haverbeke | 2011-05-12 | 9 | -111/+41 |
| | | | | | This will need to be a snapshot. | ||||
| * | Remove some truly wrong logic in parse_constrs | Marijn Haverbeke | 2011-05-12 | 1 | -13/+8 |
| | | |||||
| * | Keep resolve data in external hash table, rather than embedded defs | Marijn Haverbeke | 2011-05-12 | 14 | -481/+516 |
| | | | | | | | | | | | | | | One step closer to removing fold and having a single, immutable AST. Resolve still uses fold, because it has to detect and transform expr_field expressions. If we go through on our plan of moving to a different syntax for module dereferencing, the parser can spit out expr_field expressions, and resolve can move to walk. (I am truly sorry for the things I did in typestate_check.rs. I expect we'll want to change that to walk as well in the near future, at which point it should probably pass around a context record, which could hold the def_map.) | ||||
| * | Ensure ann tags are actually kept around during typechecking | Marijn Haverbeke | 2011-05-12 | 6 | -202/+224 |
| | | | | | | | This way, the tag assigned by the parser stays with the node. I realize ann replacing is probably going away real soon, but I needed this now for moving the resolve defs out of the AST. | ||||