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

Side by Side Diff: src/messages.js

Issue 8688007: Statically check for assignments to const in harmony mode. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
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
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 "strict_const", ["Use of const in strict mode."], 239 "strict_const", ["Use of const in strict mode."],
240 "strict_function", ["In strict mode code, functions can only be declared at top level or immediately within another function." ], 240 "strict_function", ["In strict mode code, functions can only be declared at top level or immediately within another function." ],
241 "strict_read_only_property", ["Cannot assign to read only property '", "%0", "' of ", "%1"], 241 "strict_read_only_property", ["Cannot assign to read only property '", "%0", "' of ", "%1"],
242 "strict_cannot_assign", ["Cannot assign to read only '", "%0", "' in strict mode"], 242 "strict_cannot_assign", ["Cannot assign to read only '", "%0", "' in strict mode"],
243 "strict_poison_pill", ["'caller', 'callee', and 'arguments' prop erties may not be accessed on strict mode functions or the arguments objects for calls to them"], 243 "strict_poison_pill", ["'caller', 'callee', and 'arguments' prop erties may not be accessed on strict mode functions or the arguments objects for calls to them"],
244 "strict_caller", ["Illegal access to a strict mode caller f unction."], 244 "strict_caller", ["Illegal access to a strict mode caller f unction."],
245 "unprotected_let", ["Illegal let declaration in unprotected s tatement context."], 245 "unprotected_let", ["Illegal let declaration in unprotected s tatement context."],
246 "unprotected_const", ["Illegal const declaration in unprotected statement context."], 246 "unprotected_const", ["Illegal const declaration in unprotected statement context."],
247 "cant_prevent_ext_external_array_elements", ["Cannot prevent extension of an object with external array elements"], 247 "cant_prevent_ext_external_array_elements", ["Cannot prevent extension of an object with external array elements"],
248 "redef_external_array_element", ["Cannot redefine a property of an object with external array elements"], 248 "redef_external_array_element", ["Cannot redefine a property of an object with external array elements"],
249 "harmony_const_assign", ["Assignment to constant variable."],
249 ]; 250 ];
250 var messages = { __proto__ : null }; 251 var messages = { __proto__ : null };
251 for (var i = 0; i < messagesDictionary.length; i += 2) { 252 for (var i = 0; i < messagesDictionary.length; i += 2) {
252 var key = messagesDictionary[i]; 253 var key = messagesDictionary[i];
253 var format = messagesDictionary[i + 1]; 254 var format = messagesDictionary[i + 1];
254 255
255 for (var j = 0; j < format.length; j++) { 256 for (var j = 0; j < format.length; j++) {
256 %IgnoreAttributesAndSetProperty(format, %_NumberToString(j), format[j], 257 %IgnoreAttributesAndSetProperty(format, %_NumberToString(j), format[j],
257 DONT_DELETE | READ_ONLY | DONT_ENUM); 258 DONT_DELETE | READ_ONLY | DONT_ENUM);
258 } 259 }
(...skipping 932 matching lines...) Expand 10 before | Expand all | Expand 10 after
1191 throw e; 1192 throw e;
1192 } 1193 }
1193 } 1194 }
1194 1195
1195 1196
1196 InstallFunctions($Error.prototype, DONT_ENUM, ['toString', ErrorToString]); 1197 InstallFunctions($Error.prototype, DONT_ENUM, ['toString', ErrorToString]);
1197 1198
1198 // Boilerplate for exceptions for stack overflows. Used from 1199 // Boilerplate for exceptions for stack overflows. Used from
1199 // Isolate::StackOverflow(). 1200 // Isolate::StackOverflow().
1200 const kStackOverflowBoilerplate = MakeRangeError('stack_overflow', []); 1201 const kStackOverflowBoilerplate = MakeRangeError('stack_overflow', []);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698