From acfccc515bfbed098f46c6530d57aaef846b99ca Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Thu, 31 Dec 2015 14:43:42 +1300 Subject: [PATCH] Add a JSON error emitter --- src/libsyntax/errors/json.rs | 53 ++++++++++++++++++++++++++++++++++++ src/libsyntax/errors/mod.rs | 1 + 2 files changed, 54 insertions(+) create mode 100644 src/libsyntax/errors/json.rs diff --git a/src/libsyntax/errors/json.rs b/src/libsyntax/errors/json.rs new file mode 100644 index 00000000000..feae71f55d3 --- /dev/null +++ b/src/libsyntax/errors/json.rs @@ -0,0 +1,53 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! A JSON emitter for errors. + +use codemap::{Span, CodeMap}; +use diagnostics::registry::Registry; +use errors::{Level, DiagnosticBuilder, RenderSpan}; +use errors::emitter::Emitter; + +use std::rc::Rc; + +pub struct JsonEmitter { + todo: i32 +} + +impl JsonEmitter { + pub fn basic() -> JsonEmitter { + JsonEmitter { + todo: 42, + } + } + + pub fn stderr(registry: Option, + code_map: Rc) -> JsonEmitter { + JsonEmitter { + todo: 42, + } + } +} + +impl Emitter for JsonEmitter { + fn emit(&mut self, span: Option, msg: &str, code: Option<&str>, lvl: Level) { + unimplemented!(); + + } + + fn custom_emit(&mut self, sp: RenderSpan, msg: &str, lvl: Level) { + unimplemented!(); + + } + + fn emit_struct(&mut self, db: &DiagnosticBuilder) { + unimplemented!(); + } +} diff --git a/src/libsyntax/errors/mod.rs b/src/libsyntax/errors/mod.rs index a2fae975148..733798c197a 100644 --- a/src/libsyntax/errors/mod.rs +++ b/src/libsyntax/errors/mod.rs @@ -24,6 +24,7 @@ use term; pub mod emitter; +pub mod json; #[derive(Clone)] pub enum RenderSpan {