| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 analyzer.src.dart.element.member; | 5 library analyzer.src.dart.element.member; |
| 6 | 6 |
| 7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
| 8 import 'package:analyzer/dart/constant/value.dart'; | 8 import 'package:analyzer/dart/constant/value.dart'; |
| 9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
| 10 import 'package:analyzer/dart/element/type.dart'; | 10 import 'package:analyzer/dart/element/type.dart'; |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 * Initialize a newly created element to represent a field formal parameter, | 224 * Initialize a newly created element to represent a field formal parameter, |
| 225 * based on the [baseElement], defined by the [definingType]. If [type] | 225 * based on the [baseElement], defined by the [definingType]. If [type] |
| 226 * is passed it will be used as the substituted type for this member. | 226 * is passed it will be used as the substituted type for this member. |
| 227 */ | 227 */ |
| 228 FieldFormalParameterMember( | 228 FieldFormalParameterMember( |
| 229 FieldFormalParameterElement baseElement, ParameterizedType definingType, | 229 FieldFormalParameterElement baseElement, ParameterizedType definingType, |
| 230 [DartType type]) | 230 [DartType type]) |
| 231 : super(baseElement, definingType, type); | 231 : super(baseElement, definingType, type); |
| 232 | 232 |
| 233 @override | 233 @override |
| 234 bool get isCovariant => baseElement.isCovariant; | |
| 235 | |
| 236 @override | |
| 237 FieldElement get field { | 234 FieldElement get field { |
| 238 FieldElement field = (baseElement as FieldFormalParameterElement).field; | 235 FieldElement field = (baseElement as FieldFormalParameterElement).field; |
| 239 if (field is FieldElement) { | 236 if (field is FieldElement) { |
| 240 return FieldMember.from( | 237 return FieldMember.from( |
| 241 field, substituteFor(field.enclosingElement.type)); | 238 field, substituteFor(field.enclosingElement.type)); |
| 242 } | 239 } |
| 243 return field; | 240 return field; |
| 244 } | 241 } |
| 245 | 242 |
| 246 @override | 243 @override |
| 244 bool get isCovariant => baseElement.isCovariant; |
| 245 |
| 246 @override |
| 247 /*=T*/ accept/*<T>*/(ElementVisitor<dynamic/*=T*/ > visitor) => | 247 /*=T*/ accept/*<T>*/(ElementVisitor<dynamic/*=T*/ > visitor) => |
| 248 visitor.visitFieldFormalParameterElement(this); | 248 visitor.visitFieldFormalParameterElement(this); |
| 249 } | 249 } |
| 250 | 250 |
| 251 /** | 251 /** |
| 252 * A field element defined in a parameterized type where the values of the type | 252 * A field element defined in a parameterized type where the values of the type |
| 253 * parameters are known. | 253 * parameters are known. |
| 254 */ | 254 */ |
| 255 class FieldMember extends VariableMember implements FieldElement { | 255 class FieldMember extends VariableMember implements FieldElement { |
| 256 /** | 256 /** |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 /*=T*/ accept/*<T>*/(ElementVisitor<dynamic/*=T*/ > visitor) => | 379 /*=T*/ accept/*<T>*/(ElementVisitor<dynamic/*=T*/ > visitor) => |
| 380 visitor.visitFunctionElement(this); | 380 visitor.visitFunctionElement(this); |
| 381 | 381 |
| 382 @override | 382 @override |
| 383 FunctionDeclaration computeNode() => baseElement.computeNode(); | 383 FunctionDeclaration computeNode() => baseElement.computeNode(); |
| 384 | 384 |
| 385 @override | 385 @override |
| 386 String toString() { | 386 String toString() { |
| 387 StringBuffer buffer = new StringBuffer(); | 387 StringBuffer buffer = new StringBuffer(); |
| 388 buffer.write(baseElement.displayName); | 388 buffer.write(baseElement.displayName); |
| 389 (type as FunctionTypeImpl).appendTo(buffer); | 389 (type as FunctionTypeImpl).appendTo(buffer, new Set.identity()); |
| 390 return buffer.toString(); | 390 return buffer.toString(); |
| 391 } | 391 } |
| 392 | 392 |
| 393 /** | 393 /** |
| 394 * If the given [method]'s type is different when any type parameters from the | 394 * If the given [method]'s type is different when any type parameters from the |
| 395 * defining type's declaration are replaced with the actual type arguments | 395 * defining type's declaration are replaced with the actual type arguments |
| 396 * from the [definingType], create a method member representing the given | 396 * from the [definingType], create a method member representing the given |
| 397 * method. Return the member that was created, or the base method if no member | 397 * method. Return the member that was created, or the base method if no member |
| 398 * was created. | 398 * was created. |
| 399 */ | 399 */ |
| (...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1049 DartObject computeConstantValue() => baseElement.computeConstantValue(); | 1049 DartObject computeConstantValue() => baseElement.computeConstantValue(); |
| 1050 | 1050 |
| 1051 @override | 1051 @override |
| 1052 void visitChildren(ElementVisitor visitor) { | 1052 void visitChildren(ElementVisitor visitor) { |
| 1053 // TODO(brianwilkerson) We need to finish implementing the accessors used | 1053 // TODO(brianwilkerson) We need to finish implementing the accessors used |
| 1054 // below so that we can safely invoke them. | 1054 // below so that we can safely invoke them. |
| 1055 super.visitChildren(visitor); | 1055 super.visitChildren(visitor); |
| 1056 baseElement.initializer?.accept(visitor); | 1056 baseElement.initializer?.accept(visitor); |
| 1057 } | 1057 } |
| 1058 } | 1058 } |
| OLD | NEW |