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

Side by Side Diff: src/d8.js

Issue 1250223002: Remove readline support from d8. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 5 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/d8.gyp ('k') | src/d8-readline.cc » ('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 2008 the V8 project authors. All rights reserved. 1 // Copyright 2008 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 "use strict"; 5 "use strict";
6 6
7 String.prototype.startsWith = function (str) {
8 if (str.length > this.length) {
9 return false;
10 }
11 return this.substr(0, str.length) == str;
12 };
13
14 function ToInspectableObject(obj) {
15 if (!obj && typeof obj === 'object') {
16 return UNDEFINED;
17 } else {
18 return Object(obj);
19 }
20 }
21
22 function GetCompletions(global, last, full) {
23 var full_tokens = full.split();
24 full = full_tokens.pop();
25 var parts = full.split('.');
26 parts.pop();
27 var current = global;
28 for (var i = 0; i < parts.length; i++) {
29 var part = parts[i];
30 var next = current[part];
31 if (!next) {
32 return [];
33 }
34 current = next;
35 }
36 var result = [];
37 current = ToInspectableObject(current);
38 while (typeof current !== 'undefined') {
39 var mirror = new $debug.ObjectMirror(current);
40 var properties = mirror.properties();
41 for (var i = 0; i < properties.length; i++) {
42 var name = properties[i].name();
43 if (typeof name === 'string' && name.startsWith(last)) {
44 result.push(name);
45 }
46 }
47 current = ToInspectableObject(Object.getPrototypeOf(current));
48 }
49 return result;
50 }
51
52 // A more universal stringify that supports more types than JSON. 7 // A more universal stringify that supports more types than JSON.
53 // Used by the d8 shell to output results. 8 // Used by the d8 shell to output results.
54 var stringifyDepthLimit = 4; // To avoid crashing on cyclic objects 9 var stringifyDepthLimit = 4; // To avoid crashing on cyclic objects
55 10
56 function Stringify(x, depth) { 11 function Stringify(x, depth) {
57 if (depth === undefined) 12 if (depth === undefined)
58 depth = stringifyDepthLimit; 13 depth = stringifyDepthLimit;
59 else if (depth === 0) 14 else if (depth === 0)
60 return "*"; 15 return "*";
61 switch (typeof x) { 16 switch (typeof x) {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 if (desc.set) { 56 if (desc.set) {
102 var setter = Stringify(desc.set); 57 var setter = Stringify(desc.set);
103 props.push("set " + name + setter.slice(setter.indexOf('('))); 58 props.push("set " + name + setter.slice(setter.indexOf('(')));
104 } 59 }
105 } 60 }
106 return "{" + props.join(", ") + "}"; 61 return "{" + props.join(", ") + "}";
107 default: 62 default:
108 return "[crazy non-standard value]"; 63 return "[crazy non-standard value]";
109 } 64 }
110 } 65 }
OLDNEW
« no previous file with comments | « src/d8.gyp ('k') | src/d8-readline.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698