// Copyright 2012 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // ------------------------------------------------------------------- (function(global, utils) { %CheckIsBootstrapping(); // ------------------------------------------------------------------- // Imports var Script = utils.ImportNow("Script"); // ------------------------------------------------------------------- // Script /** * Set up the Script function and constructor. */ %FunctionSetInstanceClassName(Script, 'Script'); %AddNamedProperty(Script.prototype, 'constructor', Script, DONT_ENUM | DONT_DELETE | READ_ONLY); /** * Get information on a specific source position. * Returns an object with the following following properties: * script : script object for the source * line : source line number * column : source column within the line * position : position within the source * sourceText : a string containing the current line * @param {number} position The source position * @param {boolean} include_resource_offset Set to true to have the resource * offset added to the location * @return If line is negative or not in the source null is returned. */ function ScriptLocationFromPosition(position, include_resource_offset) { return %ScriptPositionInfo(this, position, !!include_resource_offset); } /** * If sourceURL comment is available returns sourceURL comment contents. * Otherwise, script name is returned. See * http://fbug.googlecode.com/svn/branches/firebug1.1/docs/ReleaseNotes_1.1.txt * and Source Map Revision 3 proposal for details on using //# sourceURL and * deprecated //@ sourceURL comment to identify scripts that don't have name. * * @return {?string} script name if present, value for //# sourceURL comment or * deprecated //@ sourceURL comment otherwise. */ function ScriptNameOrSourceURL() { // Keep in sync with Script::GetNameOrSourceURL. if (this.source_url) return this.source_url; return this.name; } utils.SetUpLockedPrototype(Script, [ "source", "name", "source_url", "source_mapping_url", "line_offset", "column_offset" ], [ "locationFromPosition", ScriptLocationFromPosition, "nameOrSourceURL", ScriptNameOrSourceURL, ] ); });