// 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.

// @dart = 2.10

library dart2js.js_emitter;

export 'class_stub_generator.dart';
export 'code_emitter_task.dart';
export 'instantiation_stub_generator.dart';
export 'interceptor_stub_generator.dart';
export 'main_call_stub_generator.dart';
export 'metadata_collector.dart';
export 'native_emitter.dart';
export 'native_generator.dart';
export 'parameter_stub_generator.dart';
export 'runtime_type_generator.dart';
