Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(281)

Side by Side Diff: pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart

Issue 2823003003: Remove Compiler and JavaScriptBackend from field_visitor. (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/program_builder/field_visitor.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 dart2js.js_emitter.program_builder; 5 library dart2js.js_emitter.program_builder;
6 6
7 import '../../closure.dart' show ClosureTask, ClosureFieldElement; 7 import '../../closure.dart' show ClosureTask, ClosureFieldElement;
8 import '../../common.dart'; 8 import '../../common.dart';
9 import '../../common/names.dart' show Names, Selectors; 9 import '../../common/names.dart' show Names, Selectors;
10 import '../../compiler.dart' show Compiler; 10 import '../../compiler.dart' show Compiler;
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 } 544 }
545 545
546 Class _buildClass(ClassElement element) { 546 Class _buildClass(ClassElement element) {
547 bool onlyForRti = collector.classesOnlyNeededForRti.contains(element); 547 bool onlyForRti = collector.classesOnlyNeededForRti.contains(element);
548 bool hasRtiField = _rtiNeed.classNeedsRtiField(element); 548 bool hasRtiField = _rtiNeed.classNeedsRtiField(element);
549 if (_nativeData.isJsInteropClass(element)) { 549 if (_nativeData.isJsInteropClass(element)) {
550 // TODO(jacobr): check whether the class has any active static fields 550 // TODO(jacobr): check whether the class has any active static fields
551 // if it does not we can suppress it completely. 551 // if it does not we can suppress it completely.
552 onlyForRti = true; 552 onlyForRti = true;
553 } 553 }
554 bool isClosureBaseClass = element == _compiler.commonElements.closureClass; 554 bool isClosureBaseClass = element == _commonElements.closureClass;
555 555
556 List<Method> methods = []; 556 List<Method> methods = [];
557 List<StubMethod> callStubs = <StubMethod>[]; 557 List<StubMethod> callStubs = <StubMethod>[];
558 558
559 ClassStubGenerator classStubGenerator = new ClassStubGenerator( 559 ClassStubGenerator classStubGenerator = new ClassStubGenerator(
560 _namer, _backend, _worldBuilder, _closedWorld, 560 _namer, _backend, _worldBuilder, _closedWorld,
561 enableMinification: _options.enableMinification); 561 enableMinification: _options.enableMinification);
562 RuntimeTypeGenerator runtimeTypeGenerator = new RuntimeTypeGenerator( 562 RuntimeTypeGenerator runtimeTypeGenerator = new RuntimeTypeGenerator(
563 _commonElements, 563 _commonElements,
564 _closureToClassMapper, 564 _closureToClassMapper,
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
910 Set<ClassEntity> classes = 910 Set<ClassEntity> classes =
911 _oneShotInterceptorData.getSpecializedGetInterceptorsFor(name); 911 _oneShotInterceptorData.getSpecializedGetInterceptorsFor(name);
912 js.Expression code = stubGenerator.generateGetInterceptorMethod(classes); 912 js.Expression code = stubGenerator.generateGetInterceptorMethod(classes);
913 return new StaticStubMethod(name, holder, code); 913 return new StaticStubMethod(name, holder, code);
914 }); 914 });
915 } 915 }
916 916
917 List<Field> _buildFields(Element holder, 917 List<Field> _buildFields(Element holder,
918 {bool visitStatics, bool isHolderInterceptedClass: false}) { 918 {bool visitStatics, bool isHolderInterceptedClass: false}) {
919 List<Field> fields = <Field>[]; 919 List<Field> fields = <Field>[];
920 new FieldVisitor(_compiler, _namer, _closedWorld) 920 new FieldVisitor(_options, _worldBuilder, _nativeData, _mirrorsData, _namer,
921 _closedWorld)
921 .visitFields(holder, visitStatics, (FieldElement field, 922 .visitFields(holder, visitStatics, (FieldElement field,
922 js.Name name, 923 js.Name name,
923 js.Name accessorName, 924 js.Name accessorName,
924 bool needsGetter, 925 bool needsGetter,
925 bool needsSetter, 926 bool needsSetter,
926 bool needsCheckedSetter) { 927 bool needsCheckedSetter) {
927 assert(invariant(field, field.isDeclaration)); 928 assert(invariant(field, field.isDeclaration));
928 929
929 int getterFlags = 0; 930 int getterFlags = 0;
930 if (needsGetter) { 931 if (needsGetter) {
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
1055 Constant constant = new Constant(name, holder, constantValue); 1056 Constant constant = new Constant(name, holder, constantValue);
1056 _constants[constantValue] = constant; 1057 _constants[constantValue] = constant;
1057 } 1058 }
1058 } 1059 }
1059 1060
1060 Holder _registerStaticStateHolder() { 1061 Holder _registerStaticStateHolder() {
1061 return _registry.registerHolder(_namer.staticStateHolder, 1062 return _registry.registerHolder(_namer.staticStateHolder,
1062 isStaticStateHolder: true); 1063 isStaticStateHolder: true);
1063 } 1064 }
1064 } 1065 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/program_builder/field_visitor.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698