node/deps/v8/test/inspector/debugger/evaluate-on-call-frame-private-class-member-static-expected.txt
Michaël Zasso f226350fcb deps: update V8 to 11.3.244.4
PR-URL: https://github.com/nodejs/node/pull/47251
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-03-31 14:15:23 +00:00

232 lines
5.8 KiB
Plaintext

Evaluate static private class member out of class scope in Debugger.evaluateOnCallFrame()
class Klass {
static #field = "string";
static get #getterOnly() { return "getterOnly"; }
static set #setterOnly(val) { this.#field = "setterOnlyCalled"; }
static get #accessor() { return this.#field }
static set #accessor(val) { this.#field = val; }
static #method() { return "method"; }
}
const obj = new Klass();
debugger;
Running test: evaluatePrivateMembers
Checking private fields
Debugger.evaluateOnCallFrame: `Klass.#field`
{
type : string
value : string
}
Debugger.evaluateOnCallFrame: `Klass.#field = 1`
{
description : 1
type : number
value : 1
}
Debugger.evaluateOnCallFrame: `Klass.#field`
{
description : 1
type : number
value : 1
}
Debugger.evaluateOnCallFrame: `Klass.#field++`
{
description : 1
type : number
value : 1
}
Debugger.evaluateOnCallFrame: `Klass.#field`
{
description : 2
type : number
value : 2
}
Debugger.evaluateOnCallFrame: `++Klass.#field`
{
description : 3
type : number
value : 3
}
Debugger.evaluateOnCallFrame: `Klass.#field`
{
description : 3
type : number
value : 3
}
Debugger.evaluateOnCallFrame: `Klass.#field -= 3`
{
description : 0
type : number
value : 0
}
Debugger.evaluateOnCallFrame: `Klass.#field`
{
description : 0
type : number
value : 0
}
Checking private getter-only accessors
Debugger.evaluateOnCallFrame: `Klass.#getterOnly`
{
type : string
value : getterOnly
}
Debugger.evaluateOnCallFrame: `Klass.#getterOnly = 1`
{
className : Error
description : Error: '#getterOnly' was defined without a setter at eval (eval at <anonymous> (:11:1), <anonymous>:1:19) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}
Debugger.evaluateOnCallFrame: `Klass.#getterOnly++`
{
className : Error
description : Error: '#getterOnly' was defined without a setter at eval (eval at <anonymous> (:11:1), <anonymous>:1:18) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}
Debugger.evaluateOnCallFrame: `Klass.#getterOnly -= 3`
{
className : Error
description : Error: '#getterOnly' was defined without a setter at eval (eval at <anonymous> (:11:1), <anonymous>:1:19) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}
Debugger.evaluateOnCallFrame: `Klass.#getterOnly`
{
type : string
value : getterOnly
}
Checking private setter-only accessors
Debugger.evaluateOnCallFrame: `Klass.#setterOnly`
{
className : Error
description : Error: '#setterOnly' was defined without a getter at eval (eval at <anonymous> (:11:1), <anonymous>:1:1) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}
Debugger.evaluateOnCallFrame: `Klass.#setterOnly = 1`
{
description : 1
type : number
value : 1
}
Debugger.evaluateOnCallFrame: `Klass.#setterOnly++`
{
className : Error
description : Error: '#setterOnly' was defined without a getter at eval (eval at <anonymous> (:11:1), <anonymous>:1:1) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}
Debugger.evaluateOnCallFrame: `Klass.#setterOnly -= 3`
{
className : Error
description : Error: '#setterOnly' was defined without a getter at eval (eval at <anonymous> (:11:1), <anonymous>:1:1) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}
Debugger.evaluateOnCallFrame: `Klass.#field`
{
type : string
value : setterOnlyCalled
}
Checking private accessors
Debugger.evaluateOnCallFrame: `Klass.#accessor`
{
type : string
value : setterOnlyCalled
}
Debugger.evaluateOnCallFrame: `Klass.#accessor = 1`
{
description : 1
type : number
value : 1
}
Debugger.evaluateOnCallFrame: `Klass.#field`
{
description : 1
type : number
value : 1
}
Debugger.evaluateOnCallFrame: `Klass.#accessor++`
{
description : 1
type : number
value : 1
}
Debugger.evaluateOnCallFrame: `Klass.#field`
{
description : 2
type : number
value : 2
}
Debugger.evaluateOnCallFrame: `++Klass.#accessor`
{
type : undefined
}
Debugger.evaluateOnCallFrame: `Klass.#field`
{
description : 3
type : number
value : 3
}
Debugger.evaluateOnCallFrame: `Klass.#accessor -= 3`
{
description : 0
type : number
value : 0
}
Debugger.evaluateOnCallFrame: `Klass.#field`
{
description : 0
type : number
value : 0
}
Checking private methods
Debugger.evaluateOnCallFrame: `Klass.#method`
{
className : Function
description : #method() { return "method"; }
objectId : <objectId>
type : function
}
Debugger.evaluateOnCallFrame: `Klass.#method = 1`
{
className : Error
description : Error: Private method '#method' is not writable at eval (eval at <anonymous> (:11:1), <anonymous>:1:15) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}
Debugger.evaluateOnCallFrame: `Klass.#method++`
{
className : Error
description : Error: Private method '#method' is not writable at eval (eval at <anonymous> (:11:1), <anonymous>:1:14) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}
Debugger.evaluateOnCallFrame: `++Klass.#method`
{
className : Error
description : Error: Private method '#method' is not writable at eval (eval at <anonymous> (:11:1), <anonymous>:1:9) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}
Debugger.evaluateOnCallFrame: `Klass.#method -= 3`
{
className : Error
description : Error: Private method '#method' is not writable at eval (eval at <anonymous> (:11:1), <anonymous>:1:15) at <anonymous>:11:1
objectId : <objectId>
subtype : error
type : object
}