| OLD | NEW |
| 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 part of world_builder; | 5 part of world_builder; |
| 6 | 6 |
| 7 /// World builder specific to codegen. | 7 /// World builder specific to codegen. |
| 8 /// | 8 /// |
| 9 /// This adds additional access to liveness of selectors and elements. | 9 /// This adds additional access to liveness of selectors and elements. |
| 10 abstract class CodegenWorldBuilder implements WorldBuilder { | 10 abstract class CodegenWorldBuilder implements WorldBuilder { |
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 staticFunctionsNeedingGetter.add(staticUse.element); | 342 staticFunctionsNeedingGetter.add(staticUse.element); |
| 343 break; | 343 break; |
| 344 case StaticUseKind.SUPER_TEAR_OFF: | 344 case StaticUseKind.SUPER_TEAR_OFF: |
| 345 methodsNeedingSuperGetter.add(staticUse.element); | 345 methodsNeedingSuperGetter.add(staticUse.element); |
| 346 break; | 346 break; |
| 347 case StaticUseKind.SUPER_FIELD_SET: | 347 case StaticUseKind.SUPER_FIELD_SET: |
| 348 case StaticUseKind.FIELD_SET: | 348 case StaticUseKind.FIELD_SET: |
| 349 case StaticUseKind.GENERAL: | 349 case StaticUseKind.GENERAL: |
| 350 case StaticUseKind.DIRECT_USE: | 350 case StaticUseKind.DIRECT_USE: |
| 351 case StaticUseKind.CLOSURE: | 351 case StaticUseKind.CLOSURE: |
| 352 case StaticUseKind.CALL_METHOD: |
| 352 case StaticUseKind.FIELD_GET: | 353 case StaticUseKind.FIELD_GET: |
| 353 case StaticUseKind.CONSTRUCTOR_INVOKE: | 354 case StaticUseKind.CONSTRUCTOR_INVOKE: |
| 354 case StaticUseKind.CONST_CONSTRUCTOR_INVOKE: | 355 case StaticUseKind.CONST_CONSTRUCTOR_INVOKE: |
| 355 case StaticUseKind.REDIRECTION: | 356 case StaticUseKind.REDIRECTION: |
| 356 case StaticUseKind.DIRECT_INVOKE: | 357 case StaticUseKind.DIRECT_INVOKE: |
| 357 case StaticUseKind.INLINING: | 358 case StaticUseKind.INLINING: |
| 358 break; | 359 break; |
| 359 } | 360 } |
| 360 } | 361 } |
| 361 | 362 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 372 } | 373 } |
| 373 }); | 374 }); |
| 374 EnumSet<MemberUse> useSet = new EnumSet<MemberUse>(); | 375 EnumSet<MemberUse> useSet = new EnumSet<MemberUse>(); |
| 375 switch (staticUse.kind) { | 376 switch (staticUse.kind) { |
| 376 case StaticUseKind.STATIC_TEAR_OFF: | 377 case StaticUseKind.STATIC_TEAR_OFF: |
| 377 useSet.addAll(usage.tearOff()); | 378 useSet.addAll(usage.tearOff()); |
| 378 break; | 379 break; |
| 379 case StaticUseKind.FIELD_GET: | 380 case StaticUseKind.FIELD_GET: |
| 380 case StaticUseKind.FIELD_SET: | 381 case StaticUseKind.FIELD_SET: |
| 381 case StaticUseKind.CLOSURE: | 382 case StaticUseKind.CLOSURE: |
| 383 case StaticUseKind.CALL_METHOD: |
| 382 // TODO(johnniwinther): Avoid this. Currently [FIELD_GET] and | 384 // TODO(johnniwinther): Avoid this. Currently [FIELD_GET] and |
| 383 // [FIELD_SET] contains [BoxFieldElement]s which we cannot enqueue. | 385 // [FIELD_SET] contains [BoxFieldElement]s which we cannot enqueue. |
| 384 // Also [CLOSURE] contains [LocalFunctionElement] which we cannot | 386 // Also [CLOSURE] contains [LocalFunctionElement] which we cannot |
| 385 // enqueue. | 387 // enqueue. |
| 386 break; | 388 break; |
| 387 case StaticUseKind.SUPER_FIELD_SET: | 389 case StaticUseKind.SUPER_FIELD_SET: |
| 388 case StaticUseKind.SUPER_TEAR_OFF: | 390 case StaticUseKind.SUPER_TEAR_OFF: |
| 389 case StaticUseKind.GENERAL: | 391 case StaticUseKind.GENERAL: |
| 390 case StaticUseKind.DIRECT_USE: | 392 case StaticUseKind.DIRECT_USE: |
| 391 useSet.addAll(usage.normalUse()); | 393 useSet.addAll(usage.normalUse()); |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 656 | 658 |
| 657 @override | 659 @override |
| 658 void forEachInstanceField( | 660 void forEachInstanceField( |
| 659 ClassEntity cls, void f(ClassEntity declarer, FieldEntity field)) { | 661 ClassEntity cls, void f(ClassEntity declarer, FieldEntity field)) { |
| 660 _elementEnvironment.forEachClassMember(cls, | 662 _elementEnvironment.forEachClassMember(cls, |
| 661 (ClassEntity declarer, MemberEntity member) { | 663 (ClassEntity declarer, MemberEntity member) { |
| 662 if (member.isField && member.isInstanceMember) f(declarer, member); | 664 if (member.isField && member.isInstanceMember) f(declarer, member); |
| 663 }); | 665 }); |
| 664 } | 666 } |
| 665 } | 667 } |
| OLD | NEW |