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

Side by Side Diff: pkg/analyzer_experimental/example/resolver_driver.dart

Issue 45573002: Rename analyzer_experimental to analyzer. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Tweaks before publishing. Created 7 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 #!/usr/bin/env dart
2
3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
4 // for details. All rights reserved. Use of this source code is governed by a
5 // BSD-style license that can be found in the LICENSE file.
6
7 import 'package:analyzer_experimental/src/generated/java_io.dart';
8 import 'package:analyzer_experimental/src/generated/source_io.dart';
9 import 'package:analyzer_experimental/src/generated/ast.dart';
10 import 'package:analyzer_experimental/src/generated/sdk.dart' show DartSdk;
11 import 'package:analyzer_experimental/src/generated/sdk_io.dart' show DirectoryB asedDartSdk;
12 import 'package:analyzer_experimental/src/generated/element.dart';
13 import 'package:analyzer_experimental/src/generated/engine.dart';
14
15 import 'dart:io';
16
17 main() {
18 print('working dir ${new File('.').fullPathSync()}');
19
20 var args = new Options().arguments;
21 if (args.length != 2) {
22 print('Usage: resolve_driver [path_to_sdk] [file_to_resolve]');
23 exit(0);
24 }
25
26 JavaSystemIO.setProperty("com.google.dart.sdk", args[0]);
27 DartSdk sdk = DirectoryBasedDartSdk.defaultSdk;
28
29 AnalysisContext context = AnalysisEngine.instance.createAnalysisContext();
30 context.sourceFactory = new SourceFactory.con2([new DartUriResolver(sdk), new FileUriResolver()]);
31 Source source = new FileBasedSource.con1(context.sourceFactory.contentCache, n ew JavaFile(args[1]));
32 //
33 ChangeSet changeSet = new ChangeSet();
34 changeSet.added(source);
35 context.applyChanges(changeSet);
36 LibraryElement libElement = context.computeLibraryElement(source);
37 print("libElement: $libElement");
38
39 CompilationUnit resolvedUnit = context.resolveCompilationUnit(source, libEleme nt);
40 var visitor = new _ASTVisitor();
41 resolvedUnit.accept(visitor);
42 }
43
44 class _ASTVisitor extends GeneralizingASTVisitor {
45 visitNode(ASTNode node) {
46 String text = '${node.runtimeType} : <"${node.toString()}">';
47 if (node is SimpleIdentifier) {
48 Element element = (node as SimpleIdentifier).staticElement;
49 if (element != null) {
50 text += " element: ${element.runtimeType}";
51 LibraryElement library = element.library;
52 if (library != null) {
53 text += " from ${element.library.definingCompilationUnit.source.fullNa me}";
54 }
55 }
56 }
57 print(text);
58 return super.visitNode(node);
59 }
60 }
61
OLDNEW
« no previous file with comments | « pkg/analyzer_experimental/example/parser_driver.dart ('k') | pkg/analyzer_experimental/example/scanner_driver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698