Check private methods in object preview.

Running test: testPrivateMethods
expression: new class extends class { constructor() { return new Proxy({}, {}); } } { #method() { return 1; } }
[
]
expression: new class { #method() { return 1; } get #accessor() { } set #accessor(val) { } }
[
    [0] : {
        name : #method
        type : function
        value : 
    }
    [1] : {
        name : #accessor
        type : accessor
    }
]
expression: new class extends class { #method() { return 1; } } { get #accessor() { } set #accessor(val) { } }
[
    [0] : {
        name : #method
        type : function
        value : 
    }
    [1] : {
        name : #accessor
        type : accessor
    }
]
