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

Side by Side Diff: frog/minfrog

Issue 8966026: When generating the error message, don't overrun args.nodes . (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years 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
« no previous file with comments | « frog/member.dart ('k') | tests/language/src/Constructor3NegativeTest.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 #!/usr/bin/env node 1 #!/usr/bin/env node
2 // ********** Library dart:core ************** 2 // ********** Library dart:core **************
3 // ********** Natives dart:core ************** 3 // ********** Natives dart:core **************
4 /** 4 /**
5 * Generates a dynamic call stub for a function. 5 * Generates a dynamic call stub for a function.
6 * Our goal is to create a stub method like this on-the-fly: 6 * Our goal is to create a stub method like this on-the-fly:
7 * function($0, $1, capture) { return this($0, $1, true, capture); } 7 * function($0, $1, capture) { return this($0, $1, true, capture); }
8 * 8 *
9 * This stub then replaces the dynamic one on Function, with one that is 9 * This stub then replaces the dynamic one on Function, with one that is
10 * specialized for that particular function, taking into account its default 10 * specialized for that particular function, taking into account its default
(...skipping 5577 matching lines...) Expand 10 before | Expand all | Expand 10 after
5588 var arg = args.getValue(this.parameters.$index(i).get$name()); 5588 var arg = args.getValue(this.parameters.$index(i).get$name());
5589 if (arg == null) { 5589 if (arg == null) {
5590 arg = this.parameters.$index(i).get$value(); 5590 arg = this.parameters.$index(i).get$value();
5591 } 5591 }
5592 else { 5592 else {
5593 arg = arg.convertTo$4(context, this.parameters.$index(i).get$type(), nod e, isDynamic); 5593 arg = arg.convertTo$4(context, this.parameters.$index(i).get$type(), nod e, isDynamic);
5594 namedArgsUsed++; 5594 namedArgsUsed++;
5595 } 5595 }
5596 if (arg == null || !this.parameters.$index(i).get$isOptional()) { 5596 if (arg == null || !this.parameters.$index(i).get$isOptional()) {
5597 var msg = MethodMember._argCountMsg(Math.min(i, args.get$length()), i + 1, true); 5597 var msg = MethodMember._argCountMsg(Math.min(i, args.get$length()), i + 1, true);
5598 return this._argError(context, node, target, args, msg, args.nodes.$inde x(i).get$span()); 5598 return this._argError(context, node, target, args, msg, (i >= args.nodes .get$length()) ? node.span : args.nodes.$index(i).get$span());
5599 } 5599 }
5600 else { 5600 else {
5601 argsCode.add$1(this.isConst && arg.get$isConst() ? arg.get$canonicalCode () : arg.get$code()); 5601 argsCode.add$1(this.isConst && arg.get$isConst() ? arg.get$canonicalCode () : arg.get$code());
5602 } 5602 }
5603 } 5603 }
5604 Arguments.removeTrailingNulls(argsCode); 5604 Arguments.removeTrailingNulls(argsCode);
5605 } 5605 }
5606 if (namedArgsUsed < args.get$nameCount()) { 5606 if (namedArgsUsed < args.get$nameCount()) {
5607 var seen = new HashSetImplementation(); 5607 var seen = new HashSetImplementation();
5608 for (var i = bareCount; 5608 for (var i = bareCount;
(...skipping 7829 matching lines...) Expand 10 before | Expand all | Expand 10 after
13438 } 13438 }
13439 var const$0 = new EnvMap()/*const EnvMap()*/; 13439 var const$0 = new EnvMap()/*const EnvMap()*/;
13440 var const$127 = new IllegalAccessException()/*const IllegalAccessException()*/; 13440 var const$127 = new IllegalAccessException()/*const IllegalAccessException()*/;
13441 var const$128 = ImmutableList.ImmutableList$from$factory([])/*const []*/; 13441 var const$128 = ImmutableList.ImmutableList$from$factory([])/*const []*/;
13442 var const$2 = new EmptyQueueException()/*const EmptyQueueException()*/; 13442 var const$2 = new EmptyQueueException()/*const EmptyQueueException()*/;
13443 var const$3 = new _DeletedKeySentinel()/*const _DeletedKeySentinel()*/; 13443 var const$3 = new _DeletedKeySentinel()/*const _DeletedKeySentinel()*/;
13444 var const$8 = new NoMoreElementsException()/*const NoMoreElementsException()*/; 13444 var const$8 = new NoMoreElementsException()/*const NoMoreElementsException()*/;
13445 var $globals = {}; 13445 var $globals = {};
13446 $static_init(); 13446 $static_init();
13447 main(); 13447 main();
OLDNEW
« no previous file with comments | « frog/member.dart ('k') | tests/language/src/Constructor3NegativeTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698