| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 library kernel.class_hierarchy; | 4 library kernel.class_hierarchy; |
| 5 | 5 |
| 6 import 'ast.dart'; | 6 import 'ast.dart'; |
| 7 import 'dart:math'; | 7 import 'dart:math'; |
| 8 import 'dart:typed_data'; | 8 import 'dart:typed_data'; |
| 9 import 'type_algebra.dart'; | 9 import 'type_algebra.dart'; |
| 10 | 10 |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 result[storeIndex++] = inheritedMember; | 408 result[storeIndex++] = inheritedMember; |
| 409 ++j; | 409 ++j; |
| 410 } else { | 410 } else { |
| 411 result[storeIndex++] = declaredMember; | 411 result[storeIndex++] = declaredMember; |
| 412 ++i; | 412 ++i; |
| 413 ++j; // Move past overridden member. | 413 ++j; // Move past overridden member. |
| 414 } | 414 } |
| 415 } | 415 } |
| 416 // One of the two lists is now exhausted, copy over the remains. | 416 // One of the two lists is now exhausted, copy over the remains. |
| 417 while (i < declared.length) { | 417 while (i < declared.length) { |
| 418 result[storeIndex++] = declared[i++]; | 418 Member declaredMember = declared[i++]; |
| 419 if (skipAbstractMembers && declaredMember.isAbstract) continue; |
| 420 result[storeIndex++] = declaredMember; |
| 419 } | 421 } |
| 420 while (j < inherited.length) { | 422 while (j < inherited.length) { |
| 421 result[storeIndex++] = inherited[j++]; | 423 Member inheritedMember = inherited[j++]; |
| 424 if (skipAbstractMembers && inheritedMember.isAbstract) continue; |
| 425 result[storeIndex++] = inheritedMember; |
| 422 } | 426 } |
| 423 result.length = storeIndex; | 427 result.length = storeIndex; |
| 424 return result; | 428 return result; |
| 425 } | 429 } |
| 426 | 430 |
| 427 /// Returns the subset of members in [inherited] for which a member with the | 431 /// Returns the subset of members in [inherited] for which a member with the |
| 428 /// same name does not occur in [declared]. | 432 /// same name does not occur in [declared]. |
| 429 /// | 433 /// |
| 430 /// The input lists must be sorted, and the returned list is sorted. | 434 /// The input lists must be sorted, and the returned list is sorted. |
| 431 static List<Member> _getUnshadowedInheritedMembers( | 435 static List<Member> _getUnshadowedInheritedMembers( |
| (...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 843 | 847 |
| 844 /// Non-final instance fields and setters implemented by this class | 848 /// Non-final instance fields and setters implemented by this class |
| 845 /// (declared or inherited). | 849 /// (declared or inherited). |
| 846 List<Member> implementedSetters; | 850 List<Member> implementedSetters; |
| 847 | 851 |
| 848 List<Member> interfaceGettersAndCalls; | 852 List<Member> interfaceGettersAndCalls; |
| 849 List<Member> interfaceSetters; | 853 List<Member> interfaceSetters; |
| 850 | 854 |
| 851 _ClassInfo(this.classNode); | 855 _ClassInfo(this.classNode); |
| 852 } | 856 } |
| OLD | NEW |