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

Side by Side Diff: analyzer/lib/src/generated/java_engine.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: 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
OLDNEW
(Empty)
1 library java.engine;
2
3 import 'interner.dart';
4 import 'java_core.dart';
5
6 /**
7 * A predicate is a one-argument function that returns a boolean value.
8 */
9 typedef bool Predicate<E>(E argument);
10
11 /**
12 * Instances of the class `AnalysisException` represent an exception that
13 * occurred during the analysis of one or more sources.
14 */
15 class AnalysisException implements Exception {
16 /**
17 * The message that explains why the exception occurred.
18 */
19 final String message;
20
21 /**
22 * The exception that caused this exception, or `null` if this exception was
23 * not caused by another exception.
24 */
25 final CaughtException cause;
26
27 /**
28 * Initialize a newly created exception to have the given [message] and
29 * [cause].
30 */
31 AnalysisException([this.message = 'Exception', this.cause = null]);
32
33 String toString() {
34 StringBuffer buffer = new StringBuffer();
35 buffer.write("AnalysisException: ");
36 buffer.writeln(message);
37 if (cause != null) {
38 buffer.write('Caused by ');
39 cause._writeOn(buffer);
40 }
41 return buffer.toString();
42 }
43 }
44
45 /**
46 * Instances of the class `CaughtException` represent an exception that was
47 * caught and has an associated stack trace.
48 */
49 class CaughtException implements Exception {
50 /**
51 * The exception that was caught.
52 */
53 final Object exception;
54
55 /**
56 * The stack trace associated with the exception.
57 */
58 StackTrace stackTrace;
59
60 /**
61 * Initialize a newly created caught exception to have the given [exception]
62 * and [stackTrace].
63 */
64 CaughtException(this.exception, stackTrace) {
65 if (stackTrace == null) {
66 try {
67 throw this;
68 } catch (_, st) {
69 stackTrace = st;
70 }
71 }
72 this.stackTrace = stackTrace;
73 }
74
75 @override
76 String toString() {
77 StringBuffer buffer = new StringBuffer();
78 _writeOn(buffer);
79 return buffer.toString();
80 }
81
82 /**
83 * Write a textual representation of the caught exception and its associated
84 * stack trace.
85 */
86 void _writeOn(StringBuffer buffer) {
87 if (exception is AnalysisException) {
88 AnalysisException analysisException = exception;
89 buffer.writeln(analysisException.message);
90 if (stackTrace != null) {
91 buffer.writeln(stackTrace.toString());
92 }
93 CaughtException cause = analysisException.cause;
94 if (cause != null) {
95 buffer.write('Caused by ');
96 cause._writeOn(buffer);
97 }
98 } else {
99 buffer.writeln(exception.toString());
100 buffer.writeln(stackTrace.toString());
101 }
102 }
103 }
104
105 class FileNameUtilities {
106 static String getExtension(String fileName) {
107 if (fileName == null) {
108 return "";
109 }
110 int index = fileName.lastIndexOf('.');
111 if (index >= 0) {
112 return fileName.substring(index + 1);
113 }
114 return "";
115 }
116 }
117
118 class StringUtilities {
119 static const String EMPTY = '';
120 static const List<String> EMPTY_ARRAY = const <String>[];
121
122 static Interner INTERNER = new NullInterner();
123
124 static endsWith3(String str, int c1, int c2, int c3) {
125 var length = str.length;
126 return length >= 3 &&
127 str.codeUnitAt(length - 3) == c1 &&
128 str.codeUnitAt(length - 2) == c2 &&
129 str.codeUnitAt(length - 1) == c3;
130 }
131 static endsWithChar(String str, int c) {
132 int length = str.length;
133 return length > 0 && str.codeUnitAt(length - 1) == c;
134 }
135 static int indexOf1(String str, int start, int c) {
136 int index = start;
137 int last = str.length;
138 while (index < last) {
139 if (str.codeUnitAt(index) == c) {
140 return index;
141 }
142 index++;
143 }
144 return -1;
145 }
146 static int indexOf2(String str, int start, int c1, int c2) {
147 int index = start;
148 int last = str.length - 1;
149 while (index < last) {
150 if (str.codeUnitAt(index) == c1 && str.codeUnitAt(index + 1) == c2) {
151 return index;
152 }
153 index++;
154 }
155 return -1;
156 }
157 static int indexOf4(
158 String string, int start, int c1, int c2, int c3, int c4) {
159 int index = start;
160 int last = string.length - 3;
161 while (index < last) {
162 if (string.codeUnitAt(index) == c1 &&
163 string.codeUnitAt(index + 1) == c2 &&
164 string.codeUnitAt(index + 2) == c3 &&
165 string.codeUnitAt(index + 3) == c4) {
166 return index;
167 }
168 index++;
169 }
170 return -1;
171 }
172 static int indexOf5(
173 String str, int start, int c1, int c2, int c3, int c4, int c5) {
174 int index = start;
175 int last = str.length - 4;
176 while (index < last) {
177 if (str.codeUnitAt(index) == c1 &&
178 str.codeUnitAt(index + 1) == c2 &&
179 str.codeUnitAt(index + 2) == c3 &&
180 str.codeUnitAt(index + 3) == c4 &&
181 str.codeUnitAt(index + 4) == c5) {
182 return index;
183 }
184 index++;
185 }
186 return -1;
187 }
188
189 /**
190 * Return the index of the first not letter/digit character in the [string]
191 * that is at or after the [startIndex]. Return the length of the [string] if
192 * all characters to the end are letters/digits.
193 */
194 static int indexOfFirstNotLetterDigit(String string, int startIndex) {
195 int index = startIndex;
196 int last = string.length;
197 while (index < last) {
198 int c = string.codeUnitAt(index);
199 if (!Character.isLetterOrDigit(c)) {
200 return index;
201 }
202 index++;
203 }
204 return last;
205 }
206 static String intern(String string) => INTERNER.intern(string);
207 static bool isEmpty(String s) {
208 return s == null || s.isEmpty;
209 }
210 static bool isTagName(String s) {
211 if (s == null || s.length == 0) {
212 return false;
213 }
214 int sz = s.length;
215 for (int i = 0; i < sz; i++) {
216 int c = s.codeUnitAt(i);
217 if (!Character.isLetter(c)) {
218 if (i == 0) {
219 return false;
220 }
221 if (!Character.isDigit(c) && c != 0x2D) {
222 return false;
223 }
224 }
225 }
226 return true;
227 }
228 /**
229 * Produce a string containing all of the names in the given array, surrounded by single quotes,
230 * and separated by commas. The list must contain at least two elements.
231 *
232 * @param names the names to be printed
233 * @return the result of printing the names
234 */
235 static String printListOfQuotedNames(List<String> names) {
236 if (names == null) {
237 throw new IllegalArgumentException("The list must not be null");
238 }
239 int count = names.length;
240 if (count < 2) {
241 throw new IllegalArgumentException(
242 "The list must contain at least two names");
243 }
244 StringBuffer buffer = new StringBuffer();
245 buffer.write("'");
246 buffer.write(names[0]);
247 buffer.write("'");
248 for (int i = 1; i < count - 1; i++) {
249 buffer.write(", '");
250 buffer.write(names[i]);
251 buffer.write("'");
252 }
253 buffer.write(" and '");
254 buffer.write(names[count - 1]);
255 buffer.write("'");
256 return buffer.toString();
257 }
258 static startsWith2(String str, int start, int c1, int c2) {
259 return str.length - start >= 2 &&
260 str.codeUnitAt(start) == c1 &&
261 str.codeUnitAt(start + 1) == c2;
262 }
263 static startsWith3(String str, int start, int c1, int c2, int c3) {
264 return str.length - start >= 3 &&
265 str.codeUnitAt(start) == c1 &&
266 str.codeUnitAt(start + 1) == c2 &&
267 str.codeUnitAt(start + 2) == c3;
268 }
269 static startsWith4(String str, int start, int c1, int c2, int c3, int c4) {
270 return str.length - start >= 4 &&
271 str.codeUnitAt(start) == c1 &&
272 str.codeUnitAt(start + 1) == c2 &&
273 str.codeUnitAt(start + 2) == c3 &&
274 str.codeUnitAt(start + 3) == c4;
275 }
276 static startsWith5(
277 String str, int start, int c1, int c2, int c3, int c4, int c5) {
278 return str.length - start >= 5 &&
279 str.codeUnitAt(start) == c1 &&
280 str.codeUnitAt(start + 1) == c2 &&
281 str.codeUnitAt(start + 2) == c3 &&
282 str.codeUnitAt(start + 3) == c4 &&
283 str.codeUnitAt(start + 4) == c5;
284 }
285 static startsWith6(
286 String str, int start, int c1, int c2, int c3, int c4, int c5, int c6) {
287 return str.length - start >= 6 &&
288 str.codeUnitAt(start) == c1 &&
289 str.codeUnitAt(start + 1) == c2 &&
290 str.codeUnitAt(start + 2) == c3 &&
291 str.codeUnitAt(start + 3) == c4 &&
292 str.codeUnitAt(start + 4) == c5 &&
293 str.codeUnitAt(start + 5) == c6;
294 }
295 static startsWithChar(String str, int c) {
296 return str.length != 0 && str.codeUnitAt(0) == c;
297 }
298
299 static String substringBefore(String str, String separator) {
300 if (str == null || str.isEmpty) {
301 return str;
302 }
303 if (separator == null) {
304 return str;
305 }
306 int pos = str.indexOf(separator);
307 if (pos < 0) {
308 return str;
309 }
310 return str.substring(0, pos);
311 }
312
313 static String substringBeforeChar(String str, int c) {
314 if (isEmpty(str)) {
315 return str;
316 }
317 int pos = indexOf1(str, 0, c);
318 if (pos < 0) {
319 return str;
320 }
321 return str.substring(0, pos);
322 }
323 }
324
325 class UUID {
326 static int __nextId = 0;
327 final String id;
328 UUID(this.id);
329 String toString() => id;
330 static UUID randomUUID() => new UUID((__nextId).toString());
331 }
OLDNEW
« no previous file with comments | « analyzer/lib/src/generated/java_core.dart ('k') | analyzer/lib/src/generated/java_engine_io.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698