// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

part of $LIBRARYNAME;

@DocsEditable()
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
$!MEMBERS
$if DARTIUM
  // Override these methods for Dartium _SVGGlyphRefElement can't be abstract.
  AnimatedString get href => _blink.BlinkSVGGlyphRefElement.instance.href_Getter_(this);
$endif
}

