Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
console: remove trace frame
The own function's frame was removed originally. This restors that
behavior.

Fixes: #27134
  • Loading branch information
BridgeAR committed Apr 9, 2019
commit 4b1cb418ea953a5e3389ec1a612c45471d79fd48
4 changes: 2 additions & 2 deletions lib/internal/console/constructor.js
Original file line number Diff line number Diff line change
Expand Up @@ -330,13 +330,13 @@ const consoleMethods = {
trace(kTraceInstant, kTraceConsoleCategory, `time::${label}`, 0);
},

trace(...args) {
trace: function trace(...args) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this strictly needed? I thought the shorthand notation had the same behavior.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the shorthand notation, the function would be called as obj.property. It is not possible to access the function itself by only using the property name. That is only possible inside the old function foo type.

It would also be possible if this would not be a property but a variable.

const err = {
name: 'Trace',
message: this[kFormatForStderr](args)
};
// eslint-disable-next-line no-restricted-syntax
Error.captureStackTrace(err, this.trace);
Error.captureStackTrace(err, trace);
this.error(err.stack);
},

Expand Down
1 change: 0 additions & 1 deletion test/message/console.out
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
Trace: foo
at Object.trace (*)
at Object.<anonymous> (*console.js:*:*)
at *
at *
Expand Down