| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Continued sketching out code for checking states against preconditions. | Tim Chevalier | 2011-04-06 | 1 | -1/+2 |
| | | | | | | | | | | It's still sketchy. I added a typestate annotation field to statements tagged stmt_decl or stmt_expr, because a stmt_decl statement has a typestate that's different from that of its child node. This necessitated trivial changes to a bunch of other files all over to the compiler. I also added a few small standard library functions, some of which I didn't actually end up using but which I thought might be useful anyway. | ||||
| * | rustc: Add a type annotation to tag items | Patrick Walton | 2011-03-31 | 1 | -4/+4 |
| | | |||||
| * | Improve line comment positioning | Marijn Haverbeke | 2011-03-31 | 1 | -2/+2 |
| | | | | | This involved making ast.variant spanned. | ||||
| * | rustc: Thread an item-to-type mapping throughout the typechecking and ↵ | Patrick Walton | 2011-03-30 | 1 | -39/+60 |
| | | | | | translation phases | ||||
| * | rustc: Partially resolve external module imports | Patrick Walton | 2011-03-29 | 1 | -4/+88 |
| | | |||||
| * | Another go at changing compile-command, this time using RBUILD env var. | Graydon Hoare | 2011-03-25 | 1 | -1/+1 |
| | | |||||
| * | Revert "Bulk-edit compile commands in emacs chatter to point to assumed ↵ | Graydon Hoare | 2011-03-25 | 1 | -1/+1 |
| | | | | | | | build/ dir off src root." This reverts commit 846f2e2ba994268725f38c36fa12f1a09f21615c. | ||||
| * | Bulk-edit compile commands in emacs chatter to point to assumed build/ dir ↵ | Graydon Hoare | 2011-03-25 | 1 | -1/+1 |
| | | | | | off src root. | ||||
| * | rustc: Store cached crate metadata in the session | Patrick Walton | 2011-03-25 | 1 | -9/+5 |
| | | |||||
| * | Start hooking resolve into creater. | Graydon Hoare | 2011-03-24 | 1 | -5/+23 |
| | | |||||
| * | Modify native_item_fn to handle trailing linkage names that differ from the ↵ | Graydon Hoare | 2011-03-20 | 1 | -2/+2 |
| | | | | | item name (used in win32 build of std.dll) | ||||
| * | rustc: Add an annotation for the crate definition to view_item_use | Patrick Walton | 2011-03-15 | 1 | -2/+2 |
| | | |||||
| * | Add support for indexing tags in blocks. | Rafael Ávila de Espíndola | 2011-03-11 | 1 | -8/+36 |
| | | |||||
| * | Handle resolving to native modules. | Rafael Ávila de Espíndola | 2011-03-10 | 1 | -0/+7 |
| | | |||||
| * | Permit view items in native modules. | Graydon Hoare | 2011-03-07 | 1 | -3/+11 |
| | | |||||
| * | More typechecking for native types and the needed plumbing in codegen. | Rafael Avila de Espindola | 2011-02-16 | 1 | -2/+2 |
| | | |||||
| * | Add basic front-end support for 'for each' loops. | Graydon Hoare | 2011-02-14 | 1 | -0/+3 |
| | | |||||
| * | Teach resolve about ty params on tags. | Graydon Hoare | 2011-02-14 | 1 | -0/+8 |
| | | |||||
| * | Add missing fold of native functions. | Rafael Avila de Espindola | 2011-02-10 | 1 | -12/+35 |
| | | |||||
| * | Add native modules to resolve. With this hello world gets to typecheck. | Rafael Avila de Espindola | 2011-02-07 | 1 | -19/+58 |
| | | |||||
| * | Fix expressions with paths with more than one element. | Rafael Avila de Espindola | 2011-02-07 | 1 | -2/+1 |
| | | |||||
| * | Parse function declarations. | Rafael Ávila de Espíndola | 2011-02-04 | 1 | -1/+1 |
| | | |||||
| * | Correctly handle "import foo = bar.zed;". | Rafael Ávila de Espíndola | 2011-01-28 | 1 | -6/+6 |
| | | |||||
| * | Simplify and fix the resolution of expr_path. With this we now get to codegen | Rafael Ávila de Espíndola | 2011-01-27 | 1 | -19/+10 |
| | | | | | | | | | | | | | | | | in ------------------- type foo = rec(int a); mod m1 { mod m2 { const foo bar = rec(a = 4); } } fn main(vec[str] args) { log m1.m2.bar.a; } ------------------- | ||||
| * | Resolve type paths. | Rafael Ávila de Espíndola | 2011-01-27 | 1 | -18/+3 |
| | | |||||
| * | Handle paths correctly. This lets us handle one more test :-) | Rafael Ávila de Espíndola | 2011-01-27 | 1 | -13/+7 |
| | | |||||
| * | First step for supporting "case (foo.bar(?zed))": Change the ast of | Rafael Ávila de Espíndola | 2011-01-27 | 1 | -5/+7 |
| | | | | | pat_tag to hold a path. | ||||
| * | Correctly split a.b.c into its path and field access components. | Rafael Ávila de Espíndola | 2011-01-27 | 1 | -12/+14 |
| | | |||||
| * | Print an error if we try to refer to a module in an expr_path. | Rafael Ávila de Espíndola | 2011-01-25 | 1 | -1/+11 |
| | | |||||
| * | Small first step in expr_path. Call find_final_def just to detect | Rafael Ávila de Espíndola | 2011-01-25 | 1 | -24/+38 |
| | | | | | | unresolved names. find_final_def is going to be extended to return the final expr. | ||||
| * | Remove unimplemented erorr and enable test. | Rafael Ávila de Espíndola | 2011-01-24 | 1 | -5/+0 |
| | | |||||
| * | Implement a bit of type parameter matching to get a simple case working. | Rafael Ávila de Espíndola | 2011-01-24 | 1 | -4/+0 |
| | | |||||
| * | Teach resolve about linear for loops. | Graydon Hoare | 2011-01-20 | 1 | -2/+26 |
| | | |||||
| * | Look at the type params of an item_ty when resolving. | Rafael Ávila de Espíndola | 2011-01-19 | 1 | -1/+8 |
| | | |||||
| * | Twiddle comment. | Graydon Hoare | 2011-01-18 | 1 | -1/+1 |
| | | |||||
| * | One last refactoring of the import handling: | Rafael Ávila de Espíndola | 2011-01-18 | 1 | -79/+109 |
| | | | | | | | | | | | | | | * 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. | ||||
| * | Enable more tests. | Rafael Ávila de Espíndola | 2011-01-17 | 1 | -1/+1 |
| | | |||||
| * | Fix the last known (to me) bug in import resolution. We were not properly | Rafael Ávila de Espíndola | 2011-01-17 | 1 | -12/+27 |
| | | | | | | dropping the inner part of the environment when an intermediate item resolved in an outer scope. | ||||
| * | Some misc cleanups: | Rafael Ávila de Espíndola | 2011-01-17 | 1 | -25/+26 |
| | | | | | | * Remove unused argument * Move option.t wrapping to outer functions. | ||||
| * | Fix the import handling in "complex" cases. When looking a.b.c and 'a' is a | Rafael Ávila de Espíndola | 2011-01-14 | 1 | -5/+22 |
| | | | | | | | | module, we should look for 'b' *just* in the module 'a' and then continue resolving b.c in the environment created by updating *with* a. Still not 100% correct, but getting there. | ||||
| * | Make lookup non recursive and instead move the recursion just to | Rafael Ávila de Espíndola | 2011-01-14 | 1 | -60/+88 |
| | | | | | | find_final_def. Use the fact that the recursion is in a simpler function to detected import loops and exit. | ||||
| * | Change single-ident expr_ident to greedy/fat multi-ident expr_path, to ↵ | Graydon Hoare | 2011-01-13 | 1 | -15/+51 |
| | | | | | handle the module-path/value-indexing distinction. | ||||
| * | Produce better errors for invalid imports. | Rafael Ávila de Espíndola | 2011-01-12 | 1 | -0/+6 |
| | | |||||
| * | Call find_final_def directly in fold_view_item_import. It is both cleaner and | Rafael Ávila de Espíndola | 2011-01-12 | 1 | -1/+1 |
| | | | | | faster. | ||||
| * | Change mod_index_entry to point directly to items and view_items. | Rafael Ávila de Espíndola | 2011-01-12 | 1 | -6/+6 |
| | | |||||
| * | Fix another import case we got wrong: The local environment should not | Rafael Ávila de Espíndola | 2011-01-11 | 1 | -27/+47 |
| | | | | | interfere with the import statements. | ||||
| * | Fix two invalid import cases we were not detecting: | Rafael Ávila de Espíndola | 2011-01-11 | 1 | -12/+29 |
| | | | | | | | | * If an import was unused we would never print any errors for it. * We would keep the existing environment in scope when descending 'foo.bar' and would find 'bar' in the global environment if there was no 'bar' in 'foo'. | ||||
| * | Add sufficient import support to compile some simple single-crate programs. | Rafael Ávila de Espíndola | 2011-01-07 | 1 | -32/+111 |
| | | | | | | 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 names from imports to the namespace. | Rafael Ávila de Espíndola | 2011-01-04 | 1 | -2/+2 |
| | | |||||
| * | Add support for looking up a name introduced by a 'use'. | Rafael Ávila de Espíndola | 2011-01-04 | 1 | -0/+14 |
| | | | | | | | | | | | With this we go from "error: unresolved name: foo" to "unimplemented definition variant for: foo" in use foo; fn main(vec[str] args) { foo.bar(); } | ||||