Skip to content
Prev Previous commit
Next Next commit
repl: simplify repl autocompletion
This simplifies calling `filteredOwnPropertyNames()`. The context
is not used in that function, so there's no need to call the function
as such.
  • Loading branch information
BridgeAR committed Dec 14, 2019
commit c65f3f1384865ceff9dc08db5c86b4de47aaf02f
10 changes: 4 additions & 6 deletions lib/repl.js
Original file line number Diff line number Diff line change
Expand Up @@ -1280,11 +1280,9 @@ function complete(line, callback) {
completionGroups.push(getGlobalLexicalScopeNames(this[kContextId]));
let contextProto = this.context;
while (contextProto = ObjectGetPrototypeOf(contextProto)) {
completionGroups.push(
filteredOwnPropertyNames.call(this, contextProto));
completionGroups.push(filteredOwnPropertyNames(contextProto));
}
const contextOwnNames =
filteredOwnPropertyNames.call(this, this.context);
const contextOwnNames = filteredOwnPropertyNames(this.context);
if (!this.useGlobal) {
// When the context is not `global`, builtins are not own
// properties of it.
Expand All @@ -1299,7 +1297,7 @@ function complete(line, callback) {
if (obj != null) {
if (typeof obj === 'object' || typeof obj === 'function') {
try {
memberGroups.push(filteredOwnPropertyNames.call(this, obj));
memberGroups.push(filteredOwnPropertyNames(obj));
} catch {
// Probably a Proxy object without `getOwnPropertyNames` trap.
// We simply ignore it here, as we don't want to break the
Expand All @@ -1317,7 +1315,7 @@ function complete(line, callback) {
p = obj.constructor ? obj.constructor.prototype : null;
}
while (p !== null) {
memberGroups.push(filteredOwnPropertyNames.call(this, p));
memberGroups.push(filteredOwnPropertyNames(p));
p = ObjectGetPrototypeOf(p);
// Circular refs possible? Let's guard against that.
sentinel--;
Expand Down