diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2016-09-27 11:45:50 +1300 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2016-09-28 16:20:30 +1300 |
| commit | e8a4db25acde9d2d23a4ebfb464d283d495b5b8d (patch) | |
| tree | 5f299d1e451fbdf7377ad9e10eae6cee5e071e51 /src/libsyntax/json.rs | |
| parent | 322b5530ba8a74e0363243da5cdc3d0ac43762d7 (diff) | |
| download | rust-e8a4db25acde9d2d23a4ebfb464d283d495b5b8d.tar.gz rust-e8a4db25acde9d2d23a4ebfb464d283d495b5b8d.zip | |
Allow supplying an error destination via the compiler driver
Allows replacing stderr with a buffer from the client. Also, some refactoring around run_compiler.
Diffstat (limited to 'src/libsyntax/json.rs')
| -rw-r--r-- | src/libsyntax/json.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/libsyntax/json.rs b/src/libsyntax/json.rs index a40c30b3e33..a1c273baeea 100644 --- a/src/libsyntax/json.rs +++ b/src/libsyntax/json.rs @@ -38,14 +38,24 @@ pub struct JsonEmitter { } impl JsonEmitter { + pub fn stderr(registry: Option<Registry>, + code_map: Rc<CodeMap>) -> JsonEmitter { + JsonEmitter { + dst: Box::new(io::stderr()), + registry: registry, + cm: code_map, + } + } + pub fn basic() -> JsonEmitter { JsonEmitter::stderr(None, Rc::new(CodeMap::new())) } - pub fn stderr(registry: Option<Registry>, - code_map: Rc<CodeMap>) -> JsonEmitter { + pub fn new(dst: Box<Write + Send>, + registry: Option<Registry>, + code_map: Rc<CodeMap>) -> JsonEmitter { JsonEmitter { - dst: Box::new(io::stderr()), + dst: dst, registry: registry, cm: code_map, } |
