about summary refs log tree commit diff
path: root/src/comp/middle
AgeCommit message (Collapse)AuthorLines
2011-02-02Add trace and trap helpers to trans for low level diagnostics.Graydon Hoare-0/+18
2011-02-02Add most of the plumbing for native items and add support for parsing native ↵Rafael Ávila de Espíndola-1/+44
type declarations.
2011-02-01Fix buggy argument assembly for upcall_get_type_desc. Can now complete calls ↵Graydon Hoare-5/+5
to glue of derived tydescs.
2011-02-01Add very minimal support for native modules. For now they must be empty.Rafael Ávila de Espíndola-2/+33
2011-02-01Pick up case for expr_block from brson's other branch.Graydon Hoare-0/+15
2011-02-01Implement 'else if'Graydon Hoare-17/+70
2011-02-01Use dynamic GEP and silly offset-encoding on tydescs. Successful call into a ↵Graydon Hoare-40/+70
derived tydesc.
2011-02-01Add ty_type.Graydon Hoare-0/+9
2011-02-01Allow the else part of an expr_if to be either expr_if or expr_blockBrian Anderson-19/+45
2011-01-31More work on derived tydescs. Can compile simple tests with generic objects.Graydon Hoare-33/+53
2011-01-31Majority of the remaining work for derived tydescs. Not quite working yet.Graydon Hoare-106/+159
2011-01-31Run cleanups in reverse order. Not presently observable, no dtors.Graydon Hoare-1/+4
2011-01-28Fix a bug in linearize and get the captured tydescs type right.Graydon Hoare-9/+11
2011-01-28Pass linearized typarams to make_generic_glue. Steps toward derived tydescs.Graydon Hoare-5/+22
2011-01-28Pass tydesc array into type glue fns as first arg. Required for derived ↵Graydon Hoare-40/+53
tydescs to work.
2011-01-28Teach rustc to failBrian Anderson-11/+24
2011-01-28Correctly handle "import foo = bar.zed;".Rafael Ávila de Espíndola-16/+16
2011-01-27Add helper function for derived type descriptors.Graydon Hoare-2/+45
2011-01-27Simplify and fix the resolution of expr_path. With this we now get to codegenRafael Ávila de Espíndola-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; } -------------------
2011-01-27Resolve type paths.Rafael Ávila de Espíndola-18/+3
2011-01-27Handle paths correctly. This lets us handle one more test :-)Rafael Ávila de Espíndola-13/+7
2011-01-27First step for supporting "case (foo.bar(?zed))": Change the ast ofRafael Ávila de Espíndola-16/+21
pat_tag to hold a path.
2011-01-27Correctly split a.b.c into its path and field access components.Rafael Ávila de Espíndola-12/+14
2011-01-27Note issue in comments.Graydon Hoare-3/+2
2011-01-26Teach typeck to handle obj item names when used as type names, not just ↵Graydon Hoare-18/+47
constructor calls.
2011-01-25Print an error if we try to refer to a module in an expr_path.Rafael Ávila de Espíndola-1/+11
2011-01-25Small first step in expr_path. Call find_final_def just to detectRafael Ávila de Espíndola-24/+38
unresolved names. find_final_def is going to be extended to return the final expr.
2011-01-24Implement autoderef in rustc. Un-XFAIL autoderef-full-lval.rs.Graydon Hoare-24/+129
2011-01-24Switch from booleans to symbolic tags in a few places.Graydon Hoare-23/+36
2011-01-24Remove unimplemented erorr and enable test.Rafael Ávila de Espíndola-5/+0
2011-01-24Implement a bit of type parameter matching to get a simple case working.Rafael Ávila de Espíndola-5/+31
2011-01-21Teach AST, parser, folder about iter items.Graydon Hoare-7/+10
2011-01-21First cut at translating const items. Support the literal forms at least. ↵Graydon Hoare-26/+74
Un-XFAIL const.rs.
2011-01-21Merge remote branch 'espindola/params'Graydon Hoare-10/+40
2011-01-21Change the return type of the getter method so that we can get to the typeRafael Ávila de Espíndola-10/+40
params.
2011-01-21Fix bug in trans_for, un-XFAIL linear-for-loop.rs.Graydon Hoare-1/+1
2011-01-21First cut of trans_for.Graydon Hoare-0/+38
2011-01-21Tweak effect-checking rules in rustboot, remove/rewrite/re-auth impure cases ↵Graydon Hoare-149/+164
in trans.rs
2011-01-21M-x indent-region on trans.rs.Graydon Hoare-27/+35
2011-01-20Teach ty and typeck about linear for loops.Graydon Hoare-30/+56
2011-01-20Fix typo in fold.Graydon Hoare-1/+1
2011-01-20Teach resolve about linear for loops.Graydon Hoare-2/+26
2011-01-20Adjust AST encoding, teach fold about linear for loops.Graydon Hoare-0/+18
2011-01-19Implement dynamic GEP enough to permit expr_field to work on tup(T,T,T).Graydon Hoare-2/+127
2011-01-19Look at the type params of an item_ty when resolving.Rafael Ávila de Espíndola-1/+8
2011-01-19Fold function output and argument types. With this change we fail to compileRafael Ávila de Espíndola-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.
2011-01-18Twiddle comment.Graydon Hoare-1/+1
2011-01-18Fix bug (I think) when unifying ty_local and ty_param.Graydon Hoare-1/+13
2011-01-18One last refactoring of the import handling:Rafael Ávila de Espíndola-85/+117
* 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.
2011-01-18Add bzero glue and preliminary code for dynamic size/align calculations.Graydon Hoare-15/+170