From 32fa6266db06871536169bf7c1441c3f8940058b Mon Sep 17 00:00:00 2001 From: diamondburned Date: Thu, 8 Oct 2020 23:58:58 -0700 Subject: [PATCH] Fixed Bitwise codegen being flipped --- cchat.go | 4 ++-- cmd/internal/cchat-generator/generate_enum.go | 18 +++++++++--------- text/text.go | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/cchat.go b/cchat.go index 18c7637..bfea3e9 100644 --- a/cchat.go +++ b/cchat.go @@ -100,8 +100,8 @@ const ( StatusInvisible ) -func (s Status) Has(has Status) bool { - return s&has == has +func (s Status) Is(is Status) bool { + return s == is } // AuthenticateEntry represents a single authentication entry, usually an email diff --git a/cmd/internal/cchat-generator/generate_enum.go b/cmd/internal/cchat-generator/generate_enum.go index 42482fc..81be11a 100644 --- a/cmd/internal/cchat-generator/generate_enum.go +++ b/cmd/internal/cchat-generator/generate_enum.go @@ -49,15 +49,6 @@ func generateEnums(enums []repository.Enumeration) jen.Code { var recv = genutils.RecvName(enum.Name) if enum.Bitwise { - fn := stmt.Func() - fn.Params(jen.Id(recv).Id(enum.Name)) - fn.Id("Is") - fn.Params(jen.Id("is").Id(enum.Name)) - fn.Bool() - fn.BlockFunc(func(g *jen.Group) { - g.Return(jen.Id(recv).Id("==").Id("is")) - }) - } else { fn := stmt.Func() fn.Params(jen.Id(recv).Id(enum.Name)) fn.Id("Has") @@ -66,6 +57,15 @@ func generateEnums(enums []repository.Enumeration) jen.Code { fn.BlockFunc(func(g *jen.Group) { g.Return(jen.Id(recv).Op("&").Id("has").Op("==").Id("has")) }) + } else { + fn := stmt.Func() + fn.Params(jen.Id(recv).Id(enum.Name)) + fn.Id("Is") + fn.Params(jen.Id("is").Id(enum.Name)) + fn.Bool() + fn.BlockFunc(func(g *jen.Group) { + g.Return(jen.Id(recv).Id("==").Id("is")) + }) } stmt.Line() diff --git a/text/text.go b/text/text.go index da02b85..a996af1 100644 --- a/text/text.go +++ b/text/text.go @@ -35,8 +35,8 @@ const ( AttributeDimmed ) -func (a Attribute) Is(is Attribute) bool { - return a == is +func (a Attribute) Has(has Attribute) bool { + return a&has == has } // Rich is a normal text wrapped with optional format segments.