| Test private class methods |
| |
| Running test: testScopesPaused |
| privateProperties on the base class instance |
| [ |
| [0] : { |
| name : #inc |
| value : { |
| className : Function |
| description : #inc() { this.#field++; return this.#field; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| [1] : { |
| name : #writeOnly |
| set : { |
| className : Function |
| description : set #writeOnly(val) { this.#field = val; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| [2] : { |
| get : { |
| className : Function |
| description : get #readOnly() { return this.#field; } |
| objectId : <objectId> |
| type : function |
| } |
| name : #readOnly |
| } |
| [3] : { |
| 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 |
| } |
| } |
| [4] : { |
| name : #field |
| value : { |
| description : 2 |
| type : number |
| value : 2 |
| } |
| } |
| ] |
| Evaluating private methods |
| { |
| result : { |
| description : 3 |
| type : number |
| value : 3 |
| } |
| } |
| Evaluating private methods |
| { |
| result : { |
| description : 4 |
| type : number |
| value : 4 |
| } |
| } |
| Evaluating private accessors |
| { |
| result : { |
| description : 5 |
| type : number |
| value : 5 |
| } |
| } |
| Evaluating read-only accessor |
| { |
| result : { |
| description : 5 |
| type : number |
| value : 5 |
| } |
| } |
| Evaluating write-only accessor |
| { |
| result : { |
| description : 0 |
| type : number |
| value : 0 |
| } |
| } |
| privateProperties on the subclass instance |
| [ |
| [0] : { |
| name : #inc |
| value : { |
| className : Function |
| description : #inc() { this.#field++; return this.#field; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| [1] : { |
| name : #writeOnly |
| set : { |
| className : Function |
| description : set #writeOnly(val) { this.#field = val; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| [2] : { |
| get : { |
| className : Function |
| description : get #readOnly() { return this.#field; } |
| objectId : <objectId> |
| type : function |
| } |
| name : #readOnly |
| } |
| [3] : { |
| 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 |
| } |
| } |
| [4] : { |
| name : #field |
| value : { |
| description : 2 |
| type : number |
| value : 2 |
| } |
| } |
| [5] : { |
| name : #subclassMethod |
| value : { |
| className : Function |
| description : #subclassMethod() { return 'subclassMethod'; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| [6] : { |
| name : #inc |
| value : { |
| className : Function |
| description : #inc() { return 'subclass #inc'; } |
| objectId : <objectId> |
| type : function |
| } |
| } |
| ] |
| Evaluating private methods in the base class from the subclass |
| { |
| exceptionDetails : { |
| columnNumber : 4 |
| exception : { |
| className : SyntaxError |
| description : SyntaxError: Private field '#subclassMethod' must be declared in an enclosing class at B.fn (<anonymous>:20:7) at run (<anonymous>:34: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 '#subclassMethod' must be declared in an enclosing class at B.fn (<anonymous>:20:7) at run (<anonymous>:34:5) at <anonymous>:1:1 |
| objectId : <objectId> |
| subtype : error |
| type : object |
| } |
| } |
| Evaluating private method in the subclass from the subclass |
| { |
| result : { |
| type : string |
| value : subclassMethod |
| } |
| } |
| Evaluating private method shadowing the base class method |
| { |
| result : { |
| type : string |
| value : subclass #inc |
| } |
| } |