Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * Datatypes holding information extracted by the analyzer and used by later | 6 * Datatypes holding information extracted by the analyzer and used by later |
| 7 * phases of the compiler. | 7 * phases of the compiler. |
| 8 */ | 8 */ |
| 9 library info; | 9 library info; |
| 10 | 10 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 140 } | 140 } |
| 141 | 141 |
| 142 /** | 142 /** |
| 143 * Transforms a [target] url seen in [src] (e.g. a Dart import, a .css href in | 143 * Transforms a [target] url seen in [src] (e.g. a Dart import, a .css href in |
| 144 * an HTML file, etc) into a corresponding url from the output file associated | 144 * an HTML file, etc) into a corresponding url from the output file associated |
| 145 * with [src]. This will keep 'package:', 'dart:', path-absolute, and absolute | 145 * with [src]. This will keep 'package:', 'dart:', path-absolute, and absolute |
| 146 * urls intact, but it will fix relative paths to walk from the output | 146 * urls intact, but it will fix relative paths to walk from the output |
| 147 * directory back to the input directory. An exception will be thrown if | 147 * directory back to the input directory. An exception will be thrown if |
| 148 * [target] is not under [_baseDir]. | 148 * [target] is not under [_baseDir]. |
| 149 */ | 149 */ |
| 150 String transformUrl(Path src, String target) { | 150 Path transformUrlToPath(Path src, String target) { |
|
Siggi Cherem (dart-lang)
2013/03/07 22:14:20
seems that you no longer need this part of the cha
terry
2013/03/08 20:11:24
Done.
| |
| 151 if (new Uri.fromString(target).isAbsolute) return target; | 151 if (new Uri.fromString(target).isAbsolute) return new Path(target); |
| 152 var path = new Path(target); | 152 var path = new Path(target); |
| 153 if (path.isAbsolute) return target; | 153 if (path.isAbsolute) return path; |
| 154 var pathToTarget = src.directoryPath.join(path); | 154 var pathToTarget = src.directoryPath.join(path); |
| 155 var outputLibraryDir = outputDirPath(src); | 155 var outputLibraryDir = outputDirPath(src); |
| 156 return pathToTarget.relativeTo(outputLibraryDir).canonicalize().toString(); | 156 return pathToTarget.relativeTo(outputLibraryDir).canonicalize(); |
| 157 } | 157 } |
| 158 | |
| 159 String transformUrl(Path src, String target) => | |
| 160 transformUrlToPath(src, target).toString(); | |
| 158 } | 161 } |
| 159 | 162 |
| 160 /** | 163 /** |
| 161 * Returns a "mangled" name, with a prefix and [suffix] depending on the | 164 * Returns a "mangled" name, with a prefix and [suffix] depending on the |
| 162 * compiler's settings. [forceSuffix] causes [suffix] to be appended even if | 165 * compiler's settings. [forceSuffix] causes [suffix] to be appended even if |
| 163 * the compiler is not mangling names. | 166 * the compiler is not mangling names. |
| 164 */ | 167 */ |
| 165 typedef String NameMangler(String name, String suffix, [bool forceSuffix]); | 168 typedef String NameMangler(String name, String suffix, [bool forceSuffix]); |
| 166 | 169 |
| 167 /** | 170 /** |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 191 | 194 |
| 192 /** | 195 /** |
| 193 * The inverse of [externalCode]. If this .dart file was imported via a script | 196 * The inverse of [externalCode]. If this .dart file was imported via a script |
| 194 * tag, this refers to the HTML file that imported it. | 197 * tag, this refers to the HTML file that imported it. |
| 195 */ | 198 */ |
| 196 LibraryInfo htmlFile; | 199 LibraryInfo htmlFile; |
| 197 | 200 |
| 198 /** File where the top-level code was defined. */ | 201 /** File where the top-level code was defined. */ |
| 199 Path get inputPath; | 202 Path get inputPath; |
| 200 | 203 |
| 201 /** Stylesheet with <style>...</style> */ | |
| 202 StringBuffer cssSource = new StringBuffer(); | |
| 203 | |
| 204 /** Parsed cssSource. */ | 204 /** Parsed cssSource. */ |
| 205 StyleSheet styleSheet; | 205 List<StyleSheet> styleSheets = []; |
| 206 | 206 |
| 207 /** | 207 /** |
| 208 * Name of the file that will hold any generated Dart code for this library | 208 * Name of the file that will hold any generated Dart code for this library |
| 209 * unit. | 209 * unit. |
| 210 */ | 210 */ |
| 211 String _getOutputFilename(NameMangler mangle); | 211 String _getOutputFilename(NameMangler mangle); |
| 212 | 212 |
| 213 /** This is used in transforming Dart code to track modified files. */ | 213 /** This is used in transforming Dart code to track modified files. */ |
| 214 bool modified = false; | 214 bool modified = false; |
| 215 | 215 |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 269 * All custom element definitions defined in this file or imported via | 269 * All custom element definitions defined in this file or imported via |
| 270 *`<link rel='components'>` tag. Maps from the tag name to the component | 270 *`<link rel='components'>` tag. Maps from the tag name to the component |
| 271 * information. This map is sorted by the tag name. | 271 * information. This map is sorted by the tag name. |
| 272 */ | 272 */ |
| 273 final Map<String, ComponentInfo> components = | 273 final Map<String, ComponentInfo> components = |
| 274 new SplayTreeMap<String, ComponentInfo>(); | 274 new SplayTreeMap<String, ComponentInfo>(); |
| 275 | 275 |
| 276 /** Files imported with `<link rel="component">` */ | 276 /** Files imported with `<link rel="component">` */ |
| 277 final List<Path> componentLinks = <Path>[]; | 277 final List<Path> componentLinks = <Path>[]; |
| 278 | 278 |
| 279 /** Files imported with `<link rel="stylesheet">` */ | |
| 280 final List<Path> styleSheetHref = <Path>[]; | |
| 281 | |
| 279 /** Root is associated with the body info. */ | 282 /** Root is associated with the body info. */ |
| 280 ElementInfo bodyInfo; | 283 ElementInfo bodyInfo; |
| 281 | 284 |
| 282 FileInfo(this.path, [this.isEntryPoint = false]); | 285 FileInfo(this.path, [this.isEntryPoint = false]); |
| 283 | 286 |
| 284 /** | 287 /** |
| 285 * Query for an ElementInfo matching the provided [tag], starting from the | 288 * Query for an ElementInfo matching the provided [tag], starting from the |
| 286 * [bodyInfo]. | 289 * [bodyInfo]. |
| 287 */ | 290 */ |
| 288 ElementInfo query(String tag) => new _QueryInfo(tag).visit(bodyInfo); | 291 ElementInfo query(String tag) => new _QueryInfo(tag).visit(bodyInfo); |
| (...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 707 } | 710 } |
| 708 | 711 |
| 709 visitChildren(ElementInfo info) { | 712 visitChildren(ElementInfo info) { |
| 710 for (var child in info.children) { | 713 for (var child in info.children) { |
| 711 var result = visit(child); | 714 var result = visit(child); |
| 712 if (result != null) return result; | 715 if (result != null) return result; |
| 713 } | 716 } |
| 714 return null; | 717 return null; |
| 715 } | 718 } |
| 716 } | 719 } |
| OLD | NEW |