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

Side by Side Diff: src/messages.js

Issue 1694011: Adds C++ API for retrieving a stack trace without running JavaScript (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 7 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
« no previous file with comments | « src/api.cc ('k') | src/top.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 24 matching lines...) Expand all
35 35
36 // Matches Script::CompilationType from objects.h 36 // Matches Script::CompilationType from objects.h
37 var COMPILATION_TYPE_HOST = 0; 37 var COMPILATION_TYPE_HOST = 0;
38 var COMPILATION_TYPE_EVAL = 1; 38 var COMPILATION_TYPE_EVAL = 1;
39 var COMPILATION_TYPE_JSON = 2; 39 var COMPILATION_TYPE_JSON = 2;
40 40
41 // Lazily initialized. 41 // Lazily initialized.
42 var kVowelSounds = 0; 42 var kVowelSounds = 0;
43 var kCapitalVowelSounds = 0; 43 var kCapitalVowelSounds = 0;
44 44
45 // Matches Messages::kNoLineNumberInfo from v8.h
46 var kNoLineNumberInfo = 0;
47
45 // If this object gets passed to an error constructor the error will 48 // If this object gets passed to an error constructor the error will
46 // get an accessor for .message that constructs a descriptive error 49 // get an accessor for .message that constructs a descriptive error
47 // message on access. 50 // message on access.
48 var kAddMessageAccessorsMarker = { }; 51 var kAddMessageAccessorsMarker = { };
49 52
50 53
51 function GetInstanceName(cons) { 54 function GetInstanceName(cons) {
52 if (cons.length == 0) { 55 if (cons.length == 0) {
53 return ""; 56 return "";
54 } 57 }
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 illegal_access: "illegal access" 199 illegal_access: "illegal access"
197 }; 200 };
198 } 201 }
199 var format = kMessages[message.type]; 202 var format = kMessages[message.type];
200 if (!format) return "<unknown message " + message.type + ">"; 203 if (!format) return "<unknown message " + message.type + ">";
201 return FormatString(format, message.args); 204 return FormatString(format, message.args);
202 } 205 }
203 206
204 207
205 function GetLineNumber(message) { 208 function GetLineNumber(message) {
206 if (message.startPos == -1) return -1; 209 if (message.startPos == -1) return kNoLineNumberInfo;
207 var location = message.script.locationFromPosition(message.startPos, true); 210 var location = message.script.locationFromPosition(message.startPos, true);
208 if (location == null) return -1; 211 if (location == null) return kNoLineNumberInfo;
209 return location.line + 1; 212 return location.line + 1;
210 } 213 }
211 214
212 215
213 // Returns the source code line containing the given source 216 // Returns the source code line containing the given source
214 // position, or the empty string if the position is invalid. 217 // position, or the empty string if the position is invalid.
215 function GetSourceLine(message) { 218 function GetSourceLine(message) {
216 var location = message.script.locationFromPosition(message.startPos, true); 219 var location = message.script.locationFromPosition(message.startPos, true);
217 if (location == null) return ""; 220 if (location == null) return "";
218 location.restrict(); 221 location.restrict();
(...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 return this.name + ": " + FormatMessage({ type: type, args: this.arguments } ); 968 return this.name + ": " + FormatMessage({ type: type, args: this.arguments } );
966 } 969 }
967 var message = this.message; 970 var message = this.message;
968 return this.name + (message ? (": " + message) : ""); 971 return this.name + (message ? (": " + message) : "");
969 }, DONT_ENUM); 972 }, DONT_ENUM);
970 973
971 974
972 // Boilerplate for exceptions for stack overflows. Used from 975 // Boilerplate for exceptions for stack overflows. Used from
973 // Top::StackOverflow(). 976 // Top::StackOverflow().
974 const kStackOverflowBoilerplate = MakeRangeError('stack_overflow', []); 977 const kStackOverflowBoilerplate = MakeRangeError('stack_overflow', []);
OLDNEW
« no previous file with comments | « src/api.cc ('k') | src/top.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698