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

Side by Side Diff: lib/src/dart_parser.dart

Issue 55143003: webui fixes for 0.8.9 (Closed) Base URL: git@github.com:dart-lang/web-ui.git@master
Patch Set: 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 * Parser for Dart code based on the experimental analyzer. 6 * Parser for Dart code based on the experimental analyzer.
7 */ 7 */
8 library dart_parser; 8 library dart_parser;
9 9
10 import 'dart:utf';
11 import 'dart:math' as math;
12 import 'package:analyzer_experimental/src/generated/ast.dart'; 10 import 'package:analyzer_experimental/src/generated/ast.dart';
13 import 'package:analyzer_experimental/src/generated/error.dart'; 11 import 'package:analyzer_experimental/src/generated/error.dart';
14 import 'package:analyzer_experimental/src/generated/parser.dart'; 12 import 'package:analyzer_experimental/src/generated/parser.dart';
15 import 'package:analyzer_experimental/src/generated/scanner.dart'; 13 import 'package:analyzer_experimental/src/generated/scanner.dart';
16 import 'package:source_maps/span.dart' show SourceFile, SourceFileSegment, Locat ion; 14 import 'package:source_maps/span.dart' show SourceFile, SourceFileSegment, Locat ion;
17 import 'info.dart';
18 import 'messages.dart'; 15 import 'messages.dart';
19 import 'refactor.dart' show $CR, $LF;
20 import 'utils.dart'; 16 import 'utils.dart';
21 17
22 /** Information extracted from a source Dart file. */ 18 /** Information extracted from a source Dart file. */
23 class DartCodeInfo extends Hashable { 19 class DartCodeInfo extends Hashable {
24 20
25 /** Library qualified identifier, if any. */ 21 /** Library qualified identifier, if any. */
26 final String libraryName; 22 final String libraryName;
27 23
28 /** Library which the code is part-of, if any. */ 24 /** Library which the code is part-of, if any. */
29 final String partOf; 25 final String partOf;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 for (var directive in unit.directives) { 99 for (var directive in unit.directives) {
104 if (directive is LibraryDirective) { 100 if (directive is LibraryDirective) {
105 libraryName = directive.name.name; 101 libraryName = directive.name.name;
106 } else if (directive is PartOfDirective) { 102 } else if (directive is PartOfDirective) {
107 partName = directive.libraryName.name; 103 partName = directive.libraryName.name;
108 } else { 104 } else {
109 assert(directive is UriBasedDirective); 105 assert(directive is UriBasedDirective);
110 // Normalize the library URI. 106 // Normalize the library URI.
111 var uriNode = directive.uri; 107 var uriNode = directive.uri;
112 if (uriNode is! SimpleStringLiteral) { 108 if (uriNode is! SimpleStringLiteral) {
113 String uri = uriNode.accept(new ConstantEvaluator(null)); 109 String uri = uriNode.accept(new ConstantEvaluator());
114 directive.uri = createStringLiteral(uri); 110 directive.uri = createStringLiteral(uri);
115 } 111 }
116 directives.add(directive); 112 directives.add(directive);
117 } 113 }
118 } 114 }
119 115
120 var sourceFile = offset == null 116 var sourceFile = offset == null
121 ? new SourceFile.text(path, code) 117 ? new SourceFile.text(path, code)
122 : new SourceFileSegment(path, code, offset); 118 : new SourceFileSegment(path, code, offset);
123 119
(...skipping 11 matching lines...) Expand all
135 var unit = parser.parseCompilationUnit(token); 131 var unit = parser.parseCompilationUnit(token);
136 132
137 if (path == null || messages == null) return unit; 133 if (path == null || messages == null) return unit;
138 134
139 // TODO(jmesserly): removed this for now because the analyzer doesn't format 135 // TODO(jmesserly): removed this for now because the analyzer doesn't format
140 // messages properly, so you end up with things like "Unexpected token '%s'". 136 // messages properly, so you end up with things like "Unexpected token '%s'".
141 // This used to convert parser messages into our messages. Enable this 137 // This used to convert parser messages into our messages. Enable this
142 // once analyzer is fixed. 138 // once analyzer is fixed.
143 // TODO(sigmund): once we enable this, we need to fix compiler.dart to clear 139 // TODO(sigmund): once we enable this, we need to fix compiler.dart to clear
144 // out the output of the compiler if we see compilation errors. 140 // out the output of the compiler if we see compilation errors.
145 if (false) { 141 // if (false) {
146 var file = new SourceFile.text(path, code); 142 // var file = new SourceFile.text(path, code);
147 for (var e in errorListener.errors) { 143 // for (var e in errorListener.errors) {
148 var span = file.span(e.offset, e.offset + e.length); 144 // var span = file.span(e.offset, e.offset + e.length);
149 145 //
150 var severity = e.errorCode.errorSeverity; 146 // var severity = e.errorCode.errorSeverity;
151 if (severity == ErrorSeverity.ERROR) { 147 // if (severity == ErrorSeverity.ERROR) {
152 messages.error(e.message, span); 148 // messages.error(e.message, span);
153 } else { 149 // } else {
154 assert(severity == ErrorSeverity.WARNING); 150 // assert(severity == ErrorSeverity.WARNING);
155 messages.warning(e.message, span); 151 // messages.warning(e.message, span);
156 } 152 // }
157 } 153 // }
158 } 154 // }
159 155
160 return unit; 156 return unit;
161 } 157 }
162 158
163 class _ErrorCollector extends AnalysisErrorListener { 159 class _ErrorCollector extends AnalysisErrorListener {
164 final errors = new List<AnalysisError>(); 160 final errors = new List<AnalysisError>();
165 onError(error) => errors.add(error); 161 onError(error) => errors.add(error);
166 } 162 }
OLDNEW
« no previous file with comments | « lib/src/code_printer.dart ('k') | lib/src/file_system/console.dart » ('j') | pubspec.yaml » ('J')

Powered by Google App Engine
This is Rietveld 408576698