| Index: lib/compiler/implementation/elements/elements.dart
 | 
| diff --git a/lib/compiler/implementation/elements/elements.dart b/lib/compiler/implementation/elements/elements.dart
 | 
| index ad690789f5fbb8c414a1ab6995d0c5cfe0b77fdc..923c858d400feee9a9ec2fd53f1ab2ffeb179b6e 100644
 | 
| --- a/lib/compiler/implementation/elements/elements.dart
 | 
| +++ b/lib/compiler/implementation/elements/elements.dart
 | 
| @@ -139,6 +139,10 @@ class Element implements Hashable {
 | 
|    bool impliesType() => (kind.category & ElementCategory.IMPLIES_TYPE) != 0;
 | 
|    bool isExtendable() => (kind.category & ElementCategory.IS_EXTENDABLE) != 0;
 | 
|  
 | 
| +  // TODO(johnniwinther): This breaks for libraries (for which enclosing
 | 
| +  // elements are null) and is invalid for top level variable declarations for
 | 
| +  // which the enclosing element is a VariableDeclarations and not a compilation
 | 
| +  // unit.
 | 
|    bool isTopLevel() => enclosingElement.isCompilationUnit();
 | 
|  
 | 
|    bool isAssignable() {
 | 
| @@ -207,7 +211,7 @@ class Element implements Hashable {
 | 
|    String toString() {
 | 
|      // TODO(johnniwinther): Test for nullness of name, or make non-nullness an
 | 
|      // invariant for all element types.
 | 
| -    if (!isTopLevel()) {
 | 
| +    if (enclosingElement !== null && !isTopLevel()) {
 | 
|        String holderName = enclosingElement.name.slowToString();
 | 
|        return '$kind($holderName#${name.slowToString()})';
 | 
|      } else {
 | 
| 
 |