From 30ac6ec281b0815901a1a44844322b65d623de94 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Thu, 6 Sep 2018 20:04:41 +0200 Subject: [PATCH] compiler: don't try to get pointer methods I don't know why this was ever needed, but it seems to be incorrect and unnecessary. --- compiler.go | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/compiler.go b/compiler.go index 7f52c030..661b9ff6 100644 --- a/compiler.go +++ b/compiler.go @@ -721,22 +721,13 @@ func (c *Compiler) getDIType(typ types.Type) (llvm.Metadata, error) { } } -// Get all methods of a type: both value receivers and pointer receivers. +// Get all methods of a type. func getAllMethods(prog *ssa.Program, typ types.Type) []*types.Selection { - var methods []*types.Selection - - // value receivers ms := prog.MethodSets.MethodSet(typ) + methods := make([]*types.Selection, ms.Len()) for i := 0; i < ms.Len(); i++ { - methods = append(methods, ms.At(i)) + methods[i] = ms.At(i) } - - // pointer receivers - ms = prog.MethodSets.MethodSet(types.NewPointer(typ)) - for i := 0; i < ms.Len(); i++ { - methods = append(methods, ms.At(i)) - } - return methods }