| 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:io'; | 7 import 'dart:io'; | 
| 8 import 'dart:uri'; | 8 import 'dart:uri'; | 
| 9 | 9 | 
| 10 import '../../../../../lib/compiler/compiler.dart' as diagnostics; | 10 import '../../../../../lib/compiler/compiler.dart' as diagnostics; | 
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 484   Map<String, ClassMirror> _types; | 484   Map<String, ClassMirror> _types; | 
| 485   Map<String, MemberMirror> _members; | 485   Map<String, MemberMirror> _members; | 
| 486 | 486 | 
| 487   Dart2JsLibraryMirror(Dart2JsMirrorSystem system, LibraryElement library) | 487   Dart2JsLibraryMirror(Dart2JsMirrorSystem system, LibraryElement library) | 
| 488       : super(system, library); | 488       : super(system, library); | 
| 489 | 489 | 
| 490   LibraryElement get _library => _element; | 490   LibraryElement get _library => _element; | 
| 491 | 491 | 
| 492   Uri get uri => _library.uri; | 492   Uri get uri => _library.uri; | 
| 493 | 493 | 
|  | 494   DeclarationMirror get owner => null; | 
|  | 495 | 
| 494   LibraryMirror library() => this; | 496   LibraryMirror library() => this; | 
| 495 | 497 | 
| 496   /** | 498   /** | 
| 497    * Returns the library name (for libraries with a #library tag) or the script | 499    * Returns the library name (for libraries with a #library tag) or the script | 
| 498    * file name (for scripts without a #library tag). The latter case is used to | 500    * file name (for scripts without a #library tag). The latter case is used to | 
| 499    * provide a 'library name' for scripts, to use for instance in dartdoc. | 501    * provide a 'library name' for scripts, to use for instance in dartdoc. | 
| 500    */ | 502    */ | 
| 501   String get simpleName { | 503   String get simpleName { | 
| 502     if (_library.libraryTag !== null) { | 504     if (_library.libraryTag !== null) { | 
| 503       // TODO(ahe): Remove StringNode check when old syntax is removed. | 505       // TODO(ahe): Remove StringNode check when old syntax is removed. | 
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 612     return new Dart2JsParameterMirror._normal(system, | 614     return new Dart2JsParameterMirror._normal(system, | 
| 613                                               method, element, isOptional); | 615                                               method, element, isOptional); | 
| 614   } | 616   } | 
| 615 | 617 | 
| 616   Dart2JsParameterMirror._normal(Dart2JsMirrorSystem system, | 618   Dart2JsParameterMirror._normal(Dart2JsMirrorSystem system, | 
| 617                          this._method, | 619                          this._method, | 
| 618                          VariableElement element, | 620                          VariableElement element, | 
| 619                          this.isOptional) | 621                          this.isOptional) | 
| 620     : super(system, element); | 622     : super(system, element); | 
| 621 | 623 | 
|  | 624   DeclarationMirror get owner => _method; | 
|  | 625 | 
| 622   VariableElement get _variableElement => _element; | 626   VariableElement get _variableElement => _element; | 
| 623 | 627 | 
| 624   String get qualifiedName => '${_method.qualifiedName}#${simpleName}'; | 628   String get qualifiedName => '${_method.qualifiedName}#${simpleName}'; | 
| 625 | 629 | 
| 626   TypeMirror get type => _convertTypeToTypeMirror(system, | 630   TypeMirror get type => _convertTypeToTypeMirror(system, | 
| 627       _variableElement.computeType(system.compiler), | 631       _variableElement.computeType(system.compiler), | 
| 628       system.compiler.types.dynamicType, | 632       system.compiler.types.dynamicType, | 
| 629       _variableElement.variables.functionSignature); | 633       _variableElement.variables.functionSignature); | 
| 630 | 634 | 
| 631   String get defaultValue { | 635   String get defaultValue { | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 661     } | 665     } | 
| 662     return _convertTypeToTypeMirror(system, | 666     return _convertTypeToTypeMirror(system, | 
| 663       _fieldParameterElement.fieldElement.computeType(system.compiler), | 667       _fieldParameterElement.fieldElement.computeType(system.compiler), | 
| 664       system.compiler.types.dynamicType, | 668       system.compiler.types.dynamicType, | 
| 665       _variableElement.variables.functionSignature); | 669       _variableElement.variables.functionSignature); | 
| 666   } | 670   } | 
| 667 | 671 | 
| 668   bool get isInitializingFormal => true; | 672   bool get isInitializingFormal => true; | 
| 669 | 673 | 
| 670   FieldMirror get initializedField => new Dart2JsFieldMirror( | 674   FieldMirror get initializedField => new Dart2JsFieldMirror( | 
| 671       _method.surroundingDeclaration, _fieldParameterElement.fieldElement); | 675       _method.owner, _fieldParameterElement.fieldElement); | 
| 672 } | 676 } | 
| 673 | 677 | 
| 674 //------------------------------------------------------------------------------ | 678 //------------------------------------------------------------------------------ | 
| 675 // Declarations | 679 // Declarations | 
| 676 //------------------------------------------------------------------------------ | 680 //------------------------------------------------------------------------------ | 
| 677 class Dart2JsClassMirror extends Dart2JsObjectMirror | 681 class Dart2JsClassMirror extends Dart2JsObjectMirror | 
| 678     implements Dart2JsTypeMirror, ClassMirror { | 682     implements Dart2JsTypeMirror, ClassMirror { | 
| 679   final Dart2JsLibraryMirror library; | 683   final Dart2JsLibraryMirror library; | 
| 680   Map<String, Dart2JsMemberMirror> _members; | 684   Map<String, Dart2JsMemberMirror> _members; | 
| 681   List<TypeVariableMirror> _typeVariables; | 685   List<TypeVariableMirror> _typeVariables; | 
| 682 | 686 | 
| 683   Dart2JsClassMirror(Dart2JsMirrorSystem system, ClassElement _class) | 687   Dart2JsClassMirror(Dart2JsMirrorSystem system, ClassElement _class) | 
| 684       : this.library = system.getLibrary(_class.getLibrary()), | 688       : this.library = system.getLibrary(_class.getLibrary()), | 
| 685         super(system, _class); | 689         super(system, _class); | 
| 686 | 690 | 
| 687   ClassElement get _class => _element; | 691   ClassElement get _class => _element; | 
| 688 | 692 | 
| 689   Dart2JsClassMirror.fromLibrary(Dart2JsLibraryMirror library, | 693   Dart2JsClassMirror.fromLibrary(Dart2JsLibraryMirror library, | 
| 690                                  ClassElement _class) | 694                                  ClassElement _class) | 
| 691       : this.library = library, | 695       : this.library = library, | 
| 692         super(library.system, _class); | 696         super(library.system, _class); | 
| 693 | 697 | 
|  | 698   DeclarationMirror get owner => library; | 
|  | 699 | 
| 694   String get qualifiedName => '${library.qualifiedName}.${simpleName}'; | 700   String get qualifiedName => '${library.qualifiedName}.${simpleName}'; | 
| 695 | 701 | 
| 696   SourceLocation get location { | 702   SourceLocation get location { | 
| 697     if (_class is PartialClassElement) { | 703     if (_class is PartialClassElement) { | 
| 698       var node = _class.parseNode(system.compiler); | 704       var node = _class.parseNode(system.compiler); | 
| 699       if (node !== null) { | 705       if (node !== null) { | 
| 700         var script = _class.getCompilationUnit().script; | 706         var script = _class.getCompilationUnit().script; | 
| 701         var span = system.compiler.spanFromNode(node, script.uri); | 707         var span = system.compiler.spanFromNode(node, script.uri); | 
| 702         return new Dart2JsLocation(script, span); | 708         return new Dart2JsLocation(script, span); | 
| 703       } | 709       } | 
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 968     : super(system); | 974     : super(system); | 
| 969 | 975 | 
| 970   String get simpleName => _type.name.slowToString(); | 976   String get simpleName => _type.name.slowToString(); | 
| 971 | 977 | 
| 972   SourceLocation get location { | 978   SourceLocation get location { | 
| 973     var script = _type.element.getCompilationUnit().script; | 979     var script = _type.element.getCompilationUnit().script; | 
| 974     return new Dart2JsLocation(script, | 980     return new Dart2JsLocation(script, | 
| 975                                system.compiler.spanFromElement(_type.element)); | 981                                system.compiler.spanFromElement(_type.element)); | 
| 976   } | 982   } | 
| 977 | 983 | 
|  | 984   DeclarationMirror get owner => library; | 
|  | 985 | 
| 978   LibraryMirror get library { | 986   LibraryMirror get library { | 
| 979     return system.getLibrary(_type.element.getLibrary()); | 987     return system.getLibrary(_type.element.getLibrary()); | 
| 980   } | 988   } | 
| 981 | 989 | 
| 982   bool get isObject => false; | 990   bool get isObject => false; | 
| 983 | 991 | 
| 984   bool get isVoid => false; | 992   bool get isVoid => false; | 
| 985 | 993 | 
| 986   bool get isDynamic => false; | 994   bool get isDynamic => false; | 
| 987 | 995 | 
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1294     } | 1302     } | 
| 1295   } | 1303   } | 
| 1296 | 1304 | 
| 1297   FunctionElement get _function => _element; | 1305   FunctionElement get _function => _element; | 
| 1298 | 1306 | 
| 1299   String get simpleName => _simpleName; | 1307   String get simpleName => _simpleName; | 
| 1300 | 1308 | 
| 1301   String get displayName => _displayName; | 1309   String get displayName => _displayName; | 
| 1302 | 1310 | 
| 1303   String get qualifiedName | 1311   String get qualifiedName | 
| 1304       => '${surroundingDeclaration.qualifiedName}.$simpleName'; | 1312       => '${owner.qualifiedName}.$simpleName'; | 
| 1305 | 1313 | 
| 1306   ObjectMirror get surroundingDeclaration => _objectMirror; | 1314   DeclarationMirror get owner => _objectMirror; | 
| 1307 | 1315 | 
| 1308   bool get isTopLevel => _objectMirror is LibraryMirror; | 1316   bool get isTopLevel => _objectMirror is LibraryMirror; | 
| 1309 | 1317 | 
| 1310   bool get isConstructor | 1318   bool get isConstructor | 
| 1311       => _kind == Dart2JsMethodKind.CONSTRUCTOR || isConst || isFactory; | 1319       => _kind == Dart2JsMethodKind.CONSTRUCTOR || isConst || isFactory; | 
| 1312 | 1320 | 
| 1313   bool get isField => false; | 1321   bool get isField => false; | 
| 1314 | 1322 | 
| 1315   bool get isMethod => !isConstructor; | 1323   bool get isMethod => !isConstructor; | 
| 1316 | 1324 | 
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1361   Dart2JsObjectMirror _objectMirror; | 1369   Dart2JsObjectMirror _objectMirror; | 
| 1362   VariableElement _variable; | 1370   VariableElement _variable; | 
| 1363 | 1371 | 
| 1364   Dart2JsFieldMirror(Dart2JsObjectMirror objectMirror, | 1372   Dart2JsFieldMirror(Dart2JsObjectMirror objectMirror, | 
| 1365                      VariableElement variable) | 1373                      VariableElement variable) | 
| 1366       : this._objectMirror = objectMirror, | 1374       : this._objectMirror = objectMirror, | 
| 1367         this._variable = variable, | 1375         this._variable = variable, | 
| 1368         super(objectMirror.system, variable); | 1376         super(objectMirror.system, variable); | 
| 1369 | 1377 | 
| 1370   String get qualifiedName | 1378   String get qualifiedName | 
| 1371       => '${surroundingDeclaration.qualifiedName}.$simpleName'; | 1379       => '${owner.qualifiedName}.$simpleName'; | 
| 1372 | 1380 | 
| 1373   ObjectMirror get surroundingDeclaration => _objectMirror; | 1381   DeclarationMirror get owner => _objectMirror; | 
| 1374 | 1382 | 
| 1375   bool get isTopLevel => _objectMirror is LibraryMirror; | 1383   bool get isTopLevel => _objectMirror is LibraryMirror; | 
| 1376 | 1384 | 
| 1377   bool get isConstructor => false; | 1385   bool get isConstructor => false; | 
| 1378 | 1386 | 
| 1379   bool get isField => true; | 1387   bool get isField => true; | 
| 1380 | 1388 | 
| 1381   bool get isMethod => false; | 1389   bool get isMethod => false; | 
| 1382 | 1390 | 
| 1383   bool get isPrivate => _isPrivate(simpleName); | 1391   bool get isPrivate => _isPrivate(simpleName); | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
| 1398     if (node !== null) { | 1406     if (node !== null) { | 
| 1399       var span = system.compiler.spanFromNode(node, script.uri); | 1407       var span = system.compiler.spanFromNode(node, script.uri); | 
| 1400       return new Dart2JsLocation(script, span); | 1408       return new Dart2JsLocation(script, span); | 
| 1401     } else { | 1409     } else { | 
| 1402       var span = system.compiler.spanFromElement(_variable); | 1410       var span = system.compiler.spanFromElement(_variable); | 
| 1403       return new Dart2JsLocation(script, span); | 1411       return new Dart2JsLocation(script, span); | 
| 1404     } | 1412     } | 
| 1405   } | 1413   } | 
| 1406 } | 1414 } | 
| 1407 | 1415 | 
| OLD | NEW | 
|---|