aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle/fold.rs
Commit message (Collapse)AuthorAgeFilesLines
* Move all non-decl/non-expr stmts to exprs.Graydon Hoare2011-02-141-64/+72
|
* Expand expr_rec to take its optional trailing 'with' parameter.Graydon Hoare2011-02-141-6/+15
|
* Add support to pat_lit to fold.Graydon Hoare2011-02-101-0/+11
|
* Parse 'be' statement. Pass tailcall tests. No actual tailcalls yet.Brian Anderson2011-02-101-0/+13
|
* Add missing fold of native functions.Rafael Avila de Espindola2011-02-101-1/+2
|
* Parse function declarations.Rafael Ávila de Espíndola2011-02-041-14/+46
|
* Add most of the plumbing for native items and add support for parsing native ↵Rafael Ávila de Espíndola2011-02-021-1/+44
| | | | type declarations.
* Add very minimal support for native modules. For now they must be empty.Rafael Ávila de Espíndola2011-02-011-2/+29
|
* Implement 'else if'Graydon Hoare2011-02-011-4/+17
|
* Teach rustc to failBrian Anderson2011-01-281-0/+4
|
* Correctly handle "import foo = bar.zed;".Rafael Ávila de Espíndola2011-01-281-10/+10
|
* First step for supporting "case (foo.bar(?zed))": Change the ast ofRafael Ávila de Espíndola2011-01-271-5/+5
| | | | pat_tag to hold a path.
* Teach AST, parser, folder about iter items.Graydon Hoare2011-01-211-3/+6
|
* Fix typo in fold.Graydon Hoare2011-01-201-1/+1
|
* Adjust AST encoding, teach fold about linear for loops.Graydon Hoare2011-01-201-0/+18
|
* Fold function output and argument types. With this change we fail to compileRafael Ávila de Espíndola2011-01-191-3/+15
| | | | | | | type lteq[T] = fn(&T a) -> bool; with "unresolved name: T". Before we would silently get to the type checker and assert in a unresolved ty_path.
* One last refactoring of the import handling:Rafael Ávila de Espíndola2011-01-181-6/+8
| | | | | | | | | | | | | * Create an import resolving stage. Currently this involves a copy of the ast, we can probably revisit this once we revisit doing full copies of the ast in general. * Don't repeat work. Once we resolve a import, put it on a hash table and use it next time we are asked for it. This solves a O(n^2) behaviour in degenerated cases. * Once import resolution is done, the target of an import is stored on the import itself.
* Change single-ident expr_ident to greedy/fat multi-ident expr_path, to ↵Graydon Hoare2011-01-131-25/+21
| | | | handle the module-path/value-indexing distinction.
* Change mod_index_entry to point directly to items and view_items.Rafael Ávila de Espíndola2011-01-121-3/+7
|
* Add sufficient import support to compile some simple single-crate programs.Rafael Ávila de Espíndola2011-01-071-4/+4
| | | | | This is likely not the final solution. It does repetitive work and doesn't produce errors for invalid but unused imports. In any case, I think it is a useful step.
* Add the boilerplate for folding view items.Rafael Ávila de Espíndola2011-01-061-1/+65
|
* Fix fold bug on expr_bind.Graydon Hoare2011-01-031-0/+3
|
* Update method-fold env with fake item_fn representing the method.Graydon Hoare2010-12-311-1/+12
|
* Teach fold about ty_obj.Graydon Hoare2010-12-301-0/+24
|
* rustc: Add bind expressions to the ASTPatrick Walton2010-12-201-0/+25
|
* Teach fold about objs.Graydon Hoare2010-12-141-0/+57
|
* rustc: Add a definition ID to tag patternsPatrick Walton2010-12-121-5/+6
|
* rustc: Resolve pattern bindingsPatrick Walton2010-12-101-1/+1
|
* rustc: Add update_env_for_arm to fold; we'll need it to resolve pattern bindingsPatrick Walton2010-12-101-4/+15
|
* rustc: Add def ids to pattern bindingsPatrick Walton2010-12-101-6/+7
|
* First sketch of support for const items, not including most of trans.Graydon Hoare2010-12-091-0/+17
|
* Implement binop= forms. Un-XFAIL bitwise.rs.Graydon Hoare2010-12-081-0/+19
|
* rustc: Add def ids to variant arguments so we can turn them into function ↵Patrick Walton2010-12-031-3/+4
| | | | arguments later
* Parse layer and effect annotations.Graydon Hoare2010-12-031-4/+6
|
* Fix fold bug on expr_unary.Graydon Hoare2010-12-021-1/+1
|
* Add code to fail on non-exhaustive alt matching. Fix all cases this picked ↵Graydon Hoare2010-12-011-0/+20
| | | | up in rustc.
* rustc: Annotate variants with their types. This may be useful for trans!Patrick Walton2010-12-011-1/+2
|
* Tidy up structural types for rec, tup AST and typeck nodes.Graydon Hoare2010-11-301-31/+27
|
* rustc: Add def ids to variantsPatrick Walton2010-11-301-1/+1
|
* rustc: Implement the block syntax discussed on the mailing listPatrick Walton2010-11-291-1/+13
|
* Teach fold about ty_rec.Graydon Hoare2010-11-291-0/+18
|
* Change mutability into a type constructor.Graydon Hoare2010-11-291-6/+5
|
* Change from bool to tag ast.mutability.Graydon Hoare2010-11-291-11/+13
|
* Add ast.ty_mutable.Graydon Hoare2010-11-291-0/+12
|
* rustc: Parse type-parametric typedefsPatrick Walton2010-11-241-6/+8
|
* rustc: Parse type-parametric tagsPatrick Walton2010-11-241-4/+7
|
* rustc: Parse type-parametric functionsPatrick Walton2010-11-241-6/+9
|
* rustc: Add patterns to foldPatrick Walton2010-11-241-0/+83
|
* rustc: Parse tag items. Currently segfaults in copy glue.Patrick Walton2010-11-241-0/+23
|
* rustc: Add an annotation to function and type items so that the typechecker ↵Patrick Walton2010-11-101-12/+12
| | | | can store types with them