| Test static private class methods |
| |
| Running test: testScopesPaused |
| privateProperties on the base class |
| [ |
| [0] : { |
| name : #writeOnly |
| set : { |
| className : Function |
| description : set #writeOnly(val) { this.#field = val; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| [1] : { |
| get : { |
| className : Function |
| description : get #readOnly() { return this.#field; } |
| objectId : <objectId> |
| type : function |
| } |
| name : #readOnly |
| } |
| [2] : { |
| get : { |
| className : Function |
| description : get #accessor() { return this.#field; } |
| objectId : <objectId> |
| type : function |
| } |
| name : #accessor |
| set : { |
| className : Function |
| description : set #accessor(val) { this.#field = val; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| [3] : { |
| name : #inc |
| value : { |
| className : Function |
| description : #inc() { return ++A.#accessor; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| [4] : { |
| name : #field |
| value : { |
| description : 2 |
| type : number |
| value : 2 |
| } |
| } |
| ] |
| Evaluating A.#inc(); |
| { |
| result : { |
| description : 3 |
| type : number |
| value : 3 |
| } |
| } |
| Evaluating this.#inc(); |
| { |
| result : { |
| description : 4 |
| type : number |
| value : 4 |
| } |
| } |
| Evaluating ++this.#accessor; |
| { |
| result : { |
| description : 5 |
| type : number |
| value : 5 |
| } |
| } |
| Evaluating this.#readOnly; |
| { |
| result : { |
| description : 5 |
| type : number |
| value : 5 |
| } |
| } |
| Evaluating this.#writeOnly = 0; this.#field; |
| { |
| result : { |
| description : 0 |
| type : number |
| value : 0 |
| } |
| } |
| privateProperties on the subclass |
| [ |
| [0] : { |
| get : { |
| className : Function |
| description : get #accessor() { return 'subclassAccessor'; } |
| objectId : <objectId> |
| type : function |
| } |
| name : #accessor |
| } |
| [1] : { |
| name : #subclassMethod |
| value : { |
| className : Function |
| description : #subclassMethod() { return B.#accessor; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| ] |
| Evaluating this.#inc(); from the base class |
| { |
| exceptionDetails : { |
| columnNumber : 4 |
| exception : { |
| className : SyntaxError |
| description : SyntaxError: Private field '#inc' must be declared in an enclosing class at Function.test (<anonymous>:24:7) at run (<anonymous>:28:5) at <anonymous>:1:1 |
| objectId : <objectId> |
| subtype : error |
| type : object |
| } |
| exceptionId : <exceptionId> |
| lineNumber : 0 |
| scriptId : <scriptId> |
| text : Uncaught |
| } |
| result : { |
| className : SyntaxError |
| description : SyntaxError: Private field '#inc' must be declared in an enclosing class at Function.test (<anonymous>:24:7) at run (<anonymous>:28:5) at <anonymous>:1:1 |
| objectId : <objectId> |
| subtype : error |
| type : object |
| } |
| } |
| Evaluating this.#subclassMethod(); |
| { |
| result : { |
| type : string |
| value : subclassAccessor |
| } |
| } |