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

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

Issue 1182053010: Revert "Split TypedSelector into Selector and TypeMask." (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 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
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 'js_emitter.dart' show computeMixinClass; 7 import 'js_emitter.dart' show computeMixinClass;
8 import 'model.dart'; 8 import 'model.dart';
9 9
10 import '../common.dart'; 10 import '../common.dart';
11 import '../js/js.dart' as js; 11 import '../js/js.dart' as js;
12 12
13 import '../js_backend/js_backend.dart' show 13 import '../js_backend/js_backend.dart' show
14 Namer, 14 Namer,
15 JavaScriptBackend, 15 JavaScriptBackend,
16 JavaScriptConstantCompiler; 16 JavaScriptConstantCompiler;
17 17
18 import 'js_emitter.dart' show 18 import 'js_emitter.dart' show
19 ClassStubGenerator, 19 ClassStubGenerator,
20 CodeEmitterTask, 20 CodeEmitterTask,
21 InterceptorStubGenerator, 21 InterceptorStubGenerator,
22 MainCallStubGenerator, 22 MainCallStubGenerator,
23 ParameterStubGenerator, 23 ParameterStubGenerator,
24 RuntimeTypeGenerator, 24 RuntimeTypeGenerator,
25 TypeTestProperties; 25 TypeTestProperties;
26 26
27 import '../elements/elements.dart' show ParameterElement, MethodElement; 27 import '../elements/elements.dart' show ParameterElement, MethodElement;
28 28
29 import '../universe/universe.dart' show Universe, TypeMaskSet; 29 import '../universe/universe.dart' show Universe;
30 import '../deferred_load.dart' show DeferredLoadTask, OutputUnit; 30 import '../deferred_load.dart' show DeferredLoadTask, OutputUnit;
31 31
32 part 'registry.dart'; 32 part 'registry.dart';
33 33
34 class ProgramBuilder { 34 class ProgramBuilder {
35 final Compiler _compiler; 35 final Compiler _compiler;
36 final Namer namer; 36 final Namer namer;
37 final CodeEmitterTask _task; 37 final CodeEmitterTask _task;
38 38
39 final Registry _registry; 39 final Registry _registry;
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 void visitMember(ClassElement enclosing, Element member) { 329 void visitMember(ClassElement enclosing, Element member) {
330 assert(invariant(element, member.isDeclaration)); 330 assert(invariant(element, member.isDeclaration));
331 assert(invariant(element, element == enclosing)); 331 assert(invariant(element, element == enclosing));
332 332
333 if (Elements.isNonAbstractInstanceMember(member)) { 333 if (Elements.isNonAbstractInstanceMember(member)) {
334 // TODO(herhut): Remove once _buildMethod can no longer return null. 334 // TODO(herhut): Remove once _buildMethod can no longer return null.
335 Method method = _buildMethod(member); 335 Method method = _buildMethod(member);
336 if (method != null) methods.add(method); 336 if (method != null) methods.add(method);
337 } 337 }
338 if (member.isGetter || member.isField) { 338 if (member.isGetter || member.isField) {
339 Map<Selector, TypeMaskSet> selectors = 339 Set<Selector> selectors =
340 _compiler.codegenWorld.invocationsByName(member.name); 340 _compiler.codegenWorld.invokedNames[member.name];
341 if (selectors != null && !selectors.isEmpty) { 341 if (selectors != null && !selectors.isEmpty) {
342 342
343 Map<String, js.Expression> callStubsForMember = 343 Map<String, js.Expression> callStubsForMember =
344 classStubGenerator.generateCallStubsForGetter(member, selectors); 344 classStubGenerator.generateCallStubsForGetter(member, selectors);
345 callStubsForMember.forEach((String name, js.Expression code) { 345 callStubsForMember.forEach((String name, js.Expression code) {
346 callStubs.add(_buildStubMethod(name, code, element: member)); 346 callStubs.add(_buildStubMethod(name, code, element: member));
347 }); 347 });
348 } 348 }
349 } 349 }
350 } 350 }
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 _registry.registerConstant(outputUnit, constantValue); 753 _registry.registerConstant(outputUnit, constantValue);
754 assert(!_constants.containsKey(constantValue)); 754 assert(!_constants.containsKey(constantValue));
755 String name = namer.constantName(constantValue); 755 String name = namer.constantName(constantValue);
756 String constantObject = namer.globalObjectForConstant(constantValue); 756 String constantObject = namer.globalObjectForConstant(constantValue);
757 Holder holder = _registry.registerHolder(constantObject); 757 Holder holder = _registry.registerHolder(constantObject);
758 Constant constant = new Constant(name, holder, constantValue); 758 Constant constant = new Constant(name, holder, constantValue);
759 _constants[constantValue] = constant; 759 _constants[constantValue] = constant;
760 } 760 }
761 } 761 }
762 } 762 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/parameter_stub_generator.dart ('k') | pkg/compiler/lib/src/resolution/members.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698