anchor.diff:        return new jsAst.ArrayInitializer(data);
       }
   
  -    ClassElement classElement = constant.type.element;
  +    ClassEntity classElement = constant.type.element;
       String className = classElement.name;
   
       List<jsAst.Expression> arguments = <jsAst.Expression>[];
  
positive.code:     return value;
    }
  
    jsAst.PropertyAccess getHelperProperty(MethodElement helper) {
      return _emitter.staticFunctionAccess(helper);
    }
  
    @override
    jsAst.Expression visitType(TypeConstantValue constant, [_]) {
      ResolutionDartType type = constant.representedType;
      jsAst.Name typeName = _namer.runtimeTypeName(type.element);
      return new jsAst.Call(getHelperProperty(_commonElements.createRuntimeType),
          [js.quoteName(typeName)]);
    }
  
negative.code:     return value;
    }
  
    jsAst.Expression _reifiedTypeArguments(InterfaceType type) {
      jsAst.Expression unexpected(TypeVariableType _variable) {
        TypeVariableType variable = _variable;
        throw failedAt(
            NO_LOCATION_SPANNABLE,
            "Unexpected type variable '${variable}'"
            " in constant type '${type}'");
      }
  
      List<jsAst.Expression> arguments = <jsAst.Expression>[];
      for (DartType argument in type.typeArguments) {
        arguments.add(
            _rtiEncoder.getTypeRepresentation(_emitter, argument, unexpected));
      }
  