OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library js_backend.backend; | 5 library js_backend.backend; |
6 | 6 |
7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; |
8 | 8 |
9 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; | 9 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; |
10 | 10 |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
499 useMultiSourceInfo: useMultiSourceInfo, | 499 useMultiSourceInfo: useMultiSourceInfo, |
500 useNewSourceInfo: useNewSourceInfo), | 500 useNewSourceInfo: useNewSourceInfo), |
501 frontend = new JSFrontendAccess(compiler), | 501 frontend = new JSFrontendAccess(compiler), |
502 constantCompilerTask = new JavaScriptConstantTask(compiler), | 502 constantCompilerTask = new JavaScriptConstantTask(compiler), |
503 _nativeDataResolver = new NativeDataResolverImpl(compiler) { | 503 _nativeDataResolver = new NativeDataResolverImpl(compiler) { |
504 _target = new JavaScriptBackendTarget(this); | 504 _target = new JavaScriptBackendTarget(this); |
505 helpers = new BackendHelpers(compiler.elementEnvironment, commonElements); | 505 helpers = new BackendHelpers(compiler.elementEnvironment, commonElements); |
506 impacts = new BackendImpacts(compiler.options, commonElements, helpers); | 506 impacts = new BackendImpacts(compiler.options, commonElements, helpers); |
507 _mirrorsData = new MirrorsDataImpl( | 507 _mirrorsData = new MirrorsDataImpl( |
508 compiler, compiler.options, commonElements, helpers, constants); | 508 compiler, compiler.options, commonElements, helpers, constants); |
509 _backendUsageBuilder = new BackendUsageBuilderImpl( | 509 _backendUsageBuilder = new BackendUsageBuilderImpl(commonElements, helpers); |
510 compiler.elementEnvironment, commonElements, helpers); | |
511 _checkedModeHelpers = new CheckedModeHelpers(commonElements, helpers); | 510 _checkedModeHelpers = new CheckedModeHelpers(commonElements, helpers); |
512 emitter = | 511 emitter = |
513 new CodeEmitterTask(compiler, generateSourceMap, useStartupEmitter); | 512 new CodeEmitterTask(compiler, generateSourceMap, useStartupEmitter); |
514 | 513 |
515 _typeVariableResolutionAnalysis = new TypeVariableResolutionAnalysis( | 514 _typeVariableResolutionAnalysis = new TypeVariableResolutionAnalysis( |
516 compiler.elementEnvironment, impacts, backendUsageBuilder); | 515 compiler.elementEnvironment, impacts, backendUsageBuilder); |
517 jsInteropAnalysis = new JsInteropAnalysis(this); | 516 jsInteropAnalysis = new JsInteropAnalysis(this); |
518 _mirrorsResolutionAnalysis = | 517 _mirrorsResolutionAnalysis = |
519 new MirrorsResolutionAnalysisImpl(this, compiler.resolution); | 518 new MirrorsResolutionAnalysisImpl(this, compiler.resolution); |
520 lookupMapResolutionAnalysis = | 519 lookupMapResolutionAnalysis = |
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
907 compiler.elementEnvironment, | 906 compiler.elementEnvironment, |
908 commonElements, | 907 commonElements, |
909 impacts, | 908 impacts, |
910 nativeBasicData, | 909 nativeBasicData, |
911 nativeResolutionEnqueuer, | 910 nativeResolutionEnqueuer, |
912 backendUsageBuilder, | 911 backendUsageBuilder, |
913 mirrorsDataBuilder, | 912 mirrorsDataBuilder, |
914 customElementsResolutionAnalysis, | 913 customElementsResolutionAnalysis, |
915 rtiNeedBuilder); | 914 rtiNeedBuilder); |
916 _interceptorDataBuilder = new InterceptorDataBuilderImpl( | 915 _interceptorDataBuilder = new InterceptorDataBuilderImpl( |
917 nativeBasicData, | 916 nativeBasicData, helpers, compiler.elementEnvironment, commonElements); |
918 helpers, | |
919 compiler.elementEnvironment, | |
920 commonElements, | |
921 compiler.resolution); | |
922 return new ResolutionEnqueuer( | 917 return new ResolutionEnqueuer( |
923 task, | 918 task, |
924 compiler.options, | 919 compiler.options, |
925 compiler.reporter, | 920 compiler.reporter, |
926 compiler.options.analyzeOnly && compiler.options.analyzeMain | 921 compiler.options.analyzeOnly && compiler.options.analyzeMain |
927 ? const DirectEnqueuerStrategy() | 922 ? const DirectEnqueuerStrategy() |
928 : const TreeShakingEnqueuerStrategy(), | 923 : const TreeShakingEnqueuerStrategy(), |
929 new ResolutionEnqueuerListener( | 924 new ResolutionEnqueuerListener( |
930 compiler.options, | 925 compiler.options, |
931 compiler.elementEnvironment, | 926 compiler.elementEnvironment, |
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1616 return _backend.defaultSuperclass(element); | 1611 return _backend.defaultSuperclass(element); |
1617 } | 1612 } |
1618 | 1613 |
1619 @override | 1614 @override |
1620 bool isNativeClass(ClassEntity element) => | 1615 bool isNativeClass(ClassEntity element) => |
1621 _backend.nativeBasicData.isNativeClass(element); | 1616 _backend.nativeBasicData.isNativeClass(element); |
1622 | 1617 |
1623 @override | 1618 @override |
1624 bool isForeign(Element element) => _backend.isForeign(element); | 1619 bool isForeign(Element element) => _backend.isForeign(element); |
1625 } | 1620 } |
OLD | NEW |