about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-05-13rustc: Look types up in the side tablePatrick Walton-8/+11
2011-05-13Remove rustboot from the repository.Graydon Hoare-44/+1
2011-05-13rustc: Write nil types into the node type table wherever plain_ann() is usedPatrick Walton-44/+101
2011-05-13'with' no longer a token; whitespace police.Lindsey Kuper-18/+14
Plus renaming the anonymous objects test to a more descriptive name, and XFAILing it because it doesn't work yet.
2011-05-13More anon obj work; whitespace police in middle::foldLindsey Kuper-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.
2011-05-13Use new module namespace syntax.Lindsey Kuper-84/+76
2011-05-13More work toward anonymous objects.Lindsey Kuper-8/+15
2011-05-13Bug fixes.Lindsey Kuper-20/+24
Fixed infinite loop on anonymous objects in parser; added expr_anon_obj to walk.rs; fixed syntax of test case.
2011-05-13More progress on anonymous objects.Lindsey Kuper-12/+92
Still segfaulting on the method-overriding.rs test, though.
2011-05-13Correct capitalization of "Option".Lindsey Kuper-10/+9
2011-05-13Starting on support for anonymous objects. Just syntax so far.Lindsey Kuper-0/+70
2011-05-13rustc: Move replace_expr_type() from ty to typeck, as it's only used in the ↵Patrick Walton-45/+52
latter
2011-05-13rustc: Fix long lines in typeck.rsBrian Anderson-1/+2
2011-05-13rustc: Get ann_to_type_params() on board the ↵Patrick Walton-7/+7
ann_to_ty_param_substs_opt_and_ty() train
2011-05-13rustc: Make all type lookups go through the one ↵Patrick Walton-44/+22
ty::ann_to_ty_param_substs_opt_and_ty() function
2011-05-13rustc: Write types contained in "trivial annotations" to the tablePatrick Walton-45/+135
2011-05-13rustc: Change ty::triv_ann() to take a node ID instead of a full annotationPatrick Walton-85/+118
2011-05-13rustc: lowercase the link and link::write modulesBrian Anderson-17/+17
2011-05-13Slight adjustments to shape, rename to type_glue.rs.Graydon Hoare-99/+105
2011-05-13rustc: Add write_type() wherever ann_types are written, except for triv_ann()Patrick Walton-15/+56
2011-05-13Safeguard against using statement or item keywords as value idsMarijn Haverbeke-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'.
2011-05-13Make the parser more careful about keywordsMarijn Haverbeke-1151/+611
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.
2011-05-13rustc: Fix the type of node_types; stub the write_type functionPatrick Walton-7/+16
2011-05-13rustc: Remove a minor rustboot workaround in ↵Patrick Walton-9/+4
typeck::resolve_local_types_in_block()
2011-05-13Fix naming of libc that was mangled by recent module changesBrian Anderson-3/+3
It doesn't appear that rustc makes use of these strings so it didn't actually break anything yet.
2011-05-13rustc: Make typeck::instantiate_path() not return an annotationPatrick Walton-9/+16
2011-05-13Implement module namespacesMarijn Haverbeke-70/+72
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.
2011-05-13Extend crate format to allow multiple definitions for a single nameMarijn Haverbeke-113/+85
The type/value namespace distinction pretty much works now. Module namespace is up next.
2011-05-13Make module indices hold a list of itemsMarijn Haverbeke-42/+87
This way, they can support having both a type and a value of the same name.
2011-05-13Move capture checking into resolve.rsMarijn Haverbeke-140/+49
Drops capture.rs. The new algorithm also checks for captures function arguments and obj fields.
2011-05-13Change resolve to use walk instead of foldMarijn Haverbeke-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.)
2011-05-13Ensure visit_ty is called on type parameters during walkMarijn Haverbeke-2/+25
2011-05-13Add visit_arm and visit_method to walk.rsMarijn Haverbeke-3/+16
The resolver needs to update its state for individual arms and methods.
2011-05-12Rename std.extfmt.CT to std.extfmt.RT to ct and rtBrian Anderson-32/+32
Temporarily duplicate the entire RT module, leaving it with the old name to accomodate the stage0 compiler. Will be removed after the next snapshot.
2011-05-12rustc: Flatten recursive vectors in trans::simplify_type(). Prevents an ↵Patrick Walton-0/+8
infinite loop.
2011-05-12rustc: Beginnings of a "shape" module to convert types to shapesPatrick Walton-0/+99
2011-05-12rustc: Make ty::expr_ann() terserPatrick Walton-109/+37
2011-05-12rustc: Pass a node type table around, unused as of yetPatrick Walton-154/+218
2011-05-12Add stats option and lazily emit glue.Graydon Hoare-86/+269
2011-05-12Downcase std modules again, move to :: for module dereferencingMarijn Haverbeke-6594/+6629
This should be a snapshot transition.
2011-05-12Transitional change to make extfmt output lowercase module nameMarijn Haverbeke-1/+1
2011-05-12Change module dereference syntax from . to ::Marijn Haverbeke-111/+41
This will need to be a snapshot.
2011-05-12Remove some truly wrong logic in parse_constrsMarijn Haverbeke-13/+8
2011-05-12Keep resolve data in external hash table, rather than embedded defsMarijn Haverbeke-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.)
2011-05-12Ensure ann tags are actually kept around during typecheckingMarijn Haverbeke-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.
2011-05-12Properly lex block comments followed by EOFMarijn Haverbeke-4/+4
2011-05-12Provide a more useful message when failing to translate a constMarijn Haverbeke-0/+3
2011-05-11Remove unused filename parameter from lexer.new_readerBrian Anderson-3/+3
2011-05-11Give the lexer a session so that it can fail more informativelyBrian Anderson-22/+34
2011-05-11rustc: Represent types as uints. Cuts typechecking down from 14s to 12s.Patrick Walton-148/+143