anchor.diff:          .prop(dart_objects.coerceString(token, 'name'));
     }
   }
  +
  +class _PrivateConstructorException {
  +  final String constructorName;
  +  _PrivateConstructorException(this.constructorName);
  +}
  
positive.code:     var maybeUseValue = provider.getField('useValue');
      if (!dart_objects.isNull(maybeUseValue)) {
        if (maybeUseValue.toStringValue() == noValueProvided) return null;
        return _useValueExpression(maybeUseValue);
      }
      return null;
    }
  
negative.code:     var importType = o.importType(id, null, [o.TypeModifier.Const]);
  
      if (invocation.constructor.name.isNotEmpty) {
        if (invocation.constructor.name.startsWith('_')) {
          throw new _PrivateConstructorException(
              '${id.name}.${invocation.constructor.name}');
        }
        return new o.InstantiateExpr(
            type.prop(invocation.constructor.name), params, importType);
      }
  