Commit Graph

2366 Commits

Author SHA1 Message Date
Patrick Walton
3760bfab87 rustc: Don't rebuild AST patterns during typechecking 2011-05-16 11:45:00 -07:00
Patrick Walton
ca51b49c0a rustc: Replace the redundant typeck::node_ann_ty_params() with ty::ann_to_type_params() 2011-05-16 11:43:50 -07:00
Patrick Walton
3aaf02b907 rustc: Make the type collection pass no longer rebuild the AST 2011-05-16 10:34:32 -07:00
Patrick Walton
525a5c582f rustc: Fix indentation in ty_param_count_and_ty_for_def() 2011-05-16 10:32:38 -07:00
Patrick Walton
594c70f788 rustc: Add an item_ann() accessor function 2011-05-16 10:32:38 -07:00
Brian Anderson
f77c5ba512 rustc: Wait until generic glue is actually emitted to define it as internal
The verifier was not liking this when generating unoptimized bitcode. Per LLVM
docs it is not valid for function declarations to be marked internal, but
their implementations may be.
2011-05-15 19:53:06 -04:00
Brian Anderson
8eaafdaa2d rustc: Rename 'Unify' modules to 'unify' 2011-05-14 21:13:47 -04:00
Brian Anderson
f33d490032 Remove xfail-boot lines from tests 2011-05-14 21:05:22 -04:00
Patrick Walton
de421afa55 rustc: Use walk instead of fold for the first item collection pass 2011-05-14 11:03:10 -07:00
Patrick Walton
8b3f359442 rustc: Change "Collect" to "collect" 2011-05-14 11:03:10 -07:00
Brian Anderson
ec30c71296 Add a regression test for issue #374 (XFAILed) 2011-05-14 13:29:49 -04:00
Brian Anderson
fb76c25729 WIP 2011-05-14 13:11:37 -04:00
Marijn Haverbeke
b7d6934ef3 fix a long line that i forgot to commit 2011-05-14 13:27:21 +02:00
Marijn Haverbeke
ee45fd80c6 Mark IDENT tokens that are followed by ::
So that the type parser won't go off and try to parse a vec
type when it sees vec::init_op.
2011-05-14 12:57:42 +02:00
Brian Anderson
1ad58d4dd6 rustllvm: Free TargetMachine in LLVMRustWriteOutputFile 2011-05-14 00:48:51 -04:00
Brian Anderson
aaf41815b1 rustc: Dispose intrinsics memory buffer 2011-05-14 00:29:24 -04:00
Brian Anderson
371dbf9834 rustc: Dispose the intrinsics LLVMModuleRef 2011-05-14 00:22:44 -04:00
Brian Anderson
0b73b29383 rt: Don't overshoot the end of the logging spec during parsing 2011-05-13 23:22:29 -04:00
Brian Anderson
9e9d57657d rt: Allocate room for null terminator in logging spec 2011-05-13 23:22:25 -04:00
Patrick Walton
85120d9959 rustc: Look types up in the side table 2011-05-13 18:46:44 -07:00
Graydon Hoare
6997adf763 Remove rustboot from the repository. 2011-05-13 18:38:28 -07:00
Patrick Walton
ef75860a0a rustc: Write nil types into the node type table wherever plain_ann() is used 2011-05-13 17:55:07 -07:00
Lindsey Kuper
5679f5c55e 'with' no longer a token; whitespace police.
Plus renaming the anonymous objects test to a more descriptive name,
and XFAILing it because it doesn't work yet.
2011-05-13 17:37:01 -07:00
Lindsey Kuper
cd31d5d532 More anon obj work; whitespace police in middle::fold
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-13 17:35:13 -07:00
Lindsey Kuper
814b17352c Use new module namespace syntax. 2011-05-13 17:35:13 -07:00
Lindsey Kuper
b6f35c6a4b More work toward anonymous objects. 2011-05-13 17:35:13 -07:00
Lindsey Kuper
d3242b9644 Bug fixes.
Fixed infinite loop on anonymous objects in parser; added
expr_anon_obj to walk.rs; fixed syntax of test case.
2011-05-13 17:35:13 -07:00
Lindsey Kuper
6c1c5b3948 More progress on anonymous objects.
Still segfaulting on the method-overriding.rs test, though.
2011-05-13 17:35:13 -07:00
Lindsey Kuper
6a53e39e71 Correct capitalization of "Option". 2011-05-13 17:35:12 -07:00
Lindsey Kuper
7c2979e26f Starting on support for anonymous objects. Just syntax so far. 2011-05-13 17:35:12 -07:00
Graydon Hoare
ae784df3ce Add support for 'T' transition snapshots, which are identical to S snapshots except they tell the makefile to stop at stage1. 2011-05-13 17:06:58 -07:00
Patrick Walton
fac1342513 rustc: Move replace_expr_type() from ty to typeck, as it's only used in the latter 2011-05-13 17:06:30 -07:00
Brian Anderson
843e9435ab rustc: Fix long lines in typeck.rs 2011-05-13 20:06:02 -04:00
Patrick Walton
23d3b0ec57 rustc: Get ann_to_type_params() on board the ann_to_ty_param_substs_opt_and_ty() train 2011-05-13 16:53:35 -07:00
Patrick Walton
0739849e9f rustc: Make all type lookups go through the one ty::ann_to_ty_param_substs_opt_and_ty() function 2011-05-13 16:40:21 -07:00
Patrick Walton
4f2eb31870 rustc: Write types contained in "trivial annotations" to the table 2011-05-13 16:27:55 -07:00
Patrick Walton
e888fe6f9b rustc: Change ty::triv_ann() to take a node ID instead of a full annotation 2011-05-13 14:39:00 -07:00
Brian Anderson
2f440b1452 rustc: lowercase the link and link::write modules 2011-05-13 16:55:37 -04:00
Graydon Hoare
0d32ff723a Slight adjustments to shape, rename to type_glue.rs. 2011-05-13 13:29:50 -07:00
Patrick Walton
c97b05141a rustc: Add write_type() wherever ann_types are written, except for triv_ann() 2011-05-13 13:06:34 -07:00
Marijn Haverbeke
7647b838a1 Remove reserved word tests (since reserved words were removed)
Ping me if you disagree, but I think that in a language that's as
in-flux as rust currently is, it is silly to try and enforce a single
future-compatibility. The reserved words didn't work well with the
parser refactor, so I dropped them for the time being. We can,
eventually, bring them back as type-only reserved words.
2011-05-13 22:00:13 +02:00
Marijn Haverbeke
571afe71ba Safeguard against using statement or item keywords as value ids
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-13 22:00:13 +02:00
Marijn Haverbeke
57ffa2a487 Make the parser more careful about keywords
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-13 22:00:13 +02:00
Patrick Walton
be9aa1cc5e rustc: Fix the type of node_types; stub the write_type function 2011-05-13 12:12:54 -07:00
Patrick Walton
6e34679a65 rustc: Remove a minor rustboot workaround in typeck::resolve_local_types_in_block() 2011-05-13 11:23:00 -07:00
Brian Anderson
c124404d0e Fix naming of libc that was mangled by recent module changes
It doesn't appear that rustc makes use of these strings so it didn't actually
break anything yet.
2011-05-13 13:55:57 -04:00
Patrick Walton
8a8f68aa75 rustc: Make typeck::instantiate_path() not return an annotation 2011-05-13 10:53:55 -07:00
Marijn Haverbeke
ae26b775b4 Implement module namespaces
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-13 17:20:46 +02:00
Marijn Haverbeke
eb419fd8c7 Extend crate format to allow multiple definitions for a single name
The type/value namespace distinction pretty much works now. Module
namespace is up next.
2011-05-13 17:20:39 +02:00
Marijn Haverbeke
1a12a7b04b Make module indices hold a list of items
This way, they can support having both a type and a value
of the same name.
2011-05-13 13:34:59 +02:00