Commit Graph

7760 Commits

Author SHA1 Message Date
Marijn Haverbeke
888262b337 Allow operator overloading of the indexing operator
The method `op_index` (which takes a single argument) is used for
this.

Issue #1520
2012-01-26 15:23:11 +01:00
Marijn Haverbeke
87b064b249 First stab at operator overloading
When no built-in interpretation is found for one of the operators
mentioned below, the typechecker will try to turn it into a method
call with the name written next to it. For binary operators, the
method will be called on the LHS with the RHS as only parameter.

Binary:

    +   op_add
    -   op_sub
    *   op_mul
    /   op_div
    %   op_rem
    &   op_and
    |   op_or
    ^   op_xor
    <<  op_shift_left
    >>  op_shift_right
    >>> op_ashift_right

Unary:

    -   op_neg
    !   op_not

Overloading of the indexing ([]) operator isn't finished yet.

Issue #1520
2012-01-26 14:25:06 +01:00
Marijn Haverbeke
1792d9ec96 Use string stored in codemap for pretty-printing comments and literals
Closes #1665
2012-01-26 10:52:08 +01:00
Marijn Haverbeke
ec4d05de3b Remove ty_native_fn
It was being used as a clumsy synonym of ty_fn.
2012-01-26 10:37:50 +01:00
Brian Anderson
566a4be1f8 rustdoc: Add some test enums to demo module 2012-01-25 21:04:53 -08:00
Brian Anderson
74e8b11194 rustdoc: Write markdown for enums 2012-01-25 21:04:53 -08:00
Brian Anderson
d6ce20973a rustdoc: Apply general string ops to enum docs 2012-01-25 21:04:53 -08:00
Brian Anderson
53c6454de5 rustdoc: Extract brief enum descs from long descs 2012-01-25 21:04:53 -08:00
Brian Anderson
1d94f40c6c rustdoc: Prune undocumented enums 2012-01-25 21:04:53 -08:00
Brian Anderson
95a006ce52 rustdoc: Add enum doc attributes to the doc tree 2012-01-25 21:04:53 -08:00
Brian Anderson
a25bc195e2 rustdoc: Parse variant doc attributes 2012-01-25 21:04:53 -08:00
Brian Anderson
87c3a5c1a3 rustdoc: Extract some common functions from attr_parser 2012-01-25 21:04:52 -08:00
Brian Anderson
259ea4e4b4 rustdoc: Parse enum doc attributes 2012-01-25 21:04:52 -08:00
Brian Anderson
5166cc29e9 rustdoc: Fix a copy&paste bug in attr_parser tests 2012-01-25 21:04:52 -08:00
Brian Anderson
0b9f2a8215 rustdoc: Extract variant signatures 2012-01-25 21:04:49 -08:00
Brian Anderson
b7b8455e54 rustc: Add pprust::variant_to_str 2012-01-25 17:22:08 -08:00
Brian Anderson
1586cce0ea rustdoc: Add enum folding 2012-01-25 16:56:28 -08:00
Brian Anderson
e946792a78 rustdoc: Extract enum doc nodes from AST nodes 2012-01-25 16:50:32 -08:00
Brian Anderson
2999479a2d rustc: Allow attributes on enum variants. Closes #1663 2012-01-25 16:24:06 -08:00
Brian Anderson
08c6cb5f70 Merge pull request #1664 from kevina/issue-1612
See Issue #1612
2012-01-25 15:22:10 -08:00
Kevin Atkinson
60a146bf0f Correctly increment sess.byte_pos. 2012-01-25 16:01:58 -07:00
Kevin Atkinson
c5e03e0e59 Keep source file around after parsing.
Specifically box the string (to avoid unnecessary copies) and store it
in codemap::filemap.

Remove the hack in driver::diagnostic that rereads the source from the
file and instead just get the source from the filemap.

(This commit is also a prerequisite for issue #1612)
2012-01-25 16:00:47 -07:00
Brian Anderson
ab223e0618 Merge pull request #1627 from graydon/win32-quoting
Fix win32 command-line quoting on rust_run_program.
2012-01-25 14:33:10 -08:00
Tim Chevalier
746fa27988 In the tutorial install directions, mention that you may need to sudo make install 2012-01-25 13:49:32 -08:00
Brian Anderson
4168101b03 test: Un-xfail run-pass/tag-auto-disr-val-shape 2012-01-25 12:44:13 -08:00
Brian Anderson
19a9a475a6 test: Add regression test for #1659 2012-01-25 12:40:08 -08:00
Brian Anderson
ba7299ba65 test: Un-xfail run-pass/tag-disr-val-shape
Fixed by 96f1eda6d0
2012-01-25 12:34:37 -08:00
Marijn Haverbeke
2d4d8e8bdb Implement implicit self type parameters for ifaces
Closes #1661
2012-01-25 20:47:11 +01:00
Marijn Haverbeke
76aabbe99d Rename tag to enum throughout the compiler
This should reduce confusion of people trying to read the code.
2012-01-25 14:34:31 +01:00
Marijn Haverbeke
8420f8c52e Repair zero-variant tags
The parser no longer parsed them.
2012-01-25 14:10:33 +01:00
Marijn Haverbeke
2f0f6c782a Add bit-shifting ops to ast_util::eval_const_expr
Closes #1659
2012-01-25 13:19:32 +01:00
Joe Pletcher
edd86126f7 Added a small note to help explain tag's in older code. 2012-01-25 10:17:50 +01:00
Joe Pletcher
b02b65a547 Remove stale references to tags, replaced with enums. 2012-01-25 10:17:49 +01:00
Marijn Haverbeke
8ae4868419 Add Joe Pletcher to AUTHORS.txt 2012-01-25 10:17:12 +01:00
Joe Pletcher
3b9a9fce49 Remove reference to tags, replace enums. 2012-01-25 10:16:32 +01:00
Brian Anderson
61b5cc95d1 rustdoc: Add enums to the doc tree 2012-01-24 23:24:55 -08:00
Brian Anderson
b779277dae rustdoc: Add a pass to normalize indentation levels in doc comments 2012-01-24 23:24:54 -08:00
Brian Anderson
e869458914 rustdoc: Extract a general apply-function-to-strings pass from trim_pass 2012-01-24 23:24:54 -08:00
Brian Anderson
e7d7f4e4b7 rustdoc: Add a demo module with some test docs 2012-01-24 23:24:54 -08:00
Brian Anderson
45a668c439 rustdoc: Update tests for rustc diagnostic changes 2012-01-24 23:24:31 -08:00
Brian Anderson
0886b69b76 rustc: Bump the error count on non-span errors 2012-01-24 23:07:16 -08:00
Patrick Walton
9ecd5ee81d rustc: Split diagnostics into "span diagnostics" and "diagnostics".
The former contain a codemap (which is per-crate), and the latter don't. This
will be useful in order to allow more than one crate to be compiled in one run
of the compiler.
2012-01-24 21:42:54 -08:00
Brian Anderson
4d096a8c86 rustdoc: Rename gen module to markdown_pass 2012-01-24 18:18:14 -08:00
Brian Anderson
dc69355e99 rustdoc: Generate markdown for failure conditions 2012-01-24 18:17:06 -08:00
Brian Anderson
3310112169 rustdoc: Trim whitespace from failure conditions 2012-01-24 18:10:35 -08:00
Brian Anderson
a66bff6e81 rustdoc: Don't prune functions with documented failure conditions 2012-01-24 18:08:48 -08:00
Brian Anderson
efc067952d rustdoc: Add fn failure conditions to the doc tree 2012-01-24 18:05:57 -08:00
Brian Anderson
6d8058451b rustdoc: Parse fn failure conditions 2012-01-24 18:02:33 -08:00
Brian Anderson
fc64aefe0a rustdoc: Add a pass to trim whitespace from docs 2012-01-24 17:57:23 -08:00
Brian Anderson
cb44fa2a21 rustdoc: Add a pass that extracts brief docs from long docs
If the first paragraph of documentation is short then it will be used as the
brief description.
2012-01-24 17:57:23 -08:00