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

Side by Side Diff: pkg/analyzer-experimental/test/generated/test_support.dart

Issue 12253009: Fresh drop of analyzer-experimental. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // This code was auto-generated, is not intended to be edited, and is subject to 1 // This code was auto-generated, is not intended to be edited, and is subject to
2 // significant change. Please see the README file for more information. 2 // significant change. Please see the README file for more information.
3 3
4 library engine.test_support; 4 library engine.test_support;
5 5
6 import 'dart:collection'; 6 import 'dart:collection';
7 import 'package:analyzer-experimental/src/generated/java_core.dart'; 7 import 'package:analyzer-experimental/src/generated/java_core.dart';
8 import 'package:analyzer-experimental/src/generated/java_engine.dart'; 8 import 'package:analyzer-experimental/src/generated/java_engine.dart';
9 import 'package:analyzer-experimental/src/generated/java_junit.dart'; 9 import 'package:analyzer-experimental/src/generated/java_junit.dart';
10 import 'package:analyzer-experimental/src/generated/source.dart'; 10 import 'package:analyzer-experimental/src/generated/source.dart';
(...skipping 24 matching lines...) Expand all
35 */ 35 */
36 Map<Source, LineInfo> _lineInfoMap = new Map<Source, LineInfo>(); 36 Map<Source, LineInfo> _lineInfoMap = new Map<Source, LineInfo>();
37 /** 37 /**
38 * An empty array of errors used when no errors are expected. 38 * An empty array of errors used when no errors are expected.
39 */ 39 */
40 static List<AnalysisError> _NO_ERRORS = new List<AnalysisError>.fixedLength(0) ; 40 static List<AnalysisError> _NO_ERRORS = new List<AnalysisError>.fixedLength(0) ;
41 /** 41 /**
42 * Initialize a newly created error listener to collect errors. 42 * Initialize a newly created error listener to collect errors.
43 */ 43 */
44 GatheringErrorListener() : super() { 44 GatheringErrorListener() : super() {
45 _jtd_constructor_234_impl(); 45 _jtd_constructor_258_impl();
46 } 46 }
47 _jtd_constructor_234_impl() { 47 _jtd_constructor_258_impl() {
48 } 48 }
49 /** 49 /**
50 * Initialize a newly created error listener to collect errors. 50 * Initialize a newly created error listener to collect errors.
51 */ 51 */
52 GatheringErrorListener.con1(String rawSource) { 52 GatheringErrorListener.con1(String rawSource2) {
53 _jtd_constructor_235_impl(rawSource); 53 _jtd_constructor_259_impl(rawSource2);
54 } 54 }
55 _jtd_constructor_235_impl(String rawSource) { 55 _jtd_constructor_259_impl(String rawSource2) {
56 this._rawSource = rawSource; 56 this._rawSource = rawSource2;
57 this._markedSource = rawSource; 57 this._markedSource = rawSource2;
58 } 58 }
59 /** 59 /**
60 * Assert that the number of errors that have been gathered matches the number of errors that are 60 * Assert that the number of errors that have been gathered matches the number of errors that are
61 * given and that they have the expected error codes and locations. The order in which the errors 61 * given and that they have the expected error codes and locations. The order in which the errors
62 * were gathered is ignored. 62 * were gathered is ignored.
63 * @param errorCodes the errors that should have been gathered 63 * @param errorCodes the errors that should have been gathered
64 * @throws AssertionFailedError if a different number of errors have been gath ered than were 64 * @throws AssertionFailedError if a different number of errors have been gath ered than were
65 * expected or if they do not have the same codes and locations 65 * expected or if they do not have the same codes and locations
66 */ 66 */
67 void assertErrors(List<AnalysisError> expectedErrors) { 67 void assertErrors(List<AnalysisError> expectedErrors) {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 * are given and that there are the same number of errors and warnings as spec ified by the 163 * are given and that there are the same number of errors and warnings as spec ified by the
164 * argument. The order in which the errors were gathered is ignored. 164 * argument. The order in which the errors were gathered is ignored.
165 * @param expectedSeverities the severities of the errors that should have bee n gathered 165 * @param expectedSeverities the severities of the errors that should have bee n gathered
166 * @throws AssertionFailedError if a different number of errors have been gath ered than were 166 * @throws AssertionFailedError if a different number of errors have been gath ered than were
167 * expected 167 * expected
168 */ 168 */
169 void assertErrors3(List<ErrorSeverity> expectedSeverities) { 169 void assertErrors3(List<ErrorSeverity> expectedSeverities) {
170 int expectedErrorCount = 0; 170 int expectedErrorCount = 0;
171 int expectedWarningCount = 0; 171 int expectedWarningCount = 0;
172 for (ErrorSeverity severity in expectedSeverities) { 172 for (ErrorSeverity severity in expectedSeverities) {
173 if (severity == ErrorSeverity.ERROR) { 173 if (identical(severity, ErrorSeverity.ERROR)) {
174 expectedErrorCount++; 174 expectedErrorCount++;
175 } else { 175 } else {
176 expectedWarningCount++; 176 expectedWarningCount++;
177 } 177 }
178 } 178 }
179 int actualErrorCount = 0; 179 int actualErrorCount = 0;
180 int actualWarningCount = 0; 180 int actualWarningCount = 0;
181 for (AnalysisError error in _errors) { 181 for (AnalysisError error in _errors) {
182 if (error.errorCode.errorSeverity == ErrorSeverity.ERROR) { 182 if (identical(error.errorCode.errorSeverity, ErrorSeverity.ERROR)) {
183 actualErrorCount++; 183 actualErrorCount++;
184 } else { 184 } else {
185 actualWarningCount++; 185 actualWarningCount++;
186 } 186 }
187 } 187 }
188 if (expectedErrorCount != actualErrorCount || expectedWarningCount != actual WarningCount) { 188 if (expectedErrorCount != actualErrorCount || expectedWarningCount != actual WarningCount) {
189 JUnitTestCase.fail("Expected ${expectedErrorCount} errors and ${expectedWa rningCount} warnings, found ${actualErrorCount} errors and ${actualWarningCount} warnings"); 189 JUnitTestCase.fail("Expected ${expectedErrorCount} errors and ${expectedWa rningCount} warnings, found ${actualErrorCount} errors and ${actualWarningCount} warnings");
190 } 190 }
191 } 191 }
192 /** 192 /**
193 * Assert that no errors have been gathered. 193 * Assert that no errors have been gathered.
194 * @throws AssertionFailedError if any errors have been gathered 194 * @throws AssertionFailedError if any errors have been gathered
195 */ 195 */
196 void assertNoErrors() { 196 void assertNoErrors() {
197 assertErrors(GatheringErrorListener._NO_ERRORS); 197 assertErrors(_NO_ERRORS);
198 } 198 }
199 /** 199 /**
200 * Return the errors that were collected. 200 * Return the errors that were collected.
201 * @return the errors that were collected 201 * @return the errors that were collected
202 */ 202 */
203 List<AnalysisError> get errors => _errors; 203 List<AnalysisError> get errors => _errors;
204 /** 204 /**
205 * Return {@code true} if an error with the given error code has been gathered . 205 * Return {@code true} if an error with the given error code has been gathered .
206 * @param errorCode the error code being searched for 206 * @param errorCode the error code being searched for
207 * @return {@code true} if an error with the given error code has been gathere d 207 * @return {@code true} if an error with the given error code has been gathere d
208 */ 208 */
209 bool hasError(ErrorCode errorCode) { 209 bool hasError(ErrorCode errorCode4) {
210 for (AnalysisError error in _errors) { 210 for (AnalysisError error in _errors) {
211 if (error.errorCode == errorCode) { 211 if (identical(error.errorCode, errorCode4)) {
212 return true; 212 return true;
213 } 213 }
214 } 214 }
215 return false; 215 return false;
216 } 216 }
217 void onError(AnalysisError error) { 217 void onError(AnalysisError error) {
218 if (_rawSource != null) { 218 if (_rawSource != null) {
219 int left = error.offset; 219 int left = error.offset;
220 int right = left + error.length - 1; 220 int right = left + error.length - 1;
221 _markedSource = "${_rawSource.substring(0, left)}^${_rawSource.substring(l eft, right)}^${_rawSource.substring(right)}"; 221 _markedSource = "${_rawSource.substring(0, left)}^${_rawSource.substring(l eft, right)}^${_rawSource.substring(right)}";
(...skipping 15 matching lines...) Expand all
237 */ 237 */
238 void setLineInfo2(Source source, LineInfo lineInfo) { 238 void setLineInfo2(Source source, LineInfo lineInfo) {
239 _lineInfoMap[source] = lineInfo; 239 _lineInfoMap[source] = lineInfo;
240 } 240 }
241 /** 241 /**
242 * Return {@code true} if the two errors are equivalent. 242 * Return {@code true} if the two errors are equivalent.
243 * @param firstError the first error being compared 243 * @param firstError the first error being compared
244 * @param secondError the second error being compared 244 * @param secondError the second error being compared
245 * @return {@code true} if the two errors are equivalent 245 * @return {@code true} if the two errors are equivalent
246 */ 246 */
247 bool equals(AnalysisError firstError, AnalysisError secondError) => firstError .errorCode == secondError.errorCode && firstError.offset == secondError.offset & & firstError.length == secondError.length && equals3(firstError.source, secondEr ror.source); 247 bool equals(AnalysisError firstError, AnalysisError secondError) => identical( firstError.errorCode, secondError.errorCode) && firstError.offset == secondError .offset && firstError.length == secondError.length && equals3(firstError.source, secondError.source);
248 /** 248 /**
249 * Return {@code true} if the two sources are equivalent. 249 * Return {@code true} if the two sources are equivalent.
250 * @param firstSource the first source being compared 250 * @param firstSource the first source being compared
251 * @param secondSource the second source being compared 251 * @param secondSource the second source being compared
252 * @return {@code true} if the two sources are equivalent 252 * @return {@code true} if the two sources are equivalent
253 */ 253 */
254 bool equals3(Source firstSource, Source secondSource) { 254 bool equals3(Source firstSource, Source secondSource) {
255 if (firstSource == null) { 255 if (firstSource == null) {
256 return secondSource == null; 256 return secondSource == null;
257 } else if (secondSource == null) { 257 } else if (secondSource == null) {
258 return false; 258 return false;
259 } 259 }
260 return firstSource == secondSource; 260 return firstSource == secondSource;
261 } 261 }
262 /** 262 /**
263 * Assert that the number of errors that have been gathered matches the number of errors that are 263 * Assert that the number of errors that have been gathered matches the number of errors that are
264 * given and that they have the expected error codes. The order in which the e rrors were gathered 264 * given and that they have the expected error codes. The order in which the e rrors were gathered
265 * is ignored. 265 * is ignored.
266 * @param errorCodes the errors that should have been gathered 266 * @param errorCodes the errors that should have been gathered
267 * @throws AssertionFailedError with 267 * @throws AssertionFailedError with
268 */ 268 */
269 void fail(List<AnalysisError> expectedErrors) { 269 void fail(List<AnalysisError> expectedErrors) {
270 PrintStringWriter writer = new PrintStringWriter(); 270 PrintStringWriter writer = new PrintStringWriter();
271 writer.print("Expected "); 271 writer.print("Expected ");
272 writer.print(expectedErrors.length); 272 writer.print(expectedErrors.length);
273 writer.print(" errors:"); 273 writer.print(" errors:");
274 for (AnalysisError error in expectedErrors) { 274 for (AnalysisError error in expectedErrors) {
275 Source source5 = error.source; 275 Source source9 = error.source;
276 LineInfo lineInfo = _lineInfoMap[source5]; 276 LineInfo lineInfo = _lineInfoMap[source9];
277 writer.println(); 277 writer.println();
278 if (lineInfo == null) { 278 if (lineInfo == null) {
279 int offset8 = error.offset; 279 int offset9 = error.offset;
280 writer.printf(" %s %s (%d..%d)", [source5 == null ? "" : source5.shortN ame, error.errorCode, offset8, offset8 + error.length]); 280 writer.printf(" %s %s (%d..%d)", [source9 == null ? "" : source9.shortN ame, error.errorCode, offset9, offset9 + error.length]);
281 } else { 281 } else {
282 LineInfo_Location location = lineInfo.getLocation(error.offset); 282 LineInfo_Location location = lineInfo.getLocation(error.offset);
283 writer.printf(" %s %s (%d, %d/%d)", [source5 == null ? "" : source5.sho rtName, error.errorCode, location.lineNumber, location.columnNumber, error.lengt h]); 283 writer.printf(" %s %s (%d, %d/%d)", [source9 == null ? "" : source9.sho rtName, error.errorCode, location.lineNumber, location.columnNumber, error.lengt h]);
284 } 284 }
285 } 285 }
286 writer.println(); 286 writer.println();
287 writer.print("found "); 287 writer.print("found ");
288 writer.print(_errors.length); 288 writer.print(_errors.length);
289 writer.print(" errors:"); 289 writer.print(" errors:");
290 for (AnalysisError error in _errors) { 290 for (AnalysisError error in _errors) {
291 Source source6 = error.source; 291 Source source10 = error.source;
292 LineInfo lineInfo = _lineInfoMap[source6]; 292 LineInfo lineInfo = _lineInfoMap[source10];
293 writer.println(); 293 writer.println();
294 if (lineInfo == null) { 294 if (lineInfo == null) {
295 int offset9 = error.offset; 295 int offset10 = error.offset;
296 writer.printf(" %s %s (%d..%d): %s", [source6 == null ? "" : source6.sh ortName, error.errorCode, offset9, offset9 + error.length, error.message]); 296 writer.printf(" %s %s (%d..%d): %s", [source10 == null ? "" : source10. shortName, error.errorCode, offset10, offset10 + error.length, error.message]);
297 } else { 297 } else {
298 LineInfo_Location location = lineInfo.getLocation(error.offset); 298 LineInfo_Location location = lineInfo.getLocation(error.offset);
299 writer.printf(" %s %s (%d, %d/%d): %s", [source6 == null ? "" : source6 .shortName, error.errorCode, location.lineNumber, location.columnNumber, error.l ength, error.message]); 299 writer.printf(" %s %s (%d, %d/%d): %s", [source10 == null ? "" : source 10.shortName, error.errorCode, location.lineNumber, location.columnNumber, error .length, error.message]);
300 } 300 }
301 } 301 }
302 JUnitTestCase.fail(writer.toString()); 302 JUnitTestCase.fail(writer.toString());
303 } 303 }
304 /** 304 /**
305 * Search through the given list of errors for an error that is equal to the t arget error. If one 305 * Search through the given list of errors for an error that is equal to the t arget error. If one
306 * is found, remove it from the list and return {@code true}, otherwise return {@code false}without modifying the list. 306 * is found, remove it from the list and return {@code true}, otherwise return {@code false}without modifying the list.
307 * @param errors the errors through which we are searching 307 * @param errors the errors through which we are searching
308 * @param targetError the error being searched for 308 * @param targetError the error being searched for
309 * @return {@code true} if the error is found and removed from the list 309 * @return {@code true} if the error is found and removed from the list
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 } 369 }
370 } 370 }
371 } 371 }
372 /** 372 /**
373 * Assert that a given String is equal to an expected value. 373 * Assert that a given String is equal to an expected value.
374 * @param expected the expected String value 374 * @param expected the expected String value
375 * @param actual the actual String value 375 * @param actual the actual String value
376 */ 376 */
377 static void assertEqualString(String expected, String actual) { 377 static void assertEqualString(String expected, String actual) {
378 if (actual == null || expected == null) { 378 if (actual == null || expected == null) {
379 if (actual == expected) { 379 if (identical(actual, expected)) {
380 return; 380 return;
381 } 381 }
382 if (actual == null) { 382 if (actual == null) {
383 JUnitTestCase.assertTrueMsg("Content not as expected: is 'null' expected : ${expected}", false); 383 JUnitTestCase.assertTrueMsg("Content not as expected: is 'null' expected : ${expected}", false);
384 } else { 384 } else {
385 JUnitTestCase.assertTrueMsg("Content not as expected: expected 'null' is : ${actual}", false); 385 JUnitTestCase.assertTrueMsg("Content not as expected: expected 'null' is : ${actual}", false);
386 } 386 }
387 } 387 }
388 int diffPos = getDiffPos(expected, actual); 388 int diffPos = getDiffPos(expected, actual);
389 if (diffPos != -1) { 389 if (diffPos != -1) {
390 int diffAhead = Math.max(0, diffPos - EngineTestCase._PRINT_RANGE); 390 int diffAhead = Math.max(0, diffPos - _PRINT_RANGE);
391 int diffAfter = Math.min(actual.length, diffPos + EngineTestCase._PRINT_RA NGE); 391 int diffAfter = Math.min(actual.length, diffPos + _PRINT_RANGE);
392 String diffStr = "${actual.substring(diffAhead, diffPos)}^${actual.substri ng(diffPos, diffAfter)}"; 392 String diffStr = "${actual.substring(diffAhead, diffPos)}^${actual.substri ng(diffPos, diffAfter)}";
393 String message = "Content not as expected: is\n${actual}\nDiffers at pos $ {diffPos}: ${diffStr}\nexpected:\n${expected}"; 393 String message = "Content not as expected: is\n${actual}\nDiffers at pos $ {diffPos}: ${diffStr}\nexpected:\n${expected}";
394 JUnitTestCase.assertEqualsMsg(message, expected, actual); 394 JUnitTestCase.assertEqualsMsg(message, expected, actual);
395 } 395 }
396 } 396 }
397 /** 397 /**
398 * Assert that the given list is non-{@code null} and has exactly expected ele ments. 398 * Assert that the given list is non-{@code null} and has exactly expected ele ments.
399 * @param list the list being tested 399 * @param list the list being tested
400 * @param expectedElements the expected elements 400 * @param expectedElements the expected elements
401 * @throws AssertionFailedError if the list is {@code null} or does not have t he expected elements 401 * @throws AssertionFailedError if the list is {@code null} or does not have t he expected elements
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 * Assert that the given object is an instance of the expected class. 464 * Assert that the given object is an instance of the expected class.
465 * @param expectedClass the class that the object is expected to be an instanc e of 465 * @param expectedClass the class that the object is expected to be an instanc e of
466 * @param object the object being tested 466 * @param object the object being tested
467 * @return the object that was being tested 467 * @return the object that was being tested
468 * @throws Exception if the object is not an instance of the expected class 468 * @throws Exception if the object is not an instance of the expected class
469 */ 469 */
470 static Object assertInstanceOf(Type expectedClass, Object object) { 470 static Object assertInstanceOf(Type expectedClass, Object object) {
471 if (!isInstanceOf(object, expectedClass)) { 471 if (!isInstanceOf(object, expectedClass)) {
472 JUnitTestCase.fail("Expected instance of ${expectedClass.toString()}, foun d ${(object == null ? "null" : object.runtimeType.toString())}"); 472 JUnitTestCase.fail("Expected instance of ${expectedClass.toString()}, foun d ${(object == null ? "null" : object.runtimeType.toString())}");
473 } 473 }
474 return object as Object; 474 return (object as Object);
475 } 475 }
476 /** 476 /**
477 * Assert that the given array is non-{@code null} and has the expected number of elements. 477 * Assert that the given array is non-{@code null} and has the expected number of elements.
478 * @param expectedLength the expected number of elements 478 * @param expectedLength the expected number of elements
479 * @param array the array being tested 479 * @param array the array being tested
480 * @throws AssertionFailedError if the array is {@code null} or does not have the expected number 480 * @throws AssertionFailedError if the array is {@code null} or does not have the expected number
481 * of elements 481 * of elements
482 */ 482 */
483 static void assertLength(int expectedLength, List<Object> array) { 483 static void assertLength(int expectedLength, List<Object> array) {
484 if (array == null) { 484 if (array == null) {
485 JUnitTestCase.fail("Expected array of length ${expectedLength}; found null "); 485 JUnitTestCase.fail("Expected array of length ${expectedLength}; found null ");
486 } else if (array.length != expectedLength) { 486 } else if (array.length != expectedLength) {
487 JUnitTestCase.fail("Expected array of length ${expectedLength}; contained ${array.length} elements"); 487 JUnitTestCase.fail("Expected array of length ${expectedLength}; contained ${array.length} elements");
488 } 488 }
489 } 489 }
490 /** 490 /**
491 * Assert that the actual token has the same type and lexeme as the expected t oken. Note that this 491 * Assert that the actual token has the same type and lexeme as the expected t oken. Note that this
492 * does not assert anything about the offsets of the tokens (although the leng ths will be equal). 492 * does not assert anything about the offsets of the tokens (although the leng ths will be equal).
493 * @param expectedToken the token that was expected 493 * @param expectedToken the token that was expected
494 * @param actualToken the token that was found 494 * @param actualToken the token that was found
495 * @throws AssertionFailedError if the two tokens are not the same 495 * @throws AssertionFailedError if the two tokens are not the same
496 */ 496 */
497 static void assertMatches(Token expectedToken, Token actualToken) { 497 static void assertMatches(Token expectedToken, Token actualToken) {
498 JUnitTestCase.assertEquals(expectedToken.type, actualToken.type); 498 JUnitTestCase.assertEquals(expectedToken.type, actualToken.type);
499 if (expectedToken is KeywordToken) { 499 if (expectedToken is KeywordToken) {
500 assertInstanceOf(KeywordToken, actualToken); 500 assertInstanceOf(KeywordToken, actualToken);
501 JUnitTestCase.assertEquals((expectedToken as KeywordToken).keyword, (actua lToken as KeywordToken).keyword); 501 JUnitTestCase.assertEquals(((expectedToken as KeywordToken)).keyword, ((ac tualToken as KeywordToken)).keyword);
502 } else if (expectedToken is StringToken) { 502 } else if (expectedToken is StringToken) {
503 assertInstanceOf(StringToken, actualToken); 503 assertInstanceOf(StringToken, actualToken);
504 JUnitTestCase.assertEquals((expectedToken as StringToken).lexeme, (actualT oken as StringToken).lexeme); 504 JUnitTestCase.assertEquals(((expectedToken as StringToken)).lexeme, ((actu alToken as StringToken)).lexeme);
505 } 505 }
506 } 506 }
507 /** 507 /**
508 * Assert that the given list is non-{@code null} and has the expected number of elements. 508 * Assert that the given list is non-{@code null} and has the expected number of elements.
509 * @param expectedSize the expected number of elements 509 * @param expectedSize the expected number of elements
510 * @param list the list being tested 510 * @param list the list being tested
511 * @throws AssertionFailedError if the list is {@code null} or does not have t he expected number 511 * @throws AssertionFailedError if the list is {@code null} or does not have t he expected number
512 * of elements 512 * of elements
513 */ 513 */
514 static void assertSize(int expectedSize, List<Object> list) { 514 static void assertSize(int expectedSize, List<Object> list) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
547 /** 547 /**
548 * Calculate the offset where the given strings differ. 548 * Calculate the offset where the given strings differ.
549 * @param str1 the first String to compare 549 * @param str1 the first String to compare
550 * @param str2 the second String to compare 550 * @param str2 the second String to compare
551 * @return the offset at which the strings differ (or <code>-1</code> if they do not) 551 * @return the offset at which the strings differ (or <code>-1</code> if they do not)
552 */ 552 */
553 static int getDiffPos(String str1, String str2) { 553 static int getDiffPos(String str1, String str2) {
554 int len1 = Math.min(str1.length, str2.length); 554 int len1 = Math.min(str1.length, str2.length);
555 int diffPos = -1; 555 int diffPos = -1;
556 for (int i = 0; i < len1; i++) { 556 for (int i = 0; i < len1; i++) {
557 if (str1.charCodeAt(i) != str2.charCodeAt(i)) { 557 if (str1.codeUnitAt(i) != str2.codeUnitAt(i)) {
558 diffPos = i; 558 diffPos = i;
559 break; 559 break;
560 } 560 }
561 } 561 }
562 if (diffPos == -1 && str1.length != str2.length) { 562 if (diffPos == -1 && str1.length != str2.length) {
563 diffPos = len1; 563 diffPos = len1;
564 } 564 }
565 return diffPos; 565 return diffPos;
566 } 566 }
567 static dartSuite() { 567 static dartSuite() {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 return trampoline(target, arguments[0], arguments[1]); 613 return trampoline(target, arguments[0], arguments[1]);
614 case 3: 614 case 3:
615 return trampoline(target, arguments[0], arguments[1], arguments[2]); 615 return trampoline(target, arguments[0], arguments[1], arguments[2]);
616 case 4: 616 case 4:
617 return trampoline(target, arguments[0], arguments[1], arguments[2], argu ments[3]); 617 return trampoline(target, arguments[0], arguments[1], arguments[2], argu ments[3]);
618 default: 618 default:
619 throw new IllegalArgumentException("Not implemented for > 4 arguments"); 619 throw new IllegalArgumentException("Not implemented for > 4 arguments");
620 } 620 }
621 } 621 }
622 } 622 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698