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

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

Issue 1401273002: Move DDC to analyzer-based checker (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: rebase Created 5 years, 2 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 unified diff | Download patch
« no previous file with comments | « lib/src/info.dart ('k') | lib/src/utils.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 /// Development server that compiles Dart to JS on the fly. 5 /// Development server that compiles Dart to JS on the fly.
6 library dev_compiler.src.server; 6 library dev_compiler.src.server;
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import 'dart:convert'; 9 import 'dart:convert';
10 import 'dart:io'; 10 import 'dart:io';
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 // dependency_graph now detects broken imports or unsupported features 77 // dependency_graph now detects broken imports or unsupported features
78 // like more than one script tag (see .severe messages in 78 // like more than one script tag (see .severe messages in
79 // dependency_graph.dart). Such failures should be reported back 79 // dependency_graph.dart). Such failures should be reported back
80 // here so we can mark failure=true in the CheckerResults. 80 // here so we can mark failure=true in the CheckerResults.
81 rebuild(_entryNode, _buildSource); 81 rebuild(_entryNode, _buildSource);
82 _dumpInfoIfRequested(); 82 _dumpInfoIfRequested();
83 clock.stop(); 83 clock.stop();
84 var time = (clock.elapsedMilliseconds / 1000).toStringAsFixed(2); 84 var time = (clock.elapsedMilliseconds / 1000).toStringAsFixed(2);
85 _log.fine('Compiled ${_libraries.length} libraries in ${time} s\n'); 85 _log.fine('Compiled ${_libraries.length} libraries in ${time} s\n');
86 return new CheckerResults( 86 return new CheckerResults(
87 _libraries, rules, _failure || options.codegenOptions.forceCompile); 87 _libraries, _failure || options.codegenOptions.forceCompile);
88 } 88 }
89 89
90 bool _buildSource(SourceNode node) { 90 bool _buildSource(SourceNode node) {
91 if (node is HtmlSourceNode) { 91 if (node is HtmlSourceNode) {
92 _buildHtmlFile(node); 92 _buildHtmlFile(node);
93 } else if (node is DartSourceNode) { 93 } else if (node is DartSourceNode) {
94 _buildDartLibrary(node); 94 _buildDartLibrary(node);
95 } else if (node is ResourceSourceNode) { 95 } else if (node is ResourceSourceNode) {
96 _buildResourceFile(node); 96 _buildResourceFile(node);
97 } else { 97 } else {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 _libraries.add(current); 147 _libraries.add(current);
148 148
149 var resolvedParts = node.parts 149 var resolvedParts = node.parts
150 .map((p) => context.resolveCompilationUnit2(p.source, source)) 150 .map((p) => context.resolveCompilationUnit2(p.source, source))
151 .toList(growable: false); 151 .toList(growable: false);
152 var libraryUnit = new LibraryUnit(entryUnit, resolvedParts); 152 var libraryUnit = new LibraryUnit(entryUnit, resolvedParts);
153 bool failureInLib = false; 153 bool failureInLib = false;
154 for (var unit in libraryUnit.libraryThenParts) { 154 for (var unit in libraryUnit.libraryThenParts) {
155 var unitSource = unit.element.source; 155 var unitSource = unit.element.source;
156 // TODO(sigmund): integrate analyzer errors with static-info (issue #6). 156 // TODO(sigmund): integrate analyzer errors with static-info (issue #6).
157 failureInLib = logErrors(unitSource) || failureInLib; 157 failureInLib = computeErrors(unitSource) || failureInLib;
158 checker.visitCompilationUnit(unit);
159 if (checker.failure) failureInLib = true;
160 } 158 }
161 if (failureInLib) { 159 if (failureInLib) {
162 _failure = true; 160 _failure = true;
163 if (!options.codegenOptions.forceCompile) return; 161 if (!options.codegenOptions.forceCompile) return;
164 } 162 }
165 163
166 for (var cg in _generators) { 164 for (var cg in _generators) {
167 var hash = cg.generateLibrary(libraryUnit); 165 var hash = cg.generateLibrary(libraryUnit);
168 if (_hashing) node.cachingHash = hash; 166 if (_hashing) node.cachingHash = hash;
169 } 167 }
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 301
304 Source resolveAbsolute(Uri uri, [Uri actualUri]) { 302 Source resolveAbsolute(Uri uri, [Uri actualUri]) {
305 var src = resolver.resolveAbsolute(uri, actualUri); 303 var src = resolver.resolveAbsolute(uri, actualUri);
306 return src.exists() ? src : null; 304 return src.exists() ? src : null;
307 } 305 }
308 306
309 Uri restoreAbsolute(Source source) => resolver.restoreAbsolute(source); 307 Uri restoreAbsolute(Source source) => resolver.restoreAbsolute(source);
310 } 308 }
311 309
312 final _log = new Logger('dev_compiler.src.server'); 310 final _log = new Logger('dev_compiler.src.server');
313 final _earlyErrorResult = new CheckerResults(const [], null, true); 311 final _earlyErrorResult = new CheckerResults(const [], true);
OLDNEW
« no previous file with comments | « lib/src/info.dart ('k') | lib/src/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698