Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(99)

Side by Side Diff: runtime/lib/mirrors_impl.dart

Issue 1584223006: Remove signature classes from the VM. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: sync Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/lib/mirrors.cc ('k') | runtime/lib/object.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // VM-specific implementation of the dart:mirrors library. 5 // VM-specific implementation of the dart:mirrors library.
6 6
7 import "dart:collection" show UnmodifiableListView, UnmodifiableMapView; 7 import "dart:collection" show UnmodifiableListView, UnmodifiableMapView;
8 import "dart:async" show Future; 8 import "dart:async" show Future;
9 9
10 var dirty = false; 10 var dirty = false;
(...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 938
939 static _ClassMirror_type_variables(reflectee) 939 static _ClassMirror_type_variables(reflectee)
940 native "ClassMirror_type_variables"; 940 native "ClassMirror_type_variables";
941 941
942 static _computeTypeArguments(reflectee) 942 static _computeTypeArguments(reflectee)
943 native "ClassMirror_type_arguments"; 943 native "ClassMirror_type_arguments";
944 } 944 }
945 945
946 class _LocalFunctionTypeMirror extends _LocalClassMirror 946 class _LocalFunctionTypeMirror extends _LocalClassMirror
947 implements FunctionTypeMirror { 947 implements FunctionTypeMirror {
948 _LocalFunctionTypeMirror(reflectee, reflectedType) 948 final _functionReflectee;
949 _LocalFunctionTypeMirror(reflectee, this._functionReflectee, reflectedType)
949 : super(reflectee, reflectedType, null, null, false, false, false, false, false); 950 : super(reflectee, reflectedType, null, null, false, false, false, false, false);
950 951
951 bool get _isAnonymousMixinApplication => false; 952 bool get _isAnonymousMixinApplication => false;
952 953
953 // FunctionTypeMirrors have a simpleName generated from their signature. 954 // FunctionTypeMirrors have a simpleName generated from their signature.
954 Symbol _simpleName = null; 955 Symbol _simpleName = null;
955 Symbol get simpleName { 956 Symbol get simpleName {
956 if (_simpleName == null) { 957 if (_simpleName == null) {
957 _simpleName = _s(_makeSignatureString(returnType, parameters)); 958 _simpleName = _s(_makeSignatureString(returnType, parameters));
958 } 959 }
959 return _simpleName; 960 return _simpleName;
960 } 961 }
961 962
962 MethodMirror _callMethod; 963 MethodMirror _callMethod;
963 MethodMirror get callMethod { 964 MethodMirror get callMethod {
964 if (_callMethod == null) { 965 if (_callMethod == null) {
965 _callMethod = this._FunctionTypeMirror_call_method(_reflectee); 966 _callMethod = _FunctionTypeMirror_call_method(_functionReflectee);
966 } 967 }
967 return _callMethod; 968 return _callMethod;
968 } 969 }
969 970
970 TypeMirror _returnType = null; 971 TypeMirror _returnType = null;
971 TypeMirror get returnType { 972 TypeMirror get returnType {
972 if (_returnType == null) { 973 if (_returnType == null) {
973 _returnType = reflectType( 974 _returnType = reflectType(
974 _FunctionTypeMirror_return_type(_reflectee, _instantiator)); 975 _FunctionTypeMirror_return_type(_functionReflectee, _instantiator));
975 } 976 }
976 return _returnType; 977 return _returnType;
977 } 978 }
978 979
979 List<ParameterMirror> _parameters = null; 980 List<ParameterMirror> _parameters = null;
980 List<ParameterMirror> get parameters { 981 List<ParameterMirror> get parameters {
981 if (_parameters == null) { 982 if (_parameters == null) {
982 _parameters = _FunctionTypeMirror_parameters(_reflectee); 983 _parameters = _FunctionTypeMirror_parameters(_functionReflectee);
983 _parameters = new UnmodifiableListView(_parameters); 984 _parameters = new UnmodifiableListView(_parameters);
984 } 985 }
985 return _parameters; 986 return _parameters;
986 } 987 }
987 988
988 bool get isOriginalDeclaration => true; 989 bool get isOriginalDeclaration => true;
989 get originalDeclaration => this; 990 get originalDeclaration => this;
990 get typeVariables => emptyList; 991 get typeVariables => emptyList;
991 get typeArguments => emptyList; 992 get typeArguments => emptyList;
992 get metadata => emptyList; 993 get metadata => emptyList;
994 get location => null;
993 995
994 String toString() => "FunctionTypeMirror on '${_n(simpleName)}'"; 996 String toString() => "FunctionTypeMirror on '${_n(simpleName)}'";
995 997
996 MethodMirror _FunctionTypeMirror_call_method(reflectee) 998 MethodMirror _FunctionTypeMirror_call_method(functionReflectee)
997 native "FunctionTypeMirror_call_method"; 999 native "FunctionTypeMirror_call_method";
998 1000
999 static Type _FunctionTypeMirror_return_type(reflectee, instantiator) 1001 static Type _FunctionTypeMirror_return_type(functionReflectee, instantiator)
1000 native "FunctionTypeMirror_return_type"; 1002 native "FunctionTypeMirror_return_type";
1001 1003
1002 List<ParameterMirror> _FunctionTypeMirror_parameters(reflectee) 1004 List<ParameterMirror> _FunctionTypeMirror_parameters(functionReflectee)
1003 native "FunctionTypeMirror_parameters"; 1005 native "FunctionTypeMirror_parameters";
1004 } 1006 }
1005 1007
1006 abstract class _LocalDeclarationMirror extends _LocalMirror 1008 abstract class _LocalDeclarationMirror extends _LocalMirror
1007 implements DeclarationMirror { 1009 implements DeclarationMirror {
1008 final _reflectee; 1010 final _reflectee;
1009 Symbol _simpleName; 1011 Symbol _simpleName;
1010 1012
1011 _LocalDeclarationMirror(this._reflectee, this._simpleName); 1013 _LocalDeclarationMirror(this._reflectee, this._simpleName);
1012 1014
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after
1641 ? new _LocalClosureMirror(reflectee) 1643 ? new _LocalClosureMirror(reflectee)
1642 : new _LocalInstanceMirror(reflectee); 1644 : new _LocalInstanceMirror(reflectee);
1643 } 1645 }
1644 1646
1645 static ClassMirror makeLocalClassMirror(Type key) 1647 static ClassMirror makeLocalClassMirror(Type key)
1646 native "Mirrors_makeLocalClassMirror"; 1648 native "Mirrors_makeLocalClassMirror";
1647 static TypeMirror makeLocalTypeMirror(Type key) 1649 static TypeMirror makeLocalTypeMirror(Type key)
1648 native "Mirrors_makeLocalTypeMirror"; 1650 native "Mirrors_makeLocalTypeMirror";
1649 1651
1650 static Expando<ClassMirror> _declarationCache = new Expando("ClassMirror"); 1652 static Expando<ClassMirror> _declarationCache = new Expando("ClassMirror");
1651 static Expando<TypeMirror> _instanitationCache = new Expando("TypeMirror"); 1653 static Expando<TypeMirror> _instantiationCache = new Expando("TypeMirror");
1652 1654
1653 static ClassMirror reflectClass(Type key) { 1655 static ClassMirror reflectClass(Type key) {
1654 var classMirror = _declarationCache[key]; 1656 var classMirror = _declarationCache[key];
1655 if (classMirror == null) { 1657 if (classMirror == null) {
1656 classMirror = makeLocalClassMirror(key); 1658 classMirror = makeLocalClassMirror(key);
1657 _declarationCache[key] = classMirror; 1659 _declarationCache[key] = classMirror;
1658 if (!classMirror._isGeneric) { 1660 if (!classMirror._isGeneric) {
1659 _instanitationCache[key] = classMirror; 1661 _instantiationCache[key] = classMirror;
1660 } 1662 }
1661 } 1663 }
1662 return classMirror; 1664 return classMirror;
1663 } 1665 }
1664 1666
1665 static TypeMirror reflectType(Type key) { 1667 static TypeMirror reflectType(Type key) {
1666 var typeMirror = _instanitationCache[key]; 1668 var typeMirror = _instantiationCache[key];
1667 if (typeMirror == null) { 1669 if (typeMirror == null) {
1668 typeMirror = makeLocalTypeMirror(key); 1670 typeMirror = makeLocalTypeMirror(key);
1669 _instanitationCache[key] = typeMirror; 1671 _instantiationCache[key] = typeMirror;
1670 if (typeMirror is ClassMirror && !typeMirror._isGeneric) { 1672 if (typeMirror is ClassMirror && !typeMirror._isGeneric) {
1671 _declarationCache[key] = typeMirror; 1673 _declarationCache[key] = typeMirror;
1672 } 1674 }
1673 } 1675 }
1674 return typeMirror; 1676 return typeMirror;
1675 } 1677 }
1676 } 1678 }
OLDNEW
« no previous file with comments | « runtime/lib/mirrors.cc ('k') | runtime/lib/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698