// Copyright (c) 2019, 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;

$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {

  Entry getAsEntry() {
    Entry entry = _webkitGetAsEntry();

    if (entry.isFile)
      applyExtension('FileEntry', entry);
    else if (entry.isDirectory)
      applyExtension('DirectoryEntry', entry);
    else
      applyExtension('Entry', entry);

    return entry;
  }

$!MEMBERS
}
