| 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 EventSink, Future; | 7 import 'dart:async' show EventSink, 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 1974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1985 if (constructor == null && required) { | 1985 if (constructor == null && required) { |
| 1986 throw new SpannableAssertionFailure( | 1986 throw new SpannableAssertionFailure( |
| 1987 cls, | 1987 cls, |
| 1988 "The class '${cls.name}' does not contain " | 1988 "The class '${cls.name}' does not contain " |
| 1989 "required constructor: '$name'."); | 1989 "required constructor: '$name'."); |
| 1990 } | 1990 } |
| 1991 return constructor?.declaration; | 1991 return constructor?.declaration; |
| 1992 } | 1992 } |
| 1993 | 1993 |
| 1994 @override | 1994 @override |
| 1995 void forEachClassMember( |
| 1996 ClassElement cls, void f(ClassElement declarer, MemberElement member)) { |
| 1997 cls.ensureResolved(_resolution); |
| 1998 cls.forEachMember((ClassElement declarer, MemberElement member) { |
| 1999 if (member.isSynthesized) return; |
| 2000 f(declarer, member); |
| 2001 }, includeSuperAndInjectedMembers: true); |
| 2002 } |
| 2003 |
| 2004 @override |
| 2005 void forEachMixin(ClassElement cls, void f(ClassElement mixin)) { |
| 2006 for (; cls != null; cls = cls.superclass) { |
| 2007 if (cls.isMixinApplication) { |
| 2008 MixinApplicationElement mixinApplication = cls; |
| 2009 f(mixinApplication.mixin); |
| 2010 } |
| 2011 } |
| 2012 } |
| 2013 |
| 2014 @override |
| 1995 MemberElement lookupLibraryMember(LibraryElement library, String name, | 2015 MemberElement lookupLibraryMember(LibraryElement library, String name, |
| 1996 {bool setter: false, bool required: false}) { | 2016 {bool setter: false, bool required: false}) { |
| 1997 Element member = library.implementation.findLocal(name); | 2017 Element member = library.implementation.findLocal(name); |
| 1998 if (member != null && member.isAbstractField) { | 2018 if (member != null && member.isAbstractField) { |
| 1999 AbstractFieldElement abstractField = member; | 2019 AbstractFieldElement abstractField = member; |
| 2000 if (setter) { | 2020 if (setter) { |
| 2001 member = abstractField.setter; | 2021 member = abstractField.setter; |
| 2002 } else { | 2022 } else { |
| 2003 member = abstractField.getter; | 2023 member = abstractField.getter; |
| 2004 } | 2024 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2037 if (library != null && library.isSynthesized) { | 2057 if (library != null && library.isSynthesized) { |
| 2038 return null; | 2058 return null; |
| 2039 } | 2059 } |
| 2040 if (library == null && required) { | 2060 if (library == null && required) { |
| 2041 throw new SpannableAssertionFailure( | 2061 throw new SpannableAssertionFailure( |
| 2042 library, "The library '${uri}' was not found."); | 2062 library, "The library '${uri}' was not found."); |
| 2043 } | 2063 } |
| 2044 return library; | 2064 return library; |
| 2045 } | 2065 } |
| 2046 } | 2066 } |
| OLD | NEW |