Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: third_party/pkg/angular/lib/tools/source_crawler_impl.dart

Issue 1058283006: Update pubspecs and dependencies to get pkgbuild tests working. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/pkg/angular/lib/tools/source_crawler_impl.dart
diff --git a/third_party/pkg/angular/lib/tools/source_crawler_impl.dart b/third_party/pkg/angular/lib/tools/source_crawler_impl.dart
deleted file mode 100644
index b32940c0d743d919d73a398a86b89f7d6f485660..0000000000000000000000000000000000000000
--- a/third_party/pkg/angular/lib/tools/source_crawler_impl.dart
+++ /dev/null
@@ -1,98 +0,0 @@
-library angular.source_crawler_impl;
-
-import 'dart:io';
-import 'package:analyzer/analyzer.dart';
-import 'package:angular/tools/source_crawler.dart';
-
-const String PACKAGE_PREFIX = 'package:';
-
-/**
- * Dart source file crawler. As it crawls Dart source, it calls
- * [CompilationUnitVisitor] on each file.
- */
-class SourceCrawlerImpl implements SourceCrawler {
- final List<String> packageRoots;
-
- SourceCrawlerImpl(this.packageRoots);
-
- void crawl(String entryPoint, CompilationUnitVisitor visitor) {
- List<String> visited = <String>[];
- List<String> toVisit = <String>[];
- if (entryPoint.startsWith(PACKAGE_PREFIX)) {
- var path = resolvePackagePath(entryPoint);
- if (path == null) {
- throw 'Unable to resolve $entryPoint';
- }
- toVisit.add(path);
- } else {
- toVisit.add(entryPoint);
- }
-
- while (toVisit.isNotEmpty) {
- var currentFile = toVisit.removeAt(0);
- visited.add(currentFile);
- var file = new File(currentFile);
- // Possible source file doesn't exist. For example if it is generated.
- if (!file.existsSync()) continue;
- var currentDir = file.parent.path;
- CompilationUnit cu = parseDartFile(currentFile);
- processImports(cu, currentDir, currentFile, visited, toVisit);
- visitor(cu);
- }
- }
-
- void processImports(CompilationUnit cu, String currentDir,
- String currentFile, List<String> visited,
- List<String> toVisit) {
- cu.directives.forEach((Directive directive) {
- if (directive is ImportDirective || directive is PartDirective) {
- UriBasedDirective import = directive;
- String canonicalFile = canonicalizeImportPath(
- currentDir, currentFile, import.uri.stringValue);
- if (canonicalFile == null) return;
- if (!visited.contains(canonicalFile) &&
- !toVisit.contains(canonicalFile)) {
- toVisit.add(canonicalFile);
- }
- }
- });
- }
-
- String canonicalizeImportPath(String currentDir,
- String currentFile,
- String uri) {
- // ignore core libraries
- if (uri.startsWith('dart:')) {
- return null;
- }
- if (uri.startsWith(PACKAGE_PREFIX)) {
- return resolvePackagePath(uri);
- }
- // relative import.
- if (uri.startsWith('../')) {
- while (uri.startsWith('../')) {
- uri = uri.substring('../'.length);
- currentDir = currentDir.substring(0, currentDir.lastIndexOf('/'));
- }
- }
- return '$currentDir/$uri';
- }
-
- String resolvePackagePath(String uri) {
- for (String packageRoot in packageRoots) {
- var resolvedPath = _packageUriResolver(uri, packageRoot);
- if (new File(resolvedPath).existsSync()) {
- return resolvedPath;
- }
- }
- return null;
- }
-
- String _packageUriResolver(String uri, String packageRoot) {
- var packagePath = uri.substring(PACKAGE_PREFIX.length);
- if (!packageRoot.endsWith('/')) {
- packageRoot = packageRoot + '/';
- }
- return packageRoot + packagePath;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698