| Index: pkg/polymer/lib/src/info.dart | 
| diff --git a/pkg/polymer/lib/src/info.dart b/pkg/polymer/lib/src/info.dart | 
| deleted file mode 100644 | 
| index 5fa901fcde5d475930e803972fd8f616aebfce07..0000000000000000000000000000000000000000 | 
| --- a/pkg/polymer/lib/src/info.dart | 
| +++ /dev/null | 
| @@ -1,183 +0,0 @@ | 
| -// Copyright (c) 2013, 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. | 
| - | 
| -/** | 
| - * Datatypes holding information extracted by the analyzer and used by later | 
| - * phases of the compiler. | 
| - */ | 
| -library polymer.src.info; | 
| - | 
| -import 'dart:collection' show SplayTreeMap, LinkedHashMap; | 
| - | 
| -import 'package:csslib/visitor.dart'; | 
| -import 'package:html5lib/dom.dart'; | 
| -import 'package:source_maps/span.dart' show Span; | 
| - | 
| -import 'messages.dart'; | 
| -import 'utils.dart'; | 
| - | 
| -/** | 
| - * Information that is global. Roughly corresponds to `window` and `document`. | 
| - */ | 
| -class GlobalInfo { | 
| -  /** | 
| -   * Pseudo-element names exposed in a component via a pseudo attribute. | 
| -   * The name is only available from CSS (not Dart code) so they're mangled. | 
| -   * The same pseudo-element in different components maps to the same | 
| -   * mangled name (as the pseudo-element is scoped inside of the component). | 
| -   */ | 
| -  final Map<String, String> pseudoElements = <String, String>{}; | 
| - | 
| -  /** All components declared in the application. */ | 
| -  final Map<String, ComponentInfo> components = new SplayTreeMap(); | 
| -} | 
| - | 
| -/** | 
| - * Information for any library-like input. We consider each HTML file a library, | 
| - * and each component declaration a library as well. Hence we use this as a base | 
| - * class for both [FileInfo] and [ComponentInfo]. Both HTML files and components | 
| - * can have .dart code provided by the user for top-level user scripts and | 
| - * component-level behavior code. This code can either be inlined in the HTML | 
| - * file or included in a script tag with the "src" attribute. | 
| - */ | 
| -abstract class LibraryInfo { | 
| -  /** Parsed cssSource. */ | 
| -  List<StyleSheet> styleSheets = []; | 
| -} | 
| - | 
| -/** Information extracted at the file-level. */ | 
| -class FileInfo extends LibraryInfo { | 
| -  /** Relative path to this file from the compiler's base directory. */ | 
| -  final UrlInfo inputUrl; | 
| - | 
| -  /** | 
| -   * All custom element definitions in this file. This may contain duplicates. | 
| -   * Normally you should use [components] for lookup. | 
| -   */ | 
| -  final List<ComponentInfo> declaredComponents = new List<ComponentInfo>(); | 
| - | 
| -  /** | 
| -   * All custom element definitions defined in this file or imported via | 
| -   *`<link rel='components'>` tag. Maps from the tag name to the component | 
| -   * information. This map is sorted by the tag name. | 
| -   */ | 
| -  final Map<String, ComponentInfo> components = | 
| -      new SplayTreeMap<String, ComponentInfo>(); | 
| - | 
| -  /** Files imported with `<link rel="import">` */ | 
| -  final List<UrlInfo> componentLinks = <UrlInfo>[]; | 
| - | 
| -  /** Files imported with `<link rel="stylesheet">` */ | 
| -  final List<UrlInfo> styleSheetHrefs = <UrlInfo>[]; | 
| - | 
| -  FileInfo(this.inputUrl); | 
| -} | 
| - | 
| - | 
| -/** Information about a web component definition declared locally. */ | 
| -class ComponentInfo extends LibraryInfo { | 
| - | 
| -  /** The component tag name, defined with the `name` attribute on `element`. */ | 
| -  final String tagName; | 
| - | 
| -  /** | 
| -   * The tag name that this component extends, defined with the `extends` | 
| -   * attribute on `element`. | 
| -   */ | 
| -  final String extendsTag; | 
| - | 
| -  /** | 
| -   * The component info associated with the [extendsTag] name, if any. | 
| -   * This will be `null` if the component extends a built-in HTML tag, or | 
| -   * if the analyzer has not run yet. | 
| -   */ | 
| -  ComponentInfo extendsComponent; | 
| - | 
| -  /** The declaring `<element>` tag. */ | 
| -  final Node element; | 
| - | 
| -  /** | 
| -   * True if [tagName] was defined by more than one component. If this happened | 
| -   * we will skip over the component. | 
| -   */ | 
| -  bool hasConflict = false; | 
| - | 
| -  ComponentInfo(this.element, this.tagName, this.extendsTag); | 
| - | 
| -  /** | 
| -   * Gets the HTML tag extended by the base of the component hierarchy. | 
| -   * Equivalent to [extendsTag] if this inherits directly from an HTML element, | 
| -   * in other words, if [extendsComponent] is null. | 
| -   */ | 
| -  String get baseExtendsTag => | 
| -      extendsComponent == null ? extendsTag : extendsComponent.baseExtendsTag; | 
| - | 
| -  Span get sourceSpan => element.sourceSpan; | 
| - | 
| -  /** Is apply-author-styles enabled. */ | 
| -  bool get hasAuthorStyles => | 
| -      element.attributes.containsKey('apply-author-styles'); | 
| - | 
| -  String toString() => '#<ComponentInfo $tagName>'; | 
| -} | 
| - | 
| - | 
| -/** | 
| - * Information extracted about a URL that refers to another file. This is | 
| - * mainly introduced to be able to trace back where URLs come from when | 
| - * reporting errors. | 
| - */ | 
| -class UrlInfo { | 
| -  /** Original url. */ | 
| -  final String url; | 
| - | 
| -  /** Path that the URL points to. */ | 
| -  final String resolvedPath; | 
| - | 
| -  /** Original source location where the URL was extracted from. */ | 
| -  final Span sourceSpan; | 
| - | 
| -  UrlInfo(this.url, this.resolvedPath, this.sourceSpan); | 
| - | 
| -  /** | 
| -   * Resolve a path from an [url] found in a file located at [inputUrl]. | 
| -   * Returns null for absolute [url]. Unless [ignoreAbsolute] is true, reports | 
| -   * an error message if the url is an absolute url. | 
| -   */ | 
| -  static UrlInfo resolve(String url, UrlInfo inputUrl, Span span, | 
| -      String packageRoot, Messages messages, {bool ignoreAbsolute: false}) { | 
| - | 
| -    var uri = Uri.parse(url); | 
| -    if (uri.host != '' || (uri.scheme != '' && uri.scheme != 'package')) { | 
| -      if (!ignoreAbsolute) { | 
| -        messages.error('absolute paths not allowed here: "$url"', span); | 
| -      } | 
| -      return null; | 
| -    } | 
| - | 
| -    var target; | 
| -    if (url.startsWith('package:')) { | 
| -      target = path.join(packageRoot, url.substring(8)); | 
| -    } else if (path.isAbsolute(url)) { | 
| -      if (!ignoreAbsolute) { | 
| -        messages.error('absolute paths not allowed here: "$url"', span); | 
| -      } | 
| -      return null; | 
| -    } else { | 
| -      target = path.join(path.dirname(inputUrl.resolvedPath), url); | 
| -      url = pathToUrl(path.normalize(path.join( | 
| -          path.dirname(inputUrl.url), url))); | 
| -    } | 
| -    target = path.normalize(target); | 
| - | 
| -    return new UrlInfo(url, target, span); | 
| -  } | 
| - | 
| -  bool operator ==(UrlInfo other) => | 
| -      url == other.url && resolvedPath == other.resolvedPath; | 
| - | 
| -  int get hashCode => resolvedPath.hashCode; | 
| - | 
| -  String toString() => "#<UrlInfo url: $url, resolvedPath: $resolvedPath>"; | 
| -} | 
|  |