blob: 5d715a306abb82635d14a77804807da1a61cc931 [file] [log] [blame]
// 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 dart2js.js_emitter;
import 'package:js_ast/src/precedence.dart' as js_precedence;
import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames;
import 'package:js_runtime/shared/embedded_names.dart' show JsBuiltin;
import '../closure.dart'
show ClosureClassElement, ClosureClassMap, ClosureFieldElement;
import '../common.dart';
import '../common/names.dart' show Identifiers;
import '../common/tasks.dart' show CompilerTask;
import '../compiler.dart' show Compiler;
import '../constants/values.dart';
import '../core_types.dart' show CoreClasses;
import '../dart_types.dart'
show
DartType,
FunctionType,
InterfaceType,
TypedefType,
Types,
TypeVariableType;
import '../deferred_load.dart' show OutputUnit;
import '../elements/elements.dart'
show
ClassElement,
ConstructorElement,
Element,
ElementKind,
FieldElement,
FunctionElement,
FunctionSignature,
MetadataAnnotation,
MethodElement,
MixinApplicationElement,
ParameterElement,
TypeVariableElement;
import '../js/js.dart' as jsAst;
import '../js/js.dart' show js;
import '../js_backend/backend_helpers.dart' show BackendHelpers;
import '../js_backend/js_backend.dart'
show
CustomElementsAnalysis,
JavaScriptBackend,
JavaScriptConstantCompiler,
Namer,
RuntimeTypes,
RuntimeTypesEncoder,
Substitution,
TypeCheck,
TypeChecks,
TypeVariableHandler;
import '../universe/call_structure.dart' show CallStructure;
import '../universe/selector.dart' show Selector;
import '../universe/world_builder.dart'
show CodegenWorldBuilder, SelectorConstraints;
import '../util/util.dart' show Setlet;
import '../world.dart' show ClosedWorld;
import 'full_emitter/emitter.dart' as full_js_emitter;
import 'lazy_emitter/emitter.dart' as lazy_js_emitter;
import 'model.dart';
import 'program_builder/program_builder.dart';
import 'startup_emitter/emitter.dart' as startup_js_emitter;
part 'class_stub_generator.dart';
part 'code_emitter_task.dart';
part 'helpers.dart';
part 'interceptor_stub_generator.dart';
part 'main_call_stub_generator.dart';
part 'metadata_collector.dart';
part 'native_emitter.dart';
part 'native_generator.dart';
part 'parameter_stub_generator.dart';
part 'runtime_type_generator.dart';
part 'type_test_registry.dart';