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

Unified Diff: sdk/lib/_internal/compiler/implementation/mirrors/dart2js_member_mirrors.dart

Issue 392873002: Element-model refactoring. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/compiler/implementation/mirrors/dart2js_member_mirrors.dart
diff --git a/sdk/lib/_internal/compiler/implementation/mirrors/dart2js_member_mirrors.dart b/sdk/lib/_internal/compiler/implementation/mirrors/dart2js_member_mirrors.dart
index 2a3bcc176e80c100f20cf03158cae088cbf4407f..7f3899ade72e3e31903604a1852811e61be26218 100644
--- a/sdk/lib/_internal/compiler/implementation/mirrors/dart2js_member_mirrors.dart
+++ b/sdk/lib/_internal/compiler/implementation/mirrors/dart2js_member_mirrors.dart
@@ -166,25 +166,26 @@ class Dart2JsParameterMirror extends Dart2JsMemberMirror
final bool isNamed;
factory Dart2JsParameterMirror(Dart2JsDeclarationMirror owner,
- ParameterElement element,
+ FormalElement element,
{bool isOptional: false,
bool isNamed: false}) {
- if (element is FieldParameterElement) {
+ if (element is InitializingFormalElement) {
return new Dart2JsFieldParameterMirror(
owner, element, isOptional, isNamed);
+ } else {
+ return new Dart2JsParameterMirror._normal(
+ owner, element, isOptional, isNamed);
}
- return new Dart2JsParameterMirror._normal(
- owner, element, isOptional, isNamed);
}
Dart2JsParameterMirror._normal(Dart2JsDeclarationMirror owner,
- ParameterElement element,
+ FormalElement element,
this.isOptional,
this.isNamed)
: this.owner = owner,
super(owner.mirrorSystem, element);
- ParameterElement get _element => super._element;
+ FormalElement get _element => super._element;
TypeMirror get type => owner._getTypeMirror(_element.type);
@@ -196,18 +197,23 @@ class Dart2JsParameterMirror extends Dart2JsMemberMirror
if (hasDefaultValue) {
// TODO(johnniwinther): Get the constant from the [TreeElements]
// associated with the enclosing method.
+ ParameterElement parameter = _element;
Constant constant = mirrorSystem.compiler.constants
- .getConstantForVariable(_element);
- assert(invariant(_element, constant != null,
+ .getConstantForVariable(parameter);
+ assert(invariant(parameter, constant != null,
message: "Missing constant for parameter "
- "$_element with default value."));
+ "$parameter with default value."));
return _convertConstantToInstanceMirror(mirrorSystem, constant);
}
return null;
}
bool get hasDefaultValue {
- return _element.initializer != null;
+ if (_element is ParameterElement) {
+ ParameterElement parameter = _element;
+ return parameter.initializer != null;
+ }
+ return false;
}
bool get isInitializingFormal => false;
@@ -218,12 +224,12 @@ class Dart2JsParameterMirror extends Dart2JsMemberMirror
class Dart2JsFieldParameterMirror extends Dart2JsParameterMirror {
Dart2JsFieldParameterMirror(Dart2JsDeclarationMirror method,
- FieldParameterElement element,
+ InitializingFormalElement element,
bool isOptional,
bool isNamed)
: super._normal(method, element, isOptional, isNamed);
- FieldParameterElement get _fieldParameterElement => _element;
+ InitializingFormalElement get _fieldParameterElement => _element;
bool get isInitializingFormal => true;

Powered by Google App Engine
This is Rietveld 408576698