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

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

Issue 938513002: Add ClassMirror.isEnum. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 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 | Annotate | Revision Log
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 8
9 final emptyList = new UnmodifiableListView([]); 9 final emptyList = new UnmodifiableListView([]);
10 final emptyMap = new UnmodifiableMapView({}); 10 final emptyMap = new UnmodifiableMapView({});
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 580
581 class _LocalClassMirror extends _LocalObjectMirror 581 class _LocalClassMirror extends _LocalObjectMirror
582 implements ClassMirror { 582 implements ClassMirror {
583 final Type _reflectedType; 583 final Type _reflectedType;
584 Symbol _simpleName; 584 Symbol _simpleName;
585 DeclarationMirror _owner; 585 DeclarationMirror _owner;
586 final bool isAbstract; 586 final bool isAbstract;
587 final bool _isGeneric; 587 final bool _isGeneric;
588 final bool _isMixinAlias; 588 final bool _isMixinAlias;
589 final bool _isGenericDeclaration; 589 final bool _isGenericDeclaration;
590 final bool isEnum;
590 Type _instantiator; 591 Type _instantiator;
591 592
592 _LocalClassMirror(reflectee, 593 _LocalClassMirror(reflectee,
593 reflectedType, 594 reflectedType,
594 String simpleName, 595 String simpleName,
595 this._owner, 596 this._owner,
596 this.isAbstract, 597 this.isAbstract,
597 this._isGeneric, 598 this._isGeneric,
598 this._isMixinAlias, 599 this._isMixinAlias,
599 this._isGenericDeclaration) 600 this._isGenericDeclaration,
601 this.isEnum)
600 : this._simpleName = _s(simpleName), 602 : this._simpleName = _s(simpleName),
601 this._reflectedType = reflectedType, 603 this._reflectedType = reflectedType,
602 this._instantiator = reflectedType, 604 this._instantiator = reflectedType,
603 super(reflectee); 605 super(reflectee);
604 606
605 607
606 bool get hasReflectedType => !_isGenericDeclaration; 608 bool get hasReflectedType => !_isGenericDeclaration;
607 Type get reflectedType { 609 Type get reflectedType {
608 if (!hasReflectedType) { 610 if (!hasReflectedType) {
609 throw new UnsupportedError( 611 throw new UnsupportedError(
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
962 static _ClassMirror_type_variables(reflectee) 964 static _ClassMirror_type_variables(reflectee)
963 native "ClassMirror_type_variables"; 965 native "ClassMirror_type_variables";
964 966
965 static _computeTypeArguments(reflectee) 967 static _computeTypeArguments(reflectee)
966 native "ClassMirror_type_arguments"; 968 native "ClassMirror_type_arguments";
967 } 969 }
968 970
969 class _LocalFunctionTypeMirror extends _LocalClassMirror 971 class _LocalFunctionTypeMirror extends _LocalClassMirror
970 implements FunctionTypeMirror { 972 implements FunctionTypeMirror {
971 _LocalFunctionTypeMirror(reflectee, reflectedType) 973 _LocalFunctionTypeMirror(reflectee, reflectedType)
972 : super(reflectee, reflectedType, null, null, false, false, false, false); 974 : super(reflectee, reflectedType, null, null, false, false, false, false, false);
973 975
974 bool get _isAnonymousMixinApplication => false; 976 bool get _isAnonymousMixinApplication => false;
975 977
976 // FunctionTypeMirrors have a simpleName generated from their signature. 978 // FunctionTypeMirrors have a simpleName generated from their signature.
977 Symbol _simpleName = null; 979 Symbol _simpleName = null;
978 Symbol get simpleName { 980 Symbol get simpleName {
979 if (_simpleName == null) { 981 if (_simpleName == null) {
980 _simpleName = _s(_makeSignatureString(returnType, parameters)); 982 _simpleName = _s(_makeSignatureString(returnType, parameters));
981 } 983 }
982 return _simpleName; 984 return _simpleName;
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after
1686 if (typeMirror == null) { 1688 if (typeMirror == null) {
1687 typeMirror = makeLocalTypeMirror(key); 1689 typeMirror = makeLocalTypeMirror(key);
1688 _instanitationCache[key] = typeMirror; 1690 _instanitationCache[key] = typeMirror;
1689 if (typeMirror is ClassMirror && !typeMirror._isGeneric) { 1691 if (typeMirror is ClassMirror && !typeMirror._isGeneric) {
1690 _declarationCache[key] = typeMirror; 1692 _declarationCache[key] = typeMirror;
1691 } 1693 }
1692 } 1694 }
1693 return typeMirror; 1695 return typeMirror;
1694 } 1696 }
1695 } 1697 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698