OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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.compiler_base; | 5 library dart2js.compiler_base; |
6 | 6 |
7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; |
8 | 8 |
9 import '../compiler_new.dart' as api; | 9 import '../compiler_new.dart' as api; |
10 import 'closure.dart' as closureMapping show ClosureTask; | 10 import 'closure.dart' as closureMapping show ClosureTask; |
(...skipping 1876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1887 void forEachClassMember( | 1887 void forEachClassMember( |
1888 ClassElement cls, void f(ClassElement declarer, MemberElement member)) { | 1888 ClassElement cls, void f(ClassElement declarer, MemberElement member)) { |
1889 cls.ensureResolved(_resolution); | 1889 cls.ensureResolved(_resolution); |
1890 cls.forEachMember((ClassElement declarer, MemberElement member) { | 1890 cls.forEachMember((ClassElement declarer, MemberElement member) { |
1891 if (member.isSynthesized) return; | 1891 if (member.isSynthesized) return; |
1892 f(declarer, member); | 1892 f(declarer, member); |
1893 }, includeSuperAndInjectedMembers: true); | 1893 }, includeSuperAndInjectedMembers: true); |
1894 } | 1894 } |
1895 | 1895 |
1896 @override | 1896 @override |
1897 ClassEntity getSuperClass(ClassElement cls) { | 1897 ClassEntity getSuperClass(ClassElement cls) => cls.superclass; |
1898 cls = cls.superclass; | 1898 |
1899 while (cls != null && cls.isUnnamedMixinApplication) { | 1899 @override |
1900 cls = cls.superclass; | 1900 void forEachSupertype( |
1901 } | 1901 ClassElement cls, void f(ResolutionInterfaceType supertype)) { |
1902 return cls; | 1902 cls.allSupertypes.forEach((ResolutionDartType supertype) => f(supertype)); |
1903 } | 1903 } |
1904 | 1904 |
1905 @override | 1905 @override |
1906 void forEachMixin(ClassElement cls, void f(ClassElement mixin)) { | 1906 void forEachMixin(ClassElement cls, void f(ClassElement mixin)) { |
1907 for (; cls != null; cls = cls.superclass) { | 1907 for (; cls != null; cls = cls.superclass) { |
1908 if (cls.isMixinApplication) { | 1908 if (cls.isMixinApplication) { |
1909 MixinApplicationElement mixinApplication = cls; | 1909 MixinApplicationElement mixinApplication = cls; |
1910 f(mixinApplication.mixin); | 1910 f(mixinApplication.mixin); |
1911 } | 1911 } |
1912 } | 1912 } |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1984 bool isDeferredLoadLibraryGetter(MemberElement member) { | 1984 bool isDeferredLoadLibraryGetter(MemberElement member) { |
1985 return member.isDeferredLoaderGetter; | 1985 return member.isDeferredLoaderGetter; |
1986 } | 1986 } |
1987 | 1987 |
1988 @override | 1988 @override |
1989 ResolutionFunctionType getFunctionType(MethodElement method) { | 1989 ResolutionFunctionType getFunctionType(MethodElement method) { |
1990 method.computeType(_resolution); | 1990 method.computeType(_resolution); |
1991 return method.type; | 1991 return method.type; |
1992 } | 1992 } |
1993 } | 1993 } |
OLD | NEW |