14718889ee
This CL changes frame message from `Function.${staticMethodName}` to `${className}.${staticMethodName}` for stack trace in class static methods. Bug: v8:12778 Change-Id: Ie2b9471066a6ba38265412f4af471789bd375c98 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3575759 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#79898}
84 lines
2.6 KiB
Plaintext
84 lines
2.6 KiB
Plaintext
Test accessing unused private methods at runtime
|
|
|
|
Running test: testScopesPaused
|
|
Get privateProperties of A in testStatic()
|
|
[
|
|
[0] : {
|
|
name : #staticMethod
|
|
value : {
|
|
className : Function
|
|
description : #staticMethod() { return 1; }
|
|
objectId : <objectId>
|
|
type : function
|
|
}
|
|
}
|
|
]
|
|
Access A.#staticMethod() in testStatic()
|
|
{
|
|
exceptionDetails : {
|
|
columnNumber : 0
|
|
exception : {
|
|
className : ReferenceError
|
|
description : ReferenceError: A is not defined at eval (eval at testStatic (:1:1), <anonymous>:1:1) at A.testStatic (<anonymous>:6:29) at run (<anonymous>:9:7) at <anonymous>:1:1
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
exceptionId : <exceptionId>
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
text : Uncaught
|
|
}
|
|
result : {
|
|
className : ReferenceError
|
|
description : ReferenceError: A is not defined at eval (eval at testStatic (:1:1), <anonymous>:1:1) at A.testStatic (<anonymous>:6:29) at run (<anonymous>:9:7) at <anonymous>:1:1
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
}
|
|
Access this.#staticMethod() in testStatic()
|
|
{
|
|
exceptionDetails : {
|
|
columnNumber : 5
|
|
exception : {
|
|
className : Error
|
|
description : Error: Unused static private method '#staticMethod' cannot be accessed at debug time at eval (eval at testStatic (:1:1), <anonymous>:1:6) at A.testStatic (<anonymous>:6:29) at run (<anonymous>:9:7) at <anonymous>:1:1
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
exceptionId : <exceptionId>
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
text : Uncaught
|
|
}
|
|
result : {
|
|
className : Error
|
|
description : Error: Unused static private method '#staticMethod' cannot be accessed at debug time at eval (eval at testStatic (:1:1), <anonymous>:1:6) at A.testStatic (<anonymous>:6:29) at run (<anonymous>:9:7) at <anonymous>:1:1
|
|
objectId : <objectId>
|
|
subtype : error
|
|
type : object
|
|
}
|
|
}
|
|
get privateProperties of a in testInstance()
|
|
[
|
|
[0] : {
|
|
name : #instanceMethod
|
|
value : {
|
|
className : Function
|
|
description : #instanceMethod() { return 2; }
|
|
objectId : <objectId>
|
|
type : function
|
|
}
|
|
}
|
|
]
|
|
Evaluating this.#instanceMethod() in testInstance()
|
|
{
|
|
result : {
|
|
description : 2
|
|
type : number
|
|
value : 2
|
|
}
|
|
}
|