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

Side by Side Diff: pkg/compiler/lib/src/js_backend/mirrors_data.dart

Issue 2960723004: Handle super-method call (Closed)
Patch Set: Created 3 years, 5 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 import '../closure.dart'; 5 import '../closure.dart';
6 import '../common.dart'; 6 import '../common.dart';
7 import '../common_elements.dart'; 7 import '../common_elements.dart';
8 import '../compiler.dart'; 8 import '../compiler.dart';
9 import '../constants/values.dart'; 9 import '../constants/values.dart';
10 import '../elements/elements.dart'; 10 import '../elements/elements.dart';
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 * reflection locally when looking at the member: We lack the information by 536 * reflection locally when looking at the member: We lack the information by
537 * which classes a member is inherited. Called after resolution is complete. 537 * which classes a member is inherited. Called after resolution is complete.
538 * 538 *
539 * We filter out private libraries here, as their elements should not 539 * We filter out private libraries here, as their elements should not
540 * be visible by reflection unless some other interfaces makes them 540 * be visible by reflection unless some other interfaces makes them
541 * accessible. 541 * accessible.
542 */ 542 */
543 void computeMembersNeededForReflection( 543 void computeMembersNeededForReflection(
544 ResolutionWorldBuilder worldBuilder, ClosedWorld closedWorld) { 544 ResolutionWorldBuilder worldBuilder, ClosedWorld closedWorld) {
545 if (_membersNeededForReflection != null) return; 545 if (_membersNeededForReflection != null) return;
546 if (closedWorld.commonElements.mirrorsLibrary == null) { 546 if (!closedWorld.backendUsage.isMirrorsUsed) {
547 createImmutableSets(); 547 createImmutableSets();
548 return; 548 return;
549 } 549 }
550 _classesNeededForReflection = new Set<ClassElement>(); 550 _classesNeededForReflection = new Set<ClassElement>();
551 _typedefsNeededForReflection = new Set<TypedefElement>(); 551 _typedefsNeededForReflection = new Set<TypedefElement>();
552 _membersNeededForReflection = new Set<MemberElement>(); 552 _membersNeededForReflection = new Set<MemberElement>();
553 _closuresNeededForReflection = new Set<LocalFunctionElement>(); 553 _closuresNeededForReflection = new Set<LocalFunctionElement>();
554 554
555 // Compute a mapping from class to the closures it contains, so we 555 // Compute a mapping from class to the closures it contains, so we
556 // can include the correct ones when including the class. 556 // can include the correct ones when including the class.
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
704 } 704 }
705 705
706 /// Called when `const Symbol(name)` is seen. 706 /// Called when `const Symbol(name)` is seen.
707 void registerConstSymbol(String name) { 707 void registerConstSymbol(String name) {
708 symbolsUsed.add(name); 708 symbolsUsed.add(name);
709 if (name.endsWith('=')) { 709 if (name.endsWith('=')) {
710 symbolsUsed.add(name.substring(0, name.length - 1)); 710 symbolsUsed.add(name.substring(0, name.length - 1));
711 } 711 }
712 } 712 }
713 } 713 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698