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

Side by Side Diff: src/mirror-debugger.js

Issue 1559006: Remove trailing regexp from .js files. (Closed)
Patch Set: Created 10 years, 8 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
« no previous file with comments | « src/messages.js ('k') | src/regexp.js » ('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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 if (mirror.value() === value) { 60 if (mirror.value() === value) {
61 return mirror; 61 return mirror;
62 } 62 }
63 // Special check for NaN as NaN == NaN is false. 63 // Special check for NaN as NaN == NaN is false.
64 if (mirror.isNumber() && isNaN(mirror.value()) && 64 if (mirror.isNumber() && isNaN(mirror.value()) &&
65 typeof value == 'number' && isNaN(value)) { 65 typeof value == 'number' && isNaN(value)) {
66 return mirror; 66 return mirror;
67 } 67 }
68 } 68 }
69 } 69 }
70 70
71 if (IS_UNDEFINED(value)) { 71 if (IS_UNDEFINED(value)) {
72 mirror = new UndefinedMirror(); 72 mirror = new UndefinedMirror();
73 } else if (IS_NULL(value)) { 73 } else if (IS_NULL(value)) {
74 mirror = new NullMirror(); 74 mirror = new NullMirror();
75 } else if (IS_BOOLEAN(value)) { 75 } else if (IS_BOOLEAN(value)) {
76 mirror = new BooleanMirror(value); 76 mirror = new BooleanMirror(value);
77 } else if (IS_NUMBER(value)) { 77 } else if (IS_NUMBER(value)) {
78 mirror = new NumberMirror(value); 78 mirror = new NumberMirror(value);
79 } else if (IS_STRING(value)) { 79 } else if (IS_STRING(value)) {
80 mirror = new StringMirror(value); 80 mirror = new StringMirror(value);
(...skipping 22 matching lines...) Expand all
103 * Returns the mirror for a specified mirror handle. 103 * Returns the mirror for a specified mirror handle.
104 * 104 *
105 * @param {number} handle the handle to find the mirror for 105 * @param {number} handle the handle to find the mirror for
106 * @returns {Mirror or undefiend} the mirror with the requested handle or 106 * @returns {Mirror or undefiend} the mirror with the requested handle or
107 * undefined if no mirror with the requested handle was found 107 * undefined if no mirror with the requested handle was found
108 */ 108 */
109 function LookupMirror(handle) { 109 function LookupMirror(handle) {
110 return mirror_cache_[handle]; 110 return mirror_cache_[handle];
111 } 111 }
112 112
113 113
114 /** 114 /**
115 * Returns the mirror for the undefined value. 115 * Returns the mirror for the undefined value.
116 * 116 *
117 * @returns {Mirror} the mirror reflects the undefined value 117 * @returns {Mirror} the mirror reflects the undefined value
118 */ 118 */
119 function GetUndefinedMirror() { 119 function GetUndefinedMirror() {
120 return MakeMirror(void 0); 120 return MakeMirror(void 0);
121 } 121 }
122 122
123 123
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 value 615 value
616 * @return {Array} Property names for this object 616 * @return {Array} Property names for this object
617 */ 617 */
618 ObjectMirror.prototype.propertyNames = function(kind, limit) { 618 ObjectMirror.prototype.propertyNames = function(kind, limit) {
619 // Find kind and limit and allocate array for the result 619 // Find kind and limit and allocate array for the result
620 kind = kind || PropertyKind.Named | PropertyKind.Indexed; 620 kind = kind || PropertyKind.Named | PropertyKind.Indexed;
621 621
622 var propertyNames; 622 var propertyNames;
623 var elementNames; 623 var elementNames;
624 var total = 0; 624 var total = 0;
625 625
626 // Find all the named properties. 626 // Find all the named properties.
627 if (kind & PropertyKind.Named) { 627 if (kind & PropertyKind.Named) {
628 // Get the local property names. 628 // Get the local property names.
629 propertyNames = %GetLocalPropertyNames(this.value_); 629 propertyNames = %GetLocalPropertyNames(this.value_);
630 total += propertyNames.length; 630 total += propertyNames.length;
631 631
632 // Get names for named interceptor properties if any. 632 // Get names for named interceptor properties if any.
633 if (this.hasNamedInterceptor() && (kind & PropertyKind.Named)) { 633 if (this.hasNamedInterceptor() && (kind & PropertyKind.Named)) {
634 var namedInterceptorNames = 634 var namedInterceptorNames =
635 %GetNamedInterceptorPropertyNames(this.value_); 635 %GetNamedInterceptorPropertyNames(this.value_);
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
1216 return MakeMirror(this.setter_); 1216 return MakeMirror(this.setter_);
1217 } else { 1217 } else {
1218 return GetUndefinedMirror(); 1218 return GetUndefinedMirror();
1219 } 1219 }
1220 } 1220 }
1221 1221
1222 1222
1223 /** 1223 /**
1224 * Returns whether this property is natively implemented by the host or a set 1224 * Returns whether this property is natively implemented by the host or a set
1225 * through JavaScript code. 1225 * through JavaScript code.
1226 * @return {boolean} True if the property is 1226 * @return {boolean} True if the property is
1227 * UndefinedMirror if there is no setter for this property 1227 * UndefinedMirror if there is no setter for this property
1228 */ 1228 */
1229 PropertyMirror.prototype.isNative = function() { 1229 PropertyMirror.prototype.isNative = function() {
1230 return (this.propertyType() == PropertyType.Interceptor) || 1230 return (this.propertyType() == PropertyType.Interceptor) ||
1231 ((this.propertyType() == PropertyType.Callbacks) && 1231 ((this.propertyType() == PropertyType.Callbacks) &&
1232 !this.hasGetter() && !this.hasSetter()); 1232 !this.hasGetter() && !this.hasSetter());
1233 } 1233 }
1234 1234
1235 1235
1236 const kFrameDetailsFrameIdIndex = 0; 1236 const kFrameDetailsFrameIdIndex = 0;
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1383 1383
1384 1384
1385 FrameMirror.prototype.index = function() { 1385 FrameMirror.prototype.index = function() {
1386 return this.index_; 1386 return this.index_;
1387 }; 1387 };
1388 1388
1389 1389
1390 FrameMirror.prototype.func = function() { 1390 FrameMirror.prototype.func = function() {
1391 // Get the function for this frame from the VM. 1391 // Get the function for this frame from the VM.
1392 var f = this.details_.func(); 1392 var f = this.details_.func();
1393 1393
1394 // Create a function mirror. NOTE: MakeMirror cannot be used here as the 1394 // Create a function mirror. NOTE: MakeMirror cannot be used here as the
1395 // value returned from the VM might be a string if the function for the 1395 // value returned from the VM might be a string if the function for the
1396 // frame is unresolved. 1396 // frame is unresolved.
1397 if (IS_FUNCTION(f)) { 1397 if (IS_FUNCTION(f)) {
1398 return MakeMirror(f); 1398 return MakeMirror(f);
1399 } else { 1399 } else {
1400 return new UnresolvedFunctionMirror(f); 1400 return new UnresolvedFunctionMirror(f);
1401 } 1401 }
1402 }; 1402 };
1403 1403
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
1818 result += this.lineOffset() + this.lineCount() - 1; 1818 result += this.lineOffset() + this.lineCount() - 1;
1819 } else { 1819 } else {
1820 result += this.lineCount(); 1820 result += this.lineCount();
1821 } 1821 }
1822 result += ')'; 1822 result += ')';
1823 return result; 1823 return result;
1824 } 1824 }
1825 1825
1826 1826
1827 /** 1827 /**
1828 * Returns a suggested script URL from comments in script code (if found), 1828 * Returns a suggested script URL from comments in script code (if found),
1829 * undefined otherwise. Used primarily by debuggers for identifying eval()'ed 1829 * undefined otherwise. Used primarily by debuggers for identifying eval()'ed
1830 * scripts. See 1830 * scripts. See
1831 * http://fbug.googlecode.com/svn/branches/firebug1.1/docs/ReleaseNotes_1.1.txt 1831 * http://fbug.googlecode.com/svn/branches/firebug1.1/docs/ReleaseNotes_1.1.txt
1832 * for details. 1832 * for details.
1833 * 1833 *
1834 * @return {?string} value for //@ sourceURL comment 1834 * @return {?string} value for //@ sourceURL comment
1835 */ 1835 */
1836 ScriptMirror.prototype.sourceUrlFromComment_ = function() { 1836 ScriptMirror.prototype.sourceUrlFromComment_ = function() {
1837 if (!('sourceUrl_' in this) && this.source()) { 1837 if (!('sourceUrl_' in this) && this.source()) {
1838 // TODO(608): the spaces in a regexp below had to be escaped as \040 1838 // TODO(608): the spaces in a regexp below had to be escaped as \040
1839 // because this file is being processed by js2c whose handling of spaces 1839 // because this file is being processed by js2c whose handling of spaces
1840 // in regexps is broken. 1840 // in regexps is broken.
1841 // We're not using \s here to prevent \n from matching. 1841 // We're not using \s here to prevent \n from matching.
1842 var sourceUrlPattern = /\/\/@[\040\t]sourceURL=[\040\t]*(\S+)[\040\t]*$/m; 1842 var sourceUrlPattern = /\/\/@[\040\t]sourceURL=[\040\t]*(\S+)[\040\t]*$/m;
1843 var match = sourceUrlPattern.exec(this.source()); 1843 var match = sourceUrlPattern.exec(this.source());
1844 this.sourceUrl_ = match ? match[1] : undefined; 1844 this.sourceUrl_ = match ? match[1] : undefined;
1845 } 1845 }
1846 return this.sourceUrl_; 1846 return this.sourceUrl_;
1847 }; 1847 };
1848 1848
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1921 /** 1921 /**
1922 * Returns a serialization of all the objects referenced. 1922 * Returns a serialization of all the objects referenced.
1923 * 1923 *
1924 * @param {Mirror} mirror The mirror to serialize. 1924 * @param {Mirror} mirror The mirror to serialize.
1925 * @returns {Array.<Object>} Array of the referenced objects converted to 1925 * @returns {Array.<Object>} Array of the referenced objects converted to
1926 * protcol objects. 1926 * protcol objects.
1927 */ 1927 */
1928 JSONProtocolSerializer.prototype.serializeReferencedObjects = function() { 1928 JSONProtocolSerializer.prototype.serializeReferencedObjects = function() {
1929 // Collect the protocol representation of the referenced objects in an array. 1929 // Collect the protocol representation of the referenced objects in an array.
1930 var content = []; 1930 var content = [];
1931 1931
1932 // Get the number of referenced objects. 1932 // Get the number of referenced objects.
1933 var count = this.mirrors_.length; 1933 var count = this.mirrors_.length;
1934 1934
1935 for (var i = 0; i < count; i++) { 1935 for (var i = 0; i < count; i++) {
1936 content.push(this.serialize_(this.mirrors_[i], false, false)); 1936 content.push(this.serialize_(this.mirrors_[i], false, false));
1937 } 1937 }
1938 1938
1939 return content; 1939 return content;
1940 } 1940 }
1941 1941
1942 1942
1943 JSONProtocolSerializer.prototype.includeSource_ = function() { 1943 JSONProtocolSerializer.prototype.includeSource_ = function() {
1944 return this.options_ && this.options_.includeSource; 1944 return this.options_ && this.options_.includeSource;
(...skipping 14 matching lines...) Expand all
1959 } 1959 }
1960 1960
1961 1961
1962 JSONProtocolSerializer.prototype.add_ = function(mirror) { 1962 JSONProtocolSerializer.prototype.add_ = function(mirror) {
1963 // If this mirror is already in the list just return. 1963 // If this mirror is already in the list just return.
1964 for (var i = 0; i < this.mirrors_.length; i++) { 1964 for (var i = 0; i < this.mirrors_.length; i++) {
1965 if (this.mirrors_[i] === mirror) { 1965 if (this.mirrors_[i] === mirror) {
1966 return; 1966 return;
1967 } 1967 }
1968 } 1968 }
1969 1969
1970 // Add the mirror to the list of mirrors to be serialized. 1970 // Add the mirror to the list of mirrors to be serialized.
1971 this.mirrors_.push(mirror); 1971 this.mirrors_.push(mirror);
1972 } 1972 }
1973 1973
1974 1974
1975 /** 1975 /**
1976 * Formats mirror object to protocol reference object with some data that can 1976 * Formats mirror object to protocol reference object with some data that can
1977 * be used to display the value in debugger. 1977 * be used to display the value in debugger.
1978 * @param {Mirror} mirror Mirror to serialize. 1978 * @param {Mirror} mirror Mirror to serialize.
1979 * @return {Object} Protocol reference object. 1979 * @return {Object} Protocol reference object.
1980 */ 1980 */
1981 JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_ = 1981 JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_ =
1982 function(mirror) { 1982 function(mirror) {
1983 var o = {}; 1983 var o = {};
1984 o.ref = mirror.handle(); 1984 o.ref = mirror.handle();
1985 o.type = mirror.type(); 1985 o.type = mirror.type();
1986 switch (mirror.type()) { 1986 switch (mirror.type()) {
1987 case UNDEFINED_TYPE: 1987 case UNDEFINED_TYPE:
1988 case NULL_TYPE: 1988 case NULL_TYPE:
1989 case BOOLEAN_TYPE: 1989 case BOOLEAN_TYPE:
1990 case NUMBER_TYPE: 1990 case NUMBER_TYPE:
1991 o.value = mirror.value(); 1991 o.value = mirror.value();
(...skipping 26 matching lines...) Expand all
2018 // the mirror to the referenced mirrors. 2018 // the mirror to the referenced mirrors.
2019 if (reference && 2019 if (reference &&
2020 (mirror.isValue() || mirror.isScript() || mirror.isContext())) { 2020 (mirror.isValue() || mirror.isScript() || mirror.isContext())) {
2021 if (this.inlineRefs_() && mirror.isValue()) { 2021 if (this.inlineRefs_() && mirror.isValue()) {
2022 return this.serializeReferenceWithDisplayData_(mirror); 2022 return this.serializeReferenceWithDisplayData_(mirror);
2023 } else { 2023 } else {
2024 this.add_(mirror); 2024 this.add_(mirror);
2025 return {'ref' : mirror.handle()}; 2025 return {'ref' : mirror.handle()};
2026 } 2026 }
2027 } 2027 }
2028 2028
2029 // Collect the JSON property/value pairs. 2029 // Collect the JSON property/value pairs.
2030 var content = {}; 2030 var content = {};
2031 2031
2032 // Add the mirror handle. 2032 // Add the mirror handle.
2033 if (mirror.isValue() || mirror.isScript() || mirror.isContext()) { 2033 if (mirror.isValue() || mirror.isScript() || mirror.isContext()) {
2034 content.handle = mirror.handle(); 2034 content.handle = mirror.handle();
2035 } 2035 }
2036 2036
2037 // Always add the type. 2037 // Always add the type.
2038 content.type = mirror.type(); 2038 content.type = mirror.type();
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
2130 } 2130 }
2131 break; 2131 break;
2132 2132
2133 case CONTEXT_TYPE: 2133 case CONTEXT_TYPE:
2134 content.data = mirror.data(); 2134 content.data = mirror.data();
2135 break; 2135 break;
2136 } 2136 }
2137 2137
2138 // Always add the text representation. 2138 // Always add the text representation.
2139 content.text = mirror.toText(); 2139 content.text = mirror.toText();
2140 2140
2141 // Create and return the JSON string. 2141 // Create and return the JSON string.
2142 return content; 2142 return content;
2143 } 2143 }
2144 2144
2145 2145
2146 /** 2146 /**
2147 * Serialize object information to the following JSON format. 2147 * Serialize object information to the following JSON format.
2148 * 2148 *
2149 * {"className":"<class name>", 2149 * {"className":"<class name>",
2150 * "constructorFunction":{"ref":<number>}, 2150 * "constructorFunction":{"ref":<number>},
(...skipping 12 matching lines...) Expand all
2163 content.protoObject = this.serializeReference(mirror.protoObject()); 2163 content.protoObject = this.serializeReference(mirror.protoObject());
2164 content.prototypeObject = this.serializeReference(mirror.prototypeObject()); 2164 content.prototypeObject = this.serializeReference(mirror.prototypeObject());
2165 2165
2166 // Add flags to indicate whether there are interceptors. 2166 // Add flags to indicate whether there are interceptors.
2167 if (mirror.hasNamedInterceptor()) { 2167 if (mirror.hasNamedInterceptor()) {
2168 content.namedInterceptor = true; 2168 content.namedInterceptor = true;
2169 } 2169 }
2170 if (mirror.hasIndexedInterceptor()) { 2170 if (mirror.hasIndexedInterceptor()) {
2171 content.indexedInterceptor = true; 2171 content.indexedInterceptor = true;
2172 } 2172 }
2173 2173
2174 // Add function specific properties. 2174 // Add function specific properties.
2175 if (mirror.isFunction()) { 2175 if (mirror.isFunction()) {
2176 // Add function specific properties. 2176 // Add function specific properties.
2177 content.name = mirror.name(); 2177 content.name = mirror.name();
2178 if (!IS_UNDEFINED(mirror.inferredName())) { 2178 if (!IS_UNDEFINED(mirror.inferredName())) {
2179 content.inferredName = mirror.inferredName(); 2179 content.inferredName = mirror.inferredName();
2180 } 2180 }
2181 content.resolved = mirror.resolved(); 2181 content.resolved = mirror.resolved();
2182 if (mirror.resolved()) { 2182 if (mirror.resolved()) {
2183 content.source = mirror.source(); 2183 content.source = mirror.source();
2184 } 2184 }
2185 if (mirror.script()) { 2185 if (mirror.script()) {
2186 content.script = this.serializeReference(mirror.script()); 2186 content.script = this.serializeReference(mirror.script());
2187 content.scriptId = mirror.script().id(); 2187 content.scriptId = mirror.script().id();
2188 2188
2189 serializeLocationFields(mirror.sourceLocation(), content); 2189 serializeLocationFields(mirror.sourceLocation(), content);
2190 } 2190 }
2191 } 2191 }
2192 2192
2193 // Add date specific properties. 2193 // Add date specific properties.
2194 if (mirror.isDate()) { 2194 if (mirror.isDate()) {
2195 // Add date specific properties. 2195 // Add date specific properties.
2196 content.value = mirror.value(); 2196 content.value = mirror.value();
2197 } 2197 }
2198 2198
(...skipping 18 matching lines...) Expand all
2217 content.properties = p; 2217 content.properties = p;
2218 } 2218 }
2219 2219
2220 2220
2221 /** 2221 /**
2222 * Serialize location information to the following JSON format: 2222 * Serialize location information to the following JSON format:
2223 * 2223 *
2224 * "position":"<position>", 2224 * "position":"<position>",
2225 * "line":"<line>", 2225 * "line":"<line>",
2226 * "column":"<column>", 2226 * "column":"<column>",
2227 * 2227 *
2228 * @param {SourceLocation} location The location to serialize, may be undefined. 2228 * @param {SourceLocation} location The location to serialize, may be undefined.
2229 */ 2229 */
2230 function serializeLocationFields (location, content) { 2230 function serializeLocationFields (location, content) {
2231 if (!location) { 2231 if (!location) {
2232 return; 2232 return;
2233 } 2233 }
2234 content.position = location.position; 2234 content.position = location.position;
2235 var line = location.line; 2235 var line = location.line;
2236 if (!IS_UNDEFINED(line)) { 2236 if (!IS_UNDEFINED(line)) {
2237 content.line = line; 2237 content.line = line;
2238 } 2238 }
2239 var column = location.column; 2239 var column = location.column;
2240 if (!IS_UNDEFINED(column)) { 2240 if (!IS_UNDEFINED(column)) {
2241 content.column = column; 2241 content.column = column;
2242 } 2242 }
2243 } 2243 }
(...skipping 13 matching lines...) Expand all
2257 * Here are a couple of examples. 2257 * Here are a couple of examples.
2258 * 2258 *
2259 * {"name":"hello","ref":1} 2259 * {"name":"hello","ref":1}
2260 * {"name":"length","attributes":7,"propertyType":3,"ref":2} 2260 * {"name":"length","attributes":7,"propertyType":3,"ref":2}
2261 * 2261 *
2262 * @param {PropertyMirror} propertyMirror The property to serialize. 2262 * @param {PropertyMirror} propertyMirror The property to serialize.
2263 * @returns {Object} Protocol object representing the property. 2263 * @returns {Object} Protocol object representing the property.
2264 */ 2264 */
2265 JSONProtocolSerializer.prototype.serializeProperty_ = function(propertyMirror) { 2265 JSONProtocolSerializer.prototype.serializeProperty_ = function(propertyMirror) {
2266 var result = {}; 2266 var result = {};
2267 2267
2268 result.name = propertyMirror.name(); 2268 result.name = propertyMirror.name();
2269 var propertyValue = propertyMirror.value(); 2269 var propertyValue = propertyMirror.value();
2270 if (this.inlineRefs_() && propertyValue.isValue()) { 2270 if (this.inlineRefs_() && propertyValue.isValue()) {
2271 result.value = this.serializeReferenceWithDisplayData_(propertyValue); 2271 result.value = this.serializeReferenceWithDisplayData_(propertyValue);
2272 } else { 2272 } else {
2273 if (propertyMirror.attributes() != PropertyAttribute.None) { 2273 if (propertyMirror.attributes() != PropertyAttribute.None) {
2274 result.attributes = propertyMirror.attributes(); 2274 result.attributes = propertyMirror.attributes();
2275 } 2275 }
2276 if (propertyMirror.propertyType() != PropertyType.Normal) { 2276 if (propertyMirror.propertyType() != PropertyType.Normal) {
2277 result.propertyType = propertyMirror.propertyType(); 2277 result.propertyType = propertyMirror.propertyType();
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2309 local.name = mirror.localName(i); 2309 local.name = mirror.localName(i);
2310 local.value = this.serializeReference(mirror.localValue(i)); 2310 local.value = this.serializeReference(mirror.localValue(i));
2311 x[i] = local; 2311 x[i] = local;
2312 } 2312 }
2313 content.locals = x; 2313 content.locals = x;
2314 serializeLocationFields(mirror.sourceLocation(), content); 2314 serializeLocationFields(mirror.sourceLocation(), content);
2315 var source_line_text = mirror.sourceLineText(); 2315 var source_line_text = mirror.sourceLineText();
2316 if (!IS_UNDEFINED(source_line_text)) { 2316 if (!IS_UNDEFINED(source_line_text)) {
2317 content.sourceLineText = source_line_text; 2317 content.sourceLineText = source_line_text;
2318 } 2318 }
2319 2319
2320 content.scopes = []; 2320 content.scopes = [];
2321 for (var i = 0; i < mirror.scopeCount(); i++) { 2321 for (var i = 0; i < mirror.scopeCount(); i++) {
2322 var scope = mirror.scope(i); 2322 var scope = mirror.scope(i);
2323 content.scopes.push({ 2323 content.scopes.push({
2324 type: scope.scopeType(), 2324 type: scope.scopeType(),
2325 index: i 2325 index: i
2326 }); 2326 });
2327 } 2327 }
2328 } 2328 }
2329 2329
(...skipping 21 matching lines...) Expand all
2351 if (isNaN(value)) { 2351 if (isNaN(value)) {
2352 return 'NaN'; 2352 return 'NaN';
2353 } 2353 }
2354 if (!isFinite(value)) { 2354 if (!isFinite(value)) {
2355 if (value > 0) { 2355 if (value > 0) {
2356 return 'Infinity'; 2356 return 'Infinity';
2357 } else { 2357 } else {
2358 return '-Infinity'; 2358 return '-Infinity';
2359 } 2359 }
2360 } 2360 }
2361 return value; 2361 return value;
2362 } 2362 }
OLDNEW
« no previous file with comments | « src/messages.js ('k') | src/regexp.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698