compiler,reflect: fix NumMethods for Interface type

This commit is contained in:
frenkel26
2024-05-28 15:09:59 +03:00
committed by GitHub
parent 81ce7fb738
commit f7c0466f78
4 changed files with 16 additions and 7 deletions
+1
View File
@@ -456,6 +456,7 @@ func showValue(rv reflect.Value, indent string) {
case reflect.Interface:
println(indent + " interface")
println(indent+" nil:", rv.IsNil())
println(indent+" NumMethod:", rv.NumMethod())
if !rv.IsNil() {
showValue(rv.Elem(), indent+" ")
}
+5
View File
@@ -80,6 +80,7 @@ reflect type: ptr
reflect type: interface settable=true addrable=true
interface
nil: true
NumMethod: 1
reflect type: ptr
pointer: true int
nil: false
@@ -240,6 +241,7 @@ reflect type: struct
reflect type: interface caninterface=false
interface
nil: true
NumMethod: 1
reflect type: struct
struct: 3
field: 0 a
@@ -371,12 +373,14 @@ reflect type: slice comparable=false
reflect type: interface settable=true addrable=true
interface
nil: false
NumMethod: 0
reflect type: int
int: 3
indexing: 1
reflect type: interface settable=true addrable=true
interface
nil: false
NumMethod: 0
reflect type: string
string: str 3
reflect type: uint8
@@ -389,6 +393,7 @@ reflect type: slice comparable=false
reflect type: interface settable=true addrable=true
interface
nil: false
NumMethod: 0
reflect type: complex128
complex: (-4.000000e+000+2.500000e+000i)
reflect type: ptr