OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // ------------------------------------------------------------------- | 5 // ------------------------------------------------------------------- |
6 | 6 |
7 var kMessages = { | 7 var kMessages = { |
8 // Error | 8 // Error |
9 cyclic_proto: ["Cyclic __proto__ value"], | 9 cyclic_proto: ["Cyclic __proto__ value"], |
10 code_gen_from_strings: ["%0"], | 10 code_gen_from_strings: ["%0"], |
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
607 * | 607 * |
608 * @return {?string} script name if present, value for //# sourceURL or | 608 * @return {?string} script name if present, value for //# sourceURL or |
609 * deprecated //@ sourceURL comment otherwise. | 609 * deprecated //@ sourceURL comment otherwise. |
610 */ | 610 */ |
611 function ScriptNameOrSourceURL() { | 611 function ScriptNameOrSourceURL() { |
612 if (this.source_url) return this.source_url; | 612 if (this.source_url) return this.source_url; |
613 return this.name; | 613 return this.name; |
614 } | 614 } |
615 | 615 |
616 | 616 |
617 SetUpLockedPrototype(Script, | 617 SetUpLockedPrototype(Script, [ |
618 $Array("source", "name", "source_url", "source_mapping_url", "line_ends", | 618 "source", |
619 "line_offset", "column_offset"), | 619 "name", |
620 $Array( | 620 "source_url", |
| 621 "source_mapping_url", |
| 622 "line_ends", |
| 623 "line_offset", |
| 624 "column_offset" |
| 625 ], [ |
621 "lineFromPosition", ScriptLineFromPosition, | 626 "lineFromPosition", ScriptLineFromPosition, |
622 "locationFromPosition", ScriptLocationFromPosition, | 627 "locationFromPosition", ScriptLocationFromPosition, |
623 "locationFromLine", ScriptLocationFromLine, | 628 "locationFromLine", ScriptLocationFromLine, |
624 "sourceSlice", ScriptSourceSlice, | 629 "sourceSlice", ScriptSourceSlice, |
625 "sourceLine", ScriptSourceLine, | 630 "sourceLine", ScriptSourceLine, |
626 "lineCount", ScriptLineCount, | 631 "lineCount", ScriptLineCount, |
627 "nameOrSourceURL", ScriptNameOrSourceURL | 632 "nameOrSourceURL", ScriptNameOrSourceURL |
628 ) | 633 ] |
629 ); | 634 ); |
630 | 635 |
631 | 636 |
632 /** | 637 /** |
633 * Class for source location. A source location is a position within some | 638 * Class for source location. A source location is a position within some |
634 * source with the following properties: | 639 * source with the following properties: |
635 * script : script object for the source | 640 * script : script object for the source |
636 * line : source line number | 641 * line : source line number |
637 * column : source column within the line | 642 * column : source column within the line |
638 * position : position within the source | 643 * position : position within the source |
(...skipping 28 matching lines...) Expand all Loading... |
667 */ | 672 */ |
668 function SourceLocationSourceText() { | 673 function SourceLocationSourceText() { |
669 return %_CallFunction(this.script.source, | 674 return %_CallFunction(this.script.source, |
670 this.start, | 675 this.start, |
671 this.end, | 676 this.end, |
672 $stringSubstring); | 677 $stringSubstring); |
673 } | 678 } |
674 | 679 |
675 | 680 |
676 SetUpLockedPrototype(SourceLocation, | 681 SetUpLockedPrototype(SourceLocation, |
677 $Array("script", "position", "line", "column", "start", "end"), | 682 ["script", "position", "line", "column", "start", "end"], |
678 $Array( | 683 ["sourceText", SourceLocationSourceText] |
679 "sourceText", SourceLocationSourceText | |
680 ) | |
681 ); | 684 ); |
682 | 685 |
683 | 686 |
684 /** | 687 /** |
685 * Class for a source slice. A source slice is a part of a script source with | 688 * Class for a source slice. A source slice is a part of a script source with |
686 * the following properties: | 689 * the following properties: |
687 * script : script object for the source | 690 * script : script object for the source |
688 * from_line : line number for the first line in the slice | 691 * from_line : line number for the first line in the slice |
689 * to_line : source line number for the last line in the slice | 692 * to_line : source line number for the last line in the slice |
690 * from_position : position of the first character in the slice | 693 * from_position : position of the first character in the slice |
(...skipping 22 matching lines...) Expand all Loading... |
713 * the line terminating characters (if any) | 716 * the line terminating characters (if any) |
714 */ | 717 */ |
715 function SourceSliceSourceText() { | 718 function SourceSliceSourceText() { |
716 return %_CallFunction(this.script.source, | 719 return %_CallFunction(this.script.source, |
717 this.from_position, | 720 this.from_position, |
718 this.to_position, | 721 this.to_position, |
719 $stringSubstring); | 722 $stringSubstring); |
720 } | 723 } |
721 | 724 |
722 SetUpLockedPrototype(SourceSlice, | 725 SetUpLockedPrototype(SourceSlice, |
723 $Array("script", "from_line", "to_line", "from_position", "to_position"), | 726 ["script", "from_line", "to_line", "from_position", "to_position"], |
724 $Array("sourceText", SourceSliceSourceText) | 727 ["sourceText", SourceSliceSourceText] |
725 ); | 728 ); |
726 | 729 |
727 | 730 |
728 // Returns the offset of the given position within the containing | 731 // Returns the offset of the given position within the containing |
729 // line. | 732 // line. |
730 function GetPositionInLine(message) { | 733 function GetPositionInLine(message) { |
731 var script = %MessageGetScript(message); | 734 var script = %MessageGetScript(message); |
732 var start_position = %MessageGetStartPosition(message); | 735 var start_position = %MessageGetStartPosition(message); |
733 var location = script.locationFromPosition(start_position, false); | 736 var location = script.locationFromPosition(start_position, false); |
734 if (location == null) return -1; | 737 if (location == null) return -1; |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
945 } else { | 948 } else { |
946 line += fileLocation; | 949 line += fileLocation; |
947 addSuffix = false; | 950 addSuffix = false; |
948 } | 951 } |
949 if (addSuffix) { | 952 if (addSuffix) { |
950 line += " (" + fileLocation + ")"; | 953 line += " (" + fileLocation + ")"; |
951 } | 954 } |
952 return line; | 955 return line; |
953 } | 956 } |
954 | 957 |
955 SetUpLockedPrototype(CallSite, $Array("receiver", "fun", "pos"), $Array( | 958 SetUpLockedPrototype(CallSite, ["receiver", "fun", "pos"], [ |
956 "getThis", CallSiteGetThis, | 959 "getThis", CallSiteGetThis, |
957 "getTypeName", CallSiteGetTypeName, | 960 "getTypeName", CallSiteGetTypeName, |
958 "isToplevel", CallSiteIsToplevel, | 961 "isToplevel", CallSiteIsToplevel, |
959 "isEval", CallSiteIsEval, | 962 "isEval", CallSiteIsEval, |
960 "getEvalOrigin", CallSiteGetEvalOrigin, | 963 "getEvalOrigin", CallSiteGetEvalOrigin, |
961 "getScriptNameOrSourceURL", CallSiteGetScriptNameOrSourceURL, | 964 "getScriptNameOrSourceURL", CallSiteGetScriptNameOrSourceURL, |
962 "getFunction", CallSiteGetFunction, | 965 "getFunction", CallSiteGetFunction, |
963 "getFunctionName", CallSiteGetFunctionName, | 966 "getFunctionName", CallSiteGetFunctionName, |
964 "getMethodName", CallSiteGetMethodName, | 967 "getMethodName", CallSiteGetMethodName, |
965 "getFileName", CallSiteGetFileName, | 968 "getFileName", CallSiteGetFileName, |
966 "getLineNumber", CallSiteGetLineNumber, | 969 "getLineNumber", CallSiteGetLineNumber, |
967 "getColumnNumber", CallSiteGetColumnNumber, | 970 "getColumnNumber", CallSiteGetColumnNumber, |
968 "isNative", CallSiteIsNative, | 971 "isNative", CallSiteIsNative, |
969 "getPosition", CallSiteGetPosition, | 972 "getPosition", CallSiteGetPosition, |
970 "isConstructor", CallSiteIsConstructor, | 973 "isConstructor", CallSiteIsConstructor, |
971 "toString", CallSiteToString | 974 "toString", CallSiteToString |
972 )); | 975 ]); |
973 | 976 |
974 | 977 |
975 function FormatEvalOrigin(script) { | 978 function FormatEvalOrigin(script) { |
976 var sourceURL = script.nameOrSourceURL(); | 979 var sourceURL = script.nameOrSourceURL(); |
977 if (sourceURL) { | 980 if (sourceURL) { |
978 return sourceURL; | 981 return sourceURL; |
979 } | 982 } |
980 | 983 |
981 var eval_origin = "eval at "; | 984 var eval_origin = "eval at "; |
982 if (script.eval_from_function_name) { | 985 if (script.eval_from_function_name) { |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1281 function SetUpStackOverflowBoilerplate() { | 1284 function SetUpStackOverflowBoilerplate() { |
1282 var boilerplate = MakeRangeError('stack_overflow', []); | 1285 var boilerplate = MakeRangeError('stack_overflow', []); |
1283 | 1286 |
1284 %DefineAccessorPropertyUnchecked( | 1287 %DefineAccessorPropertyUnchecked( |
1285 boilerplate, 'stack', StackTraceGetter, StackTraceSetter, DONT_ENUM); | 1288 boilerplate, 'stack', StackTraceGetter, StackTraceSetter, DONT_ENUM); |
1286 | 1289 |
1287 return boilerplate; | 1290 return boilerplate; |
1288 } | 1291 } |
1289 | 1292 |
1290 var kStackOverflowBoilerplate = SetUpStackOverflowBoilerplate(); | 1293 var kStackOverflowBoilerplate = SetUpStackOverflowBoilerplate(); |
OLD | NEW |