| Index: pkg/compiler/lib/src/elements/modelx.dart | 
| diff --git a/pkg/compiler/lib/src/elements/modelx.dart b/pkg/compiler/lib/src/elements/modelx.dart | 
| index 3e1057db8385d07387e1fd863498d2d0e8ff8d5e..0415d47b09095e28738cf0067d2f216a10ab321e 100644 | 
| --- a/pkg/compiler/lib/src/elements/modelx.dart | 
| +++ b/pkg/compiler/lib/src/elements/modelx.dart | 
| @@ -1344,7 +1344,7 @@ class TypedefElementX extends ElementX | 
| ResolutionTypedefType computeType(Resolution resolution) { | 
| if (thisTypeCache != null) return thisTypeCache; | 
| Typedef node = parseNode(resolution.parsingContext); | 
| -    setThisAndRawTypes(createTypeVariables(node.typeParameters)); | 
| +    setThisAndRawTypes(createTypeVariables(node.templateParameters)); | 
| ensureResolved(resolution); | 
| return thisTypeCache; | 
| } | 
| @@ -1742,6 +1742,15 @@ class FormalElementX extends ElementX | 
| : this.identifier = identifier, | 
| super(identifier.source, elementKind, enclosingElement); | 
|  | 
| +  FormalElementX.unnamed(ElementKind elementKind, | 
| +      FunctionTypedElement enclosingElement, | 
| +      this.definitions) | 
| +      : this.identifier = null, | 
| +        super("<unnamed>", elementKind, enclosingElement); | 
| + | 
| +  /// Whether this is an unnamed parameter in a Function type. | 
| +  bool get isUnnamed => identifier == null; | 
| + | 
| FunctionTypedElement get functionDeclaration => enclosingElement; | 
|  | 
| Modifiers get modifiers => definitions.modifiers; | 
|  |