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

Side by Side Diff: pkg/front_end/lib/src/fasta/deprecated_problems.dart

Issue 2980863003: The very first bits of resynthesizing elements from kernels. (Closed)
Patch Set: Created 3 years, 5 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 library fasta.errors; 5 library fasta.errors;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import 'dart:convert' show JSON; 9 import 'dart:convert' show JSON;
10 10
11 import 'dart:io' 11 import 'dart:io'
12 show ContentType, HttpClient, HttpClientRequest, SocketException, stderr; 12 show ContentType, HttpClient, HttpClientRequest, SocketException, stderr;
13 13
14 import 'colors.dart' show red; 14 import 'colors.dart' show red;
15 15
16 import 'messages.dart' show errorsAreFatal, deprecated_format, isVerbose; 16 import 'messages.dart' show errorsAreFatal, deprecated_format, isVerbose;
17 17
18 const String defaultServerAddress = "http://127.0.0.1:59410/"; 18 const String defaultServerAddress = "http://127.0.0.1:59410/";
19 19
20 /// Tracks if there has been a crash reported through [reportCrash]. Should be 20 /// Tracks if there has been a crash reported through [reportCrash]. Should be
21 /// reset between each compilation by calling [resetCrashReporting]. 21 /// reset between each compilation by calling [resetCrashReporting].
22 bool hasCrashed = false; 22 bool hasCrashed = false;
23 23
24 /// Tracks the first source URI that has been read and is used as a fall-back 24 /// Tracks the first source URI that has been read and is used as a fall-back
25 /// for [reportCrash]. Should be reset between each compilation by calling 25 /// for [reportCrash]. Should be reset between each compilation by calling
26 /// [resetCrashReporting]. 26 /// [resetCrashReporting].
27 Uri firstSourceUri; 27 Uri firstSourceUri;
28 28
29 /// This flag is a temporary solution for preventing printing a lot
30 /// of information on the console. Analyzer starts using Fasta to generate
31 /// kernels to resynthesize its element models from it. We don't want to
32 /// see all these errors and warnings on the console, while running test or
33 /// in production. TODO(scheglov): remove this flag eventually.
34 bool temporaryUntilPrintsRemovedEnablePrinting = true;
35
29 /// Used to report an error in input. 36 /// Used to report an error in input.
30 /// 37 ///
31 /// Avoid using this for reporting compile-time errors, instead use 38 /// Avoid using this for reporting compile-time errors, instead use
32 /// `LibraryBuilder.addCompileTimeError` for those. 39 /// `LibraryBuilder.addCompileTimeError` for those.
33 /// 40 ///
34 /// An input error is any error that isn't an internal error. We use the term 41 /// An input error is any error that isn't an internal error. We use the term
35 /// "input error" in favor of "user error". This way, if an input error isn't 42 /// "input error" in favor of "user error". This way, if an input error isn't
36 /// handled correctly, the user will never see a stack trace that says "user 43 /// handled correctly, the user will never see a stack trace that says "user
37 /// error". 44 /// error".
38 dynamic deprecated_inputError(Uri uri, int charOffset, Object error) { 45 dynamic deprecated_inputError(Uri uri, int charOffset, Object error) {
39 if (errorsAreFatal && isVerbose) { 46 if (errorsAreFatal && isVerbose) {
40 print(StackTrace.current); 47 print(StackTrace.current);
41 } 48 }
42 throw new deprecated_InputError(uri, charOffset, error); 49 throw new deprecated_InputError(uri, charOffset, error);
43 } 50 }
44 51
45 String deprecated_printUnexpected(Uri uri, int charOffset, String message) { 52 String deprecated_printUnexpected(Uri uri, int charOffset, String message) {
46 String formattedMessage = 53 String formattedMessage =
47 deprecated_formatUnexpected(uri, charOffset, message); 54 deprecated_formatUnexpected(uri, charOffset, message);
48 if (errorsAreFatal) { 55 if (errorsAreFatal) {
49 print(formattedMessage); 56 print(formattedMessage);
50 if (isVerbose) print(StackTrace.current); 57 if (isVerbose) print(StackTrace.current);
51 throw new deprecated_InputError(uri, charOffset, message); 58 throw new deprecated_InputError(uri, charOffset, message);
52 } 59 }
53 print(formattedMessage); 60 if (temporaryUntilPrintsRemovedEnablePrinting) {
61 print(formattedMessage);
62 }
54 return formattedMessage; 63 return formattedMessage;
55 } 64 }
56 65
57 String deprecated_formatUnexpected(Uri uri, int charOffset, String message) { 66 String deprecated_formatUnexpected(Uri uri, int charOffset, String message) {
58 return deprecated_format(uri, charOffset, colorError("Error: $message")); 67 return deprecated_format(uri, charOffset, colorError("Error: $message"));
59 } 68 }
60 69
61 String colorError(String message) { 70 String colorError(String message) {
62 // TODO(ahe): Colors need to be optional. Doesn't work well in Emacs or on 71 // TODO(ahe): Colors need to be optional. Doesn't work well in Emacs or on
63 // Windows. 72 // Windows.
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 return new Future.error(error, trace); 170 return new Future.error(error, trace);
162 } 171 }
163 172
164 String safeToString(Object object) { 173 String safeToString(Object object) {
165 try { 174 try {
166 return "$object"; 175 return "$object";
167 } catch (e) { 176 } catch (e) {
168 return "Error when converting ${object.runtimeType} to string."; 177 return "Error when converting ${object.runtimeType} to string.";
169 } 178 }
170 } 179 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698