rust/src/libsyntax
Nicholas Nethercote 7bcb0cffb6 In JSON output, emit a directive after metadata is generated.
To implement pipelining, Cargo needs to know when metadata generation is
finished. This commit adds code to do that. Unfortunately, metadata file
writing currently occurs very late during compilation, so pipelining
won't produce a speed-up. Moving metadata file writing earlier will be a
follow-up.

The change involves splitting the existing `Emitter::emit` method in
two: `Emitter::emit_diagnostic` and `Emitter::emit_directive`.

The JSON directives look like this:
```
{"directive":"metadata file written: liba.rmeta"}
```
The functionality is behind the `-Z emit-directives` option, and also
requires `--error-format=json`.
2019-04-30 08:51:57 +10:00
..
attr Add rustc_allow_const_fn_ptr 2019-04-23 15:55:31 -07:00
diagnostics remove lookup_char_pos_adj 2019-04-05 23:16:09 +03:00
ext Introduce ArgSource for diagnostics. 2019-04-21 16:46:32 +01:00
parse Rollup merge of #60186 - estebank:accept-suffix, r=nikomatsakis 2019-04-24 05:16:22 +02:00
print Rollup merge of #59823 - davidtwco:issue-54716, r=cramertj 2019-04-23 21:50:52 +02:00
util rustc: doc comments 2019-02-10 23:42:32 +00:00
ast.rs Rollup merge of #59823 - davidtwco:issue-54716, r=cramertj 2019-04-23 21:50:52 +02:00
build.rs Remove licenses 2018-12-25 21:08:33 -07:00
Cargo.toml Preallocate BUILTIN_ATTRIBUTES symbols and use a hash map instead of looping 2019-04-15 15:20:05 +02:00
config.rs Separate variant id and variant constructor id. 2019-03-24 12:10:16 +03:00
early_buffered_lints.rs make duplicate matcher bindings a hard error 2019-04-10 21:29:17 -05:00
entry.rs libsyntax => 2018 2019-02-07 02:33:01 +09:00
error_codes.rs Rename diagnositc_list into error_codes 2019-04-18 06:21:30 +09:00
feature_gate.rs Enable migrate mode by default on the 2015 edition 2019-04-21 20:50:02 +01:00
json.rs In JSON output, emit a directive after metadata is generated. 2019-04-30 08:51:57 +10:00
lib.rs Auto merge of #60025 - JohnTitor:rename-files, r=petrochenkov 2019-04-18 14:52:45 +00:00
mut_visit.rs Introduce ArgSource for diagnostics. 2019-04-21 16:46:32 +01:00
ptr.rs Fix fallout from #57667 2019-03-09 18:23:17 +09:00
README.md rustc-guide has moved 2018-11-26 15:03:13 -06:00
show_span.rs Rename rustc_errors dependency in rust 2018 crates 2019-02-13 00:28:52 +09:00
source_map.rs remove lookup_char_pos_adj 2019-04-05 23:16:09 +03:00
std_inject.rs Use Rc<[Symbol]> instead of Vec<Symbol> to reduce # of allocs 2019-02-11 15:08:17 +01:00
test.rs Fix comments around test harness generation 2019-04-17 12:02:04 +03:00
test_snippet.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
tokenstream.rs Add guard for missing comma in macro call suggestion 2019-04-24 16:45:29 -07:00
visit.rs Introduce ArgSource for diagnostics. 2019-04-21 16:46:32 +01:00

The syntax crate contains those things concerned purely with syntax that is, the AST ("abstract syntax tree"), parser, pretty-printer, lexer, macro expander, and utilities for traversing ASTs.

For more information about how these things work in rustc, see the rustc guide: