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 mirrors_dart2js; | 5 library mirrors_dart2js; |
6 | 6 |
| 7 import 'dart:async'; |
7 import 'dart:io'; | 8 import 'dart:io'; |
8 import 'dart:uri'; | 9 import 'dart:uri'; |
9 | 10 |
10 import '../../compiler.dart' as diagnostics; | 11 import '../../compiler.dart' as diagnostics; |
11 import '../elements/elements.dart'; | 12 import '../elements/elements.dart'; |
12 import '../resolution/resolution.dart' show ResolverTask, ResolverVisitor; | 13 import '../resolution/resolution.dart' show ResolverTask, ResolverVisitor; |
13 import '../apiimpl.dart' as api; | 14 import '../apiimpl.dart' as api; |
14 import '../scanner/scannerlib.dart'; | 15 import '../scanner/scannerlib.dart'; |
15 import '../ssa/ssa.dart'; | 16 import '../ssa/ssa.dart'; |
16 import '../dart2jslib.dart'; | 17 import '../dart2jslib.dart'; |
(...skipping 1280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1297 } | 1298 } |
1298 if (other is! ClassMirror) { | 1299 if (other is! ClassMirror) { |
1299 return false; | 1300 return false; |
1300 } | 1301 } |
1301 if (other.isOriginalDeclaration) { | 1302 if (other.isOriginalDeclaration) { |
1302 return false; | 1303 return false; |
1303 } | 1304 } |
1304 if (originalDeclaration != other.originalDeclaration) { | 1305 if (originalDeclaration != other.originalDeclaration) { |
1305 return false; | 1306 return false; |
1306 } | 1307 } |
1307 var thisTypeArguments = typeArguments.iterator(); | 1308 var thisTypeArguments = typeArguments.iterator; |
1308 var otherTypeArguments = other.typeArguments.iterator(); | 1309 var otherTypeArguments = other.typeArguments.iterator; |
1309 while (thisTypeArguments.hasNext && otherTypeArguments.hasNext) { | 1310 while (thisTypeArguments.moveNext()) { |
1310 if (thisTypeArguments.next() != otherTypeArguments.next()) { | 1311 if (!otherTypeArguments.moveNext()) return false; |
| 1312 if (thisTypeArguments.current != otherTypeArguments.current) { |
1311 return false; | 1313 return false; |
1312 } | 1314 } |
1313 } | 1315 } |
1314 return !thisTypeArguments.hasNext && !otherTypeArguments.hasNext; | 1316 return !otherTypeArguments.moveNext(); |
1315 } | 1317 } |
1316 } | 1318 } |
1317 | 1319 |
1318 | 1320 |
1319 class Dart2JsFunctionTypeMirror extends Dart2JsTypeElementMirror | 1321 class Dart2JsFunctionTypeMirror extends Dart2JsTypeElementMirror |
1320 implements FunctionTypeMirror { | 1322 implements FunctionTypeMirror { |
1321 final FunctionSignature _functionSignature; | 1323 final FunctionSignature _functionSignature; |
1322 List<ParameterMirror> _parameters; | 1324 List<ParameterMirror> _parameters; |
1323 | 1325 |
1324 Dart2JsFunctionTypeMirror(Dart2JsMirrorSystem system, | 1326 Dart2JsFunctionTypeMirror(Dart2JsMirrorSystem system, |
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1794 } | 1796 } |
1795 | 1797 |
1796 Future<InstanceMirror> getField(String fieldName) { | 1798 Future<InstanceMirror> getField(String fieldName) { |
1797 Constant fieldConstant = _fieldMap[fieldName]; | 1799 Constant fieldConstant = _fieldMap[fieldName]; |
1798 if (fieldConstant != null) { | 1800 if (fieldConstant != null) { |
1799 return new Future<InstanceMirror>.immediate( | 1801 return new Future<InstanceMirror>.immediate( |
1800 _convertConstantToInstanceMirror(mirrors, fieldConstant)); | 1802 _convertConstantToInstanceMirror(mirrors, fieldConstant)); |
1801 } | 1803 } |
1802 return super.getField(fieldName); | 1804 return super.getField(fieldName); |
1803 } | 1805 } |
1804 } | 1806 } |
OLD | NEW |