Commit graph

382 commits

Author SHA1 Message Date
Graydon Hoare
cfb97b3393 Begin sketching translation of bind_expr. No captures yet, also crashy. 2011-01-03 22:39:43 -08:00
Graydon Hoare
d1517471fb Split driver between parsing source files and crate files, by extension. Add dummy function for crate files. 2011-01-03 20:41:11 -08:00
Graydon Hoare
546f1e98cb Typecheck expr_bind. 2011-01-03 18:22:56 -08:00
Graydon Hoare
771d76e552 Add type accessors for fn types. 2011-01-03 18:22:39 -08:00
Graydon Hoare
0040a31076 Fix fold bug on expr_bind. 2011-01-03 18:22:27 -08:00
Graydon Hoare
019095c9e6 Actually return the correct node from the parser. 2011-01-03 16:18:25 -08:00
Graydon Hoare
2100aceabf Remove missed debug chatter. 2011-01-03 15:06:19 -08:00
Graydon Hoare
0a2e7f2149 Add restricted-parse mode, and parse bind expressions. 2010-12-31 17:28:43 -08:00
Graydon Hoare
10a130e6c1 Translate local item decls. 2010-12-31 15:16:11 -08:00
Graydon Hoare
1b0da12fe8 Update method-fold env with fake item_fn representing the method. 2010-12-31 15:05:22 -08:00
Graydon Hoare
ad889ba3ae Change resolve errs to span_errs. 2010-12-31 14:43:43 -08:00
Graydon Hoare
b42f49bf99 Parse local item decls. 2010-12-31 14:33:49 -08:00
Graydon Hoare
53d5b11208 Index tag and obj items in decl stmts. 2010-12-31 14:18:19 -08:00
Graydon Hoare
bd536ba85f Free objects by indirectly dropping fields via enclosed tydesc first. 2010-12-31 13:01:45 -08:00
Graydon Hoare
f072718cfe Replace arg Load with load_non_structural in obj ctor. 2010-12-31 12:20:18 -08:00
Graydon Hoare
065542378c Teach ty.unify about ty_obj. 2010-12-31 10:26:29 -08:00
Graydon Hoare
aa1d8d0768 Move unify_fn logic out-of-line. 2010-12-31 09:48:54 -08:00
Graydon Hoare
91809a17ac Teach typeck.ast_ty_to_ty about ty_obj. 2010-12-30 17:46:56 -08:00
Graydon Hoare
a99713265b Teach fold about ty_obj. 2010-12-30 17:46:35 -08:00
Graydon Hoare
1f2585f479 Teach trans to access object fields. 2010-12-30 17:01:20 -08:00
Graydon Hoare
9676fb2d0a Assign method types properly by sorted-order. 2010-12-30 17:00:59 -08:00
Graydon Hoare
153efb58bc Teach typeck to check obj field accesses. 2010-12-30 15:28:19 -08:00
Graydon Hoare
bc9db2e972 Teach resolve to find obj fields and ty params from methods. 2010-12-30 15:27:52 -08:00
Graydon Hoare
a9d03dd1a2 Add def id to ast for obj fields. 2010-12-30 15:27:19 -08:00
Rafael Ávila de Espíndola
09ef31caa0 Record the ast of uses and imports. 2010-12-30 11:21:37 -05:00
Patrick Walton
a634b21563 rustc: Make parametric return types go through an out pointer 2010-12-29 19:08:35 -05:00
Rafael Ávila de Espíndola
2c6dd18224 Add a -shared option to rustc and don't try to look for main if it is given. 2010-12-29 11:21:16 -05:00
Rafael Ávila de Espíndola
f900792fa3 Parse 'import' directives in rustc. 2010-12-24 21:06:14 -08:00
Rafael Ávila de Espíndola
8d2fdac93b Parse 'use' directives in rustc. 2010-12-24 17:03:46 -08:00
Graydon Hoare
5c7cd6419c Modify translation of obj methods to accept an initial recursive-self-typed (in the LLVM sense) obj argument. 2010-12-23 17:31:16 -08:00
Graydon Hoare
f2195d8b0a Print recursive LLVM types. 2010-12-23 17:05:27 -08:00
Patrick Walton
daac7a8b13 rustc: Add a type_has_dynamic_size predicate 2010-12-22 18:02:48 -08:00
Graydon Hoare
3f3a121043 Copy body tydesc and args into obj bodies. 2010-12-22 16:09:59 -08:00
Graydon Hoare
a2a642c17a Correct bug in typechecking ctor arguments to nonempty objects. 2010-12-22 13:57:18 -08:00
Graydon Hoare
ac270fc854 Allocate heap cells to store non-empty object bodies. 2010-12-22 13:56:51 -08:00
Patrick Walton
0411132679 rustc: Move unification out of typeck.rs; trans will need it too. 2010-12-21 17:47:13 -08:00
Patrick Walton
e06263ff4b rustc: Reference count the function context in typechecking so that passing it around via objects isn't as costly 2010-12-21 17:27:29 -08:00
Graydon Hoare
3504f4a4bf Sort methods in object types. 2010-12-21 16:43:28 -08:00
Patrick Walton
744b164b7d rustc: Move type logic out of typeck so trans doesn't look like it's calling into typeck 2010-12-21 16:24:17 -08:00
Patrick Walton
b9286a7179 rustc: Sanitize names better. Puts out burning tinderbox on OS X. 2010-12-20 19:52:14 -08:00
Patrick Walton
5cbf8889d0 rustc: Add bind expressions to the AST 2010-12-20 18:58:18 -08:00
Graydon Hoare
ed1dddc33f Null-check on obj box ptr, init to null. Un-XFAIL simple-obj.rs. 2010-12-20 17:28:07 -08:00
Graydon Hoare
399929ba0b Support ty_obj in trans_field; simple-obj.rs compiles (but crashes). 2010-12-20 16:48:28 -08:00
Graydon Hoare
86188da348 Mop up cases of s/copy/take/, remove 'binding' terminology, whitespace police, and make obj/fn structural. 2010-12-20 16:26:38 -08:00
Patrick Walton
e70c695ab9 rustc: Use the passed-in tydescs for take and drop glue in parametric fns. Also fix a level-of-indirection problem with tydesc params. 2010-12-20 15:23:24 -08:00
Patrick Walton
194d7844ea rustc: Print the type when we die in trans.make_drop_glue_inner 2010-12-20 14:44:04 -08:00
Patrick Walton
9fb2284600 rustc: Add a type param ID -> type descriptor mapping to function contexts 2010-12-20 14:35:04 -08:00
Graydon Hoare
7bd30f83e1 Put out burning tree (sizeof / alignof bug). 2010-12-20 12:54:50 -08:00
Graydon Hoare
490da3564b Use gvars for vtbls rather than returning const immediates. 2010-12-20 11:41:32 -08:00
Graydon Hoare
6a8518c97b Trailing whitespace police. 2010-12-20 11:41:32 -08:00