| Index: lib/src/compiler/element_helpers.dart | 
| diff --git a/lib/src/compiler/element_helpers.dart b/lib/src/compiler/element_helpers.dart | 
| index a5d95d8328dab6388df1344b0c2b8f490ddd0f64..5af5470fa11a0d8f7ebec7bc3624610ec38a0108 100644 | 
| --- a/lib/src/compiler/element_helpers.dart | 
| +++ b/lib/src/compiler/element_helpers.dart | 
| @@ -18,7 +18,8 @@ import 'package:analyzer/dart/element/element.dart' | 
| import 'package:analyzer/dart/element/type.dart' | 
| show DartType, InterfaceType, ParameterizedType; | 
| import 'package:analyzer/src/dart/element/type.dart' show DynamicTypeImpl; | 
| -import 'package:analyzer/src/generated/constant.dart' show DartObject; | 
| +import 'package:analyzer/src/generated/constant.dart' | 
| +    show DartObject, DartObjectImpl; | 
|  | 
| class Tuple2<T0, T1> { | 
| final T0 e0; | 
| @@ -28,8 +29,10 @@ class Tuple2<T0, T1> { | 
|  | 
| /*=T*/ fillDynamicTypeArgs/*<T extends DartType>*/(/*=T*/ t) { | 
| if (t is ParameterizedType) { | 
| -    var dyn = new List.filled(t.typeArguments.length, DynamicTypeImpl.instance); | 
| -    return t.substitute2(dyn, t.typeArguments); | 
| +    var pt = t as ParameterizedType; | 
| +    var dyn = new List<DartType>.filled( | 
| +        pt.typeArguments.length, DynamicTypeImpl.instance); | 
| +    return pt.substitute2(dyn, pt.typeArguments) as dynamic/*=T*/; | 
| } | 
| return t; | 
| } | 
| @@ -47,7 +50,7 @@ class Tuple2<T0, T1> { | 
| /// | 
| ///    (v) => v.type.name == 'Deprecated' && v.type.element.library.isDartCore | 
| /// | 
| -DartObject findAnnotation(Element element, bool test(DartObject value)) { | 
| +DartObject findAnnotation(Element element, bool test(DartObjectImpl value)) { | 
| for (var metadata in element.metadata) { | 
| var value = metadata.constantValue; | 
| if (value != null && test(value)) return value; | 
| @@ -116,5 +119,5 @@ ExecutableElement getFunctionBodyElement(FunctionBody body) { | 
| /// | 
| /// If we match the annotation for the `@MyAnnotation('FooBar')` this will | 
| /// return the string 'FooBar'. | 
| -String getAnnotationName(Element element, bool match(DartObject value)) => | 
| +String getAnnotationName(Element element, bool match(DartObjectImpl value)) => | 
| findAnnotation(element, match)?.getField('name')?.toStringValue(); | 
|  |