// Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

/// Library that re-exports libraries used throughout the compiler regardless
/// of phase or subfunctionality.
library dart2js.common;

export 'diagnostics/diagnostic_listener.dart'
    show DiagnosticMessage, DiagnosticReporter;
export 'diagnostics/invariant.dart'
    show assertDebugMode, InternalErrorFunction, invariant;
export 'diagnostics/messages.dart' show MessageKind;
export 'diagnostics/source_span.dart' show SourceSpan;
export 'diagnostics/spannable.dart'
    show
        CURRENT_ELEMENT_SPANNABLE,
        NO_LOCATION_SPANNABLE,
        Spannable,
        SpannableAssertionFailure;
export 'helpers/helpers.dart';
