From 9a072a8f495305251d3ea1b5e24bbbedd9dafa10 Mon Sep 17 00:00:00 2001 From: Anton Nikiforov Date: Mon, 15 May 2023 17:21:49 +0300 Subject: [PATCH] [#68] Replace interface{} with any Signed-off-by: Anton Nikiforov --- client/status/status.go | 2 +- client/status/v2.go | 2 +- client/status/v2_test.go | 4 +-- netmap/network_info_test.go | 64 ++++++++++++++++++------------------- netmap/policy.go | 22 ++++++------- ns/nns.go | 2 +- ns/nns_test.go | 4 +-- 7 files changed, 50 insertions(+), 50 deletions(-) diff --git a/client/status/status.go b/client/status/status.go index e9b24146..1d66b6b1 100644 --- a/client/status/status.go +++ b/client/status/status.go @@ -15,7 +15,7 @@ package apistatus // It should be noted that using direct typecasting is not a compatible approach. // // To transport statuses using the FrostFS API V2 protocol, see StatusV2 interface and FromStatusV2 and ToStatusV2 functions. -type Status interface{} +type Status any // ErrFromStatus converts Status instance to error if it is failed. Returns nil on successful Status. // diff --git a/client/status/v2.go b/client/status/v2.go index 1918bbb8..ff6ccecd 100644 --- a/client/status/v2.go +++ b/client/status/v2.go @@ -123,7 +123,7 @@ func ToStatusV2(st Status) *status.Status { return internalErrorStatus } -func errMessageStatusV2(code interface{}, msg string) string { +func errMessageStatusV2(code any, msg string) string { const ( noMsgFmt = "status: code = %v" msgFmt = noMsgFmt + " message = %s" diff --git a/client/status/v2_test.go b/client/status/v2_test.go index a7084bae..14d4c309 100644 --- a/client/status/v2_test.go +++ b/client/status/v2_test.go @@ -12,7 +12,7 @@ func TestToStatusV2(t *testing.T) { type statusConstructor func() apistatus.Status for _, testItem := range [...]struct { - status interface{} // Status or statusConstructor + status any // Status or statusConstructor codeV2 uint64 messageV2 string }{ @@ -165,7 +165,7 @@ func TestFromStatusV2(t *testing.T) { type statusConstructor func() apistatus.Status for _, testItem := range [...]struct { - status interface{} // Status or statusConstructor + status any // Status or statusConstructor codeV2 uint64 messageV2 string }{ diff --git a/netmap/network_info_test.go b/netmap/network_info_test.go index 895a0a9c..54b1b30b 100644 --- a/netmap/network_info_test.go +++ b/netmap/network_info_test.go @@ -61,16 +61,16 @@ func TestNetworkInfo_MsPerBlock(t *testing.T) { } func testConfigValue(t *testing.T, - getter func(x NetworkInfo) interface{}, - setter func(x *NetworkInfo, val interface{}), - val1, val2 interface{}, - v2Key string, v2Val func(val interface{}) []byte, + getter func(x NetworkInfo) any, + setter func(x *NetworkInfo, val any), + val1, val2 any, + v2Key string, v2Val func(val any) []byte, ) { var x NetworkInfo require.Zero(t, getter(x)) - checkVal := func(exp interface{}) { + checkVal := func(exp any) { require.EqualValues(t, exp, getter(x)) var m netmap.NetworkInfo @@ -97,10 +97,10 @@ func testConfigValue(t *testing.T, func TestNetworkInfo_AuditFee(t *testing.T) { testConfigValue(t, - func(x NetworkInfo) interface{} { return x.AuditFee() }, - func(info *NetworkInfo, val interface{}) { info.SetAuditFee(val.(uint64)) }, + func(x NetworkInfo) any { return x.AuditFee() }, + func(info *NetworkInfo, val any) { info.SetAuditFee(val.(uint64)) }, uint64(1), uint64(2), - "AuditFee", func(val interface{}) []byte { + "AuditFee", func(val any) []byte { data := make([]byte, 8) binary.LittleEndian.PutUint64(data, val.(uint64)) return data @@ -110,10 +110,10 @@ func TestNetworkInfo_AuditFee(t *testing.T) { func TestNetworkInfo_StoragePrice(t *testing.T) { testConfigValue(t, - func(x NetworkInfo) interface{} { return x.StoragePrice() }, - func(info *NetworkInfo, val interface{}) { info.SetStoragePrice(val.(uint64)) }, + func(x NetworkInfo) any { return x.StoragePrice() }, + func(info *NetworkInfo, val any) { info.SetStoragePrice(val.(uint64)) }, uint64(1), uint64(2), - "BasicIncomeRate", func(val interface{}) []byte { + "BasicIncomeRate", func(val any) []byte { data := make([]byte, 8) binary.LittleEndian.PutUint64(data, val.(uint64)) return data @@ -123,10 +123,10 @@ func TestNetworkInfo_StoragePrice(t *testing.T) { func TestNetworkInfo_ContainerFee(t *testing.T) { testConfigValue(t, - func(x NetworkInfo) interface{} { return x.ContainerFee() }, - func(info *NetworkInfo, val interface{}) { info.SetContainerFee(val.(uint64)) }, + func(x NetworkInfo) any { return x.ContainerFee() }, + func(info *NetworkInfo, val any) { info.SetContainerFee(val.(uint64)) }, uint64(1), uint64(2), - "ContainerFee", func(val interface{}) []byte { + "ContainerFee", func(val any) []byte { data := make([]byte, 8) binary.LittleEndian.PutUint64(data, val.(uint64)) return data @@ -136,10 +136,10 @@ func TestNetworkInfo_ContainerFee(t *testing.T) { func TestNetworkInfo_NamedContainerFee(t *testing.T) { testConfigValue(t, - func(x NetworkInfo) interface{} { return x.NamedContainerFee() }, - func(info *NetworkInfo, val interface{}) { info.SetNamedContainerFee(val.(uint64)) }, + func(x NetworkInfo) any { return x.NamedContainerFee() }, + func(info *NetworkInfo, val any) { info.SetNamedContainerFee(val.(uint64)) }, uint64(1), uint64(2), - "ContainerAliasFee", func(val interface{}) []byte { + "ContainerAliasFee", func(val any) []byte { data := make([]byte, 8) binary.LittleEndian.PutUint64(data, val.(uint64)) return data @@ -149,10 +149,10 @@ func TestNetworkInfo_NamedContainerFee(t *testing.T) { func TestNetworkInfo_IRCandidateFee(t *testing.T) { testConfigValue(t, - func(x NetworkInfo) interface{} { return x.IRCandidateFee() }, - func(info *NetworkInfo, val interface{}) { info.SetIRCandidateFee(val.(uint64)) }, + func(x NetworkInfo) any { return x.IRCandidateFee() }, + func(info *NetworkInfo, val any) { info.SetIRCandidateFee(val.(uint64)) }, uint64(1), uint64(2), - "InnerRingCandidateFee", func(val interface{}) []byte { + "InnerRingCandidateFee", func(val any) []byte { data := make([]byte, 8) binary.LittleEndian.PutUint64(data, val.(uint64)) return data @@ -162,10 +162,10 @@ func TestNetworkInfo_IRCandidateFee(t *testing.T) { func TestNetworkInfo_MaxObjectSize(t *testing.T) { testConfigValue(t, - func(x NetworkInfo) interface{} { return x.MaxObjectSize() }, - func(info *NetworkInfo, val interface{}) { info.SetMaxObjectSize(val.(uint64)) }, + func(x NetworkInfo) any { return x.MaxObjectSize() }, + func(info *NetworkInfo, val any) { info.SetMaxObjectSize(val.(uint64)) }, uint64(1), uint64(2), - "MaxObjectSize", func(val interface{}) []byte { + "MaxObjectSize", func(val any) []byte { data := make([]byte, 8) binary.LittleEndian.PutUint64(data, val.(uint64)) return data @@ -175,10 +175,10 @@ func TestNetworkInfo_MaxObjectSize(t *testing.T) { func TestNetworkInfo_WithdrawalFee(t *testing.T) { testConfigValue(t, - func(x NetworkInfo) interface{} { return x.WithdrawalFee() }, - func(info *NetworkInfo, val interface{}) { info.SetWithdrawalFee(val.(uint64)) }, + func(x NetworkInfo) any { return x.WithdrawalFee() }, + func(info *NetworkInfo, val any) { info.SetWithdrawalFee(val.(uint64)) }, uint64(1), uint64(2), - "WithdrawFee", func(val interface{}) []byte { + "WithdrawFee", func(val any) []byte { data := make([]byte, 8) binary.LittleEndian.PutUint64(data, val.(uint64)) return data @@ -188,14 +188,14 @@ func TestNetworkInfo_WithdrawalFee(t *testing.T) { func TestNetworkInfo_HomomorphicHashingDisabled(t *testing.T) { testConfigValue(t, - func(x NetworkInfo) interface{} { return x.HomomorphicHashingDisabled() }, - func(info *NetworkInfo, val interface{}) { + func(x NetworkInfo) any { return x.HomomorphicHashingDisabled() }, + func(info *NetworkInfo, val any) { if val.(bool) { info.DisableHomomorphicHashing() } }, true, true, // it is impossible to enable hashing - "HomomorphicHashingDisabled", func(val interface{}) []byte { + "HomomorphicHashingDisabled", func(val any) []byte { data := make([]byte, 1) if val.(bool) { @@ -209,14 +209,14 @@ func TestNetworkInfo_HomomorphicHashingDisabled(t *testing.T) { func TestNetworkInfo_MaintenanceModeAllowed(t *testing.T) { testConfigValue(t, - func(x NetworkInfo) interface{} { return x.MaintenanceModeAllowed() }, - func(info *NetworkInfo, val interface{}) { + func(x NetworkInfo) any { return x.MaintenanceModeAllowed() }, + func(info *NetworkInfo, val any) { if val.(bool) { info.AllowMaintenanceMode() } }, true, true, - "MaintenanceModeAllowed", func(val interface{}) []byte { + "MaintenanceModeAllowed", func(val any) []byte { if val.(bool) { return []byte{1} } diff --git a/netmap/policy.go b/netmap/policy.go index 11aa4f66..b2dd7667 100644 --- a/netmap/policy.go +++ b/netmap/policy.go @@ -541,17 +541,17 @@ type policyVisitor struct { antlr.DefaultErrorListener } -func (p *policyVisitor) SyntaxError(_ antlr.Recognizer, _ interface{}, line, column int, msg string, _ antlr.RecognitionException) { +func (p *policyVisitor) SyntaxError(_ antlr.Recognizer, _ any, line, column int, msg string, _ antlr.RecognitionException) { p.reportError(fmt.Errorf("%w: line %d:%d %s", errSyntaxError, line, column, msg)) } -func (p *policyVisitor) reportError(err error) interface{} { +func (p *policyVisitor) reportError(err error) any { p.errors = append(p.errors, err) return nil } // VisitPolicy implements parser.QueryVisitor interface. -func (p *policyVisitor) VisitPolicy(ctx *parser.PolicyContext) interface{} { +func (p *policyVisitor) VisitPolicy(ctx *parser.PolicyContext) any { if len(p.errors) != 0 { return nil } @@ -599,7 +599,7 @@ func (p *policyVisitor) VisitPolicy(ctx *parser.PolicyContext) interface{} { return pl } -func (p *policyVisitor) VisitCbfStmt(ctx *parser.CbfStmtContext) interface{} { +func (p *policyVisitor) VisitCbfStmt(ctx *parser.CbfStmtContext) any { cbf, err := strconv.ParseUint(ctx.GetBackupFactor().GetText(), 10, 32) if err != nil { return p.reportError(errInvalidNumber) @@ -609,7 +609,7 @@ func (p *policyVisitor) VisitCbfStmt(ctx *parser.CbfStmtContext) interface{} { } // VisitRepStmt implements parser.QueryVisitor interface. -func (p *policyVisitor) VisitRepStmt(ctx *parser.RepStmtContext) interface{} { +func (p *policyVisitor) VisitRepStmt(ctx *parser.RepStmtContext) any { num, err := strconv.ParseUint(ctx.GetCount().GetText(), 10, 32) if err != nil { return p.reportError(errInvalidNumber) @@ -626,7 +626,7 @@ func (p *policyVisitor) VisitRepStmt(ctx *parser.RepStmtContext) interface{} { } // VisitSelectStmt implements parser.QueryVisitor interface. -func (p *policyVisitor) VisitSelectStmt(ctx *parser.SelectStmtContext) interface{} { +func (p *policyVisitor) VisitSelectStmt(ctx *parser.SelectStmtContext) any { res, err := strconv.ParseUint(ctx.GetCount().GetText(), 10, 32) if err != nil { return p.reportError(errInvalidNumber) @@ -652,13 +652,13 @@ func (p *policyVisitor) VisitSelectStmt(ctx *parser.SelectStmtContext) interface } // VisitFilterStmt implements parser.QueryVisitor interface. -func (p *policyVisitor) VisitFilterStmt(ctx *parser.FilterStmtContext) interface{} { +func (p *policyVisitor) VisitFilterStmt(ctx *parser.FilterStmtContext) any { f := p.VisitFilterExpr(ctx.GetExpr().(*parser.FilterExprContext)).(*netmap.Filter) f.SetName(ctx.GetName().GetText()) return f } -func (p *policyVisitor) VisitFilterExpr(ctx *parser.FilterExprContext) interface{} { +func (p *policyVisitor) VisitFilterExpr(ctx *parser.FilterExprContext) any { if eCtx := ctx.Expr(); eCtx != nil { return eCtx.Accept(p) } @@ -687,7 +687,7 @@ func (p *policyVisitor) VisitFilterExpr(ctx *parser.FilterExprContext) interface } // VisitFilterKey implements parser.QueryVisitor interface. -func (p *policyVisitor) VisitFilterKey(ctx *parser.FilterKeyContext) interface{} { +func (p *policyVisitor) VisitFilterKey(ctx *parser.FilterKeyContext) any { if id := ctx.Ident(); id != nil { return id.GetText() } @@ -696,7 +696,7 @@ func (p *policyVisitor) VisitFilterKey(ctx *parser.FilterKeyContext) interface{} return str[1 : len(str)-1] } -func (p *policyVisitor) VisitFilterValue(ctx *parser.FilterValueContext) interface{} { +func (p *policyVisitor) VisitFilterValue(ctx *parser.FilterValueContext) any { if id := ctx.Ident(); id != nil { return id.GetText() } @@ -710,7 +710,7 @@ func (p *policyVisitor) VisitFilterValue(ctx *parser.FilterValueContext) interfa } // VisitExpr implements parser.QueryVisitor interface. -func (p *policyVisitor) VisitExpr(ctx *parser.ExprContext) interface{} { +func (p *policyVisitor) VisitExpr(ctx *parser.ExprContext) any { f := new(netmap.Filter) if flt := ctx.GetFilter(); flt != nil { f.SetName(flt.GetText()) diff --git a/ns/nns.go b/ns/nns.go index 8bbe6532..3c40ab03 100644 --- a/ns/nns.go +++ b/ns/nns.go @@ -26,7 +26,7 @@ type NNS struct { nnsContract util.Uint160 invoker interface { - Call(contract util.Uint160, operation string, params ...interface{}) (*result.Invoke, error) + Call(contract util.Uint160, operation string, params ...any) (*result.Invoke, error) } } diff --git a/ns/nns_test.go b/ns/nns_test.go index 6abd3ee3..3180ac45 100644 --- a/ns/nns_test.go +++ b/ns/nns_test.go @@ -29,7 +29,7 @@ type testNeoClient struct { err error } -func (x *testNeoClient) Call(contract util.Uint160, operation string, params ...interface{}) (*result.Invoke, error) { +func (x *testNeoClient) Call(contract util.Uint160, operation string, params ...any) (*result.Invoke, error) { var domain string require.Equal(x.t, x.expectedContract, contract) @@ -49,7 +49,7 @@ type brokenArrayStackItem struct { stackitem.Item } -func (x brokenArrayStackItem) Value() interface{} { +func (x brokenArrayStackItem) Value() any { return 1 }