diff --git a/t/neo/marshal.go b/t/neo/marshal.go index 0b63ae33e9c2253f3b0340775699c0411b0e2b86..3dcd1382a60ffd4936aa7ffea73dad1a56685674 100644 --- a/t/neo/marshal.go +++ b/t/neo/marshal.go @@ -10,9 +10,7 @@ import ( // 0. Address func (p *Address) NEOEncodedLen() int { - var size int - size += 4 + len(p.Host) - return size + 2 + return 6 + len(p.Host) } func (p *Address) NEOEncode(data []byte) { @@ -55,9 +53,7 @@ overflow: // 1. NodeInfo func (p *NodeInfo) NEOEncodedLen() int { - var size int - size += 8 + len(p.Address.Host) - return size + 18 + return 26 + len(p.Address.Host) } func (p *NodeInfo) NEOEncode(data []byte) { @@ -120,8 +116,7 @@ overflow: // 2. CellInfo func (p *CellInfo) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *CellInfo) NEOEncode(data []byte) { @@ -149,9 +144,7 @@ overflow: // 3. RowInfo func (p *RowInfo) NEOEncodedLen() int { - var size int - size += 4 + len(p.CellList)*8 - return size + 4 + return 8 + len(p.CellList)*8 } func (p *RowInfo) NEOEncode(data []byte) { @@ -207,9 +200,7 @@ overflow: // 4. Notify func (p *Notify) NEOEncodedLen() int { - var size int - size += 4 + len(p.Message) - return size + 0 + return 4 + len(p.Message) } func (p *Notify) NEOEncode(data []byte) { @@ -247,9 +238,7 @@ overflow: // 5. Error func (p *Error) NEOEncodedLen() int { - var size int - size += 8 + len(p.Message) - return size + 0 + return 8 + len(p.Message) } func (p *Error) NEOEncode(data []byte) { @@ -292,8 +281,7 @@ overflow: // 6. Ping func (p *Ping) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *Ping) NEOEncode(data []byte) { @@ -311,8 +299,7 @@ overflow: // 7. CloseClient func (p *CloseClient) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *CloseClient) NEOEncode(data []byte) { @@ -330,10 +317,7 @@ overflow: // 8. RequestIdentification func (p *RequestIdentification) NEOEncodedLen() int { - var size int - size += 16 + len(p.Address.Host) - size += 6 + len(p.Name) - return size + 8 + return 30 + len(p.Address.Host) + len(p.Name) } func (p *RequestIdentification) NEOEncode(data []byte) { @@ -416,15 +400,12 @@ overflow: // 9. AcceptIdentification func (p *AcceptIdentification) NEOEncodedLen() int { - var size int - size += 24 + len(p.Primary.Host) - size += 2 + 4 + size += 30 for i := 0; i < len(p.KnownMasterList); i++ { a := &p.KnownMasterList[i] - size += 4 + len((*a).Address.Host) - size += 6 + size += 10 } - return size + 0 + return 0 + len(p.Primary.Host) + len((*a).Address.Host) + size } func (p *AcceptIdentification) NEOEncode(data []byte) { @@ -548,8 +529,7 @@ overflow: // 10. PrimaryMaster func (p *PrimaryMaster) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *PrimaryMaster) NEOEncode(data []byte) { @@ -567,8 +547,7 @@ overflow: // 11. AnswerPrimary func (p *AnswerPrimary) NEOEncodedLen() int { - var size int - return size + 4 + return 4 } func (p *AnswerPrimary) NEOEncode(data []byte) { @@ -591,8 +570,7 @@ overflow: // 12. AnnouncePrimary func (p *AnnouncePrimary) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *AnnouncePrimary) NEOEncode(data []byte) { @@ -610,8 +588,7 @@ overflow: // 13. ReelectPrimary func (p *ReelectPrimary) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *ReelectPrimary) NEOEncode(data []byte) { @@ -629,8 +606,7 @@ overflow: // 14. Recovery func (p *Recovery) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *Recovery) NEOEncode(data []byte) { @@ -648,8 +624,7 @@ overflow: // 15. AnswerRecovery func (p *AnswerRecovery) NEOEncodedLen() int { - var size int - return size + 24 + return 24 } func (p *AnswerRecovery) NEOEncode(data []byte) { @@ -682,8 +657,7 @@ overflow: // 16. LastIDs func (p *LastIDs) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *LastIDs) NEOEncode(data []byte) { @@ -701,8 +675,7 @@ overflow: // 17. AnswerLastIDs func (p *AnswerLastIDs) NEOEncodedLen() int { - var size int - return size + 16 + return 16 } func (p *AnswerLastIDs) NEOEncode(data []byte) { @@ -730,8 +703,7 @@ overflow: // 18. PartitionTable func (p *PartitionTable) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *PartitionTable) NEOEncode(data []byte) { @@ -749,14 +721,12 @@ overflow: // 19. AnswerPartitionTable func (p *AnswerPartitionTable) NEOEncodedLen() int { - var size int - size += 8 + 4 + size += 12 for i := 0; i < len(p.RowList); i++ { a := &p.RowList[i] - size += 4 + len((*a).CellList)*8 - size += 4 + size += 8 } - return size + 0 + return 0 + len((*a).CellList)*8 + size } func (p *AnswerPartitionTable) NEOEncode(data []byte) { @@ -840,14 +810,12 @@ overflow: // 20. NotifyPartitionTable func (p *NotifyPartitionTable) NEOEncodedLen() int { - var size int - size += 8 + 4 + size += 12 for i := 0; i < len(p.RowList); i++ { a := &p.RowList[i] - size += 4 + len((*a).CellList)*8 - size += 4 + size += 8 } - return size + 0 + return 0 + len((*a).CellList)*8 + size } func (p *NotifyPartitionTable) NEOEncode(data []byte) { @@ -931,9 +899,7 @@ overflow: // 21. PartitionChanges func (p *PartitionChanges) NEOEncodedLen() int { - var size int - size += 4 + len(p.CellList)*12 - return size + 8 + return 12 + len(p.CellList)*12 } func (p *PartitionChanges) NEOEncode(data []byte) { @@ -998,8 +964,7 @@ overflow: // 22. StartOperation func (p *StartOperation) NEOEncodedLen() int { - var size int - return size + 1 + return 1 } func (p *StartOperation) NEOEncode(data []byte) { @@ -1022,8 +987,7 @@ overflow: // 23. StopOperation func (p *StopOperation) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *StopOperation) NEOEncode(data []byte) { @@ -1041,8 +1005,7 @@ overflow: // 24. UnfinishedTransactions func (p *UnfinishedTransactions) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *UnfinishedTransactions) NEOEncode(data []byte) { @@ -1060,9 +1023,7 @@ overflow: // 25. AnswerUnfinishedTransactions func (p *AnswerUnfinishedTransactions) NEOEncodedLen() int { - var size int - size += 4 + len(p.TidList)*8 - return size + 8 + return 12 + len(p.TidList)*8 } func (p *AnswerUnfinishedTransactions) NEOEncode(data []byte) { @@ -1113,8 +1074,7 @@ overflow: // 26. LockedTransactions func (p *LockedTransactions) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *LockedTransactions) NEOEncode(data []byte) { @@ -1132,9 +1092,8 @@ overflow: // 27. AnswerLockedTransactions func (p *AnswerLockedTransactions) NEOEncodedLen() int { - var size int size += 4 + len(p.TidDict)*16 - return size + 0 + return 0 } func (p *AnswerLockedTransactions) NEOEncode(data []byte) { @@ -1189,8 +1148,7 @@ overflow: // 28. FinalTID func (p *FinalTID) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *FinalTID) NEOEncode(data []byte) { @@ -1213,8 +1171,7 @@ overflow: // 29. AnswerFinalTID func (p *AnswerFinalTID) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *AnswerFinalTID) NEOEncode(data []byte) { @@ -1237,8 +1194,7 @@ overflow: // 30. ValidateTransaction func (p *ValidateTransaction) NEOEncodedLen() int { - var size int - return size + 16 + return 16 } func (p *ValidateTransaction) NEOEncode(data []byte) { @@ -1266,8 +1222,7 @@ overflow: // 31. BeginTransaction func (p *BeginTransaction) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *BeginTransaction) NEOEncode(data []byte) { @@ -1290,8 +1245,7 @@ overflow: // 32. AnswerBeginTransaction func (p *AnswerBeginTransaction) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *AnswerBeginTransaction) NEOEncode(data []byte) { @@ -1314,10 +1268,7 @@ overflow: // 33. FinishTransaction func (p *FinishTransaction) NEOEncodedLen() int { - var size int - size += 4 + len(p.OIDList)*8 - size += 4 + len(p.CheckedList)*8 - return size + 8 + return 16 + len(p.OIDList)*8 + len(p.CheckedList)*8 } func (p *FinishTransaction) NEOEncode(data []byte) { @@ -1396,8 +1347,7 @@ overflow: // 34. AnswerFinishTransaction func (p *AnswerFinishTransaction) NEOEncodedLen() int { - var size int - return size + 16 + return 16 } func (p *AnswerFinishTransaction) NEOEncode(data []byte) { @@ -1425,8 +1375,7 @@ overflow: // 35. NotifyTransactionFinished func (p *NotifyTransactionFinished) NEOEncodedLen() int { - var size int - return size + 16 + return 16 } func (p *NotifyTransactionFinished) NEOEncode(data []byte) { @@ -1454,8 +1403,7 @@ overflow: // 36. LockInformation func (p *LockInformation) NEOEncodedLen() int { - var size int - return size + 16 + return 16 } func (p *LockInformation) NEOEncode(data []byte) { @@ -1483,8 +1431,7 @@ overflow: // 37. AnswerLockInformation func (p *AnswerLockInformation) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *AnswerLockInformation) NEOEncode(data []byte) { @@ -1507,9 +1454,7 @@ overflow: // 38. InvalidateObjects func (p *InvalidateObjects) NEOEncodedLen() int { - var size int - size += 4 + len(p.OidList)*8 - return size + 8 + return 12 + len(p.OidList)*8 } func (p *InvalidateObjects) NEOEncode(data []byte) { @@ -1560,8 +1505,7 @@ overflow: // 39. UnlockInformation func (p *UnlockInformation) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *UnlockInformation) NEOEncode(data []byte) { @@ -1584,8 +1528,7 @@ overflow: // 40. GenerateOIDs func (p *GenerateOIDs) NEOEncodedLen() int { - var size int - return size + 4 + return 4 } func (p *GenerateOIDs) NEOEncode(data []byte) { @@ -1608,9 +1551,7 @@ overflow: // 41. AnswerGenerateOIDs func (p *AnswerGenerateOIDs) NEOEncodedLen() int { - var size int - size += 4 + len(p.OidList)*8 - return size + 0 + return 4 + len(p.OidList)*8 } func (p *AnswerGenerateOIDs) NEOEncode(data []byte) { @@ -1656,9 +1597,7 @@ overflow: // 42. StoreObject func (p *StoreObject) NEOEncodedLen() int { - var size int - size += 4 + len(p.Data)*1 - return size + 54 + return 58 + len(p.Data)*1 } func (p *StoreObject) NEOEncode(data []byte) { @@ -1834,8 +1773,7 @@ overflow: // 43. AnswerStoreObject func (p *AnswerStoreObject) NEOEncodedLen() int { - var size int - return size + 17 + return 17 } func (p *AnswerStoreObject) NEOEncode(data []byte) { @@ -1868,8 +1806,7 @@ overflow: // 44. AbortTransaction func (p *AbortTransaction) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *AbortTransaction) NEOEncode(data []byte) { @@ -1892,12 +1829,7 @@ overflow: // 45. StoreTransaction func (p *StoreTransaction) NEOEncodedLen() int { - var size int - size += 12 + len(p.User) - size += 4 + len(p.Description) - size += 4 + len(p.Extension) - size += 4 + len(p.OidList)*8 - return size + 0 + return 24 + len(p.User) + len(p.Description) + len(p.Extension) + len(p.OidList)*8 } func (p *StoreTransaction) NEOEncode(data []byte) { @@ -2008,8 +1940,7 @@ overflow: // 46. VoteTransaction func (p *VoteTransaction) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *VoteTransaction) NEOEncode(data []byte) { @@ -2032,8 +1963,7 @@ overflow: // 47. GetObject func (p *GetObject) NEOEncodedLen() int { - var size int - return size + 24 + return 24 } func (p *GetObject) NEOEncode(data []byte) { @@ -2066,9 +1996,7 @@ overflow: // 48. AnswerGetObject func (p *AnswerGetObject) NEOEncodedLen() int { - var size int - size += 4 + len(p.Data)*1 - return size + 53 + return 57 + len(p.Data)*1 } func (p *AnswerGetObject) NEOEncode(data []byte) { @@ -2239,8 +2167,7 @@ overflow: // 49. TIDList func (p *TIDList) NEOEncodedLen() int { - var size int - return size + 20 + return 20 } func (p *TIDList) NEOEncode(data []byte) { @@ -2273,9 +2200,7 @@ overflow: // 50. AnswerTIDList func (p *AnswerTIDList) NEOEncodedLen() int { - var size int - size += 4 + len(p.TIDList)*8 - return size + 0 + return 4 + len(p.TIDList)*8 } func (p *AnswerTIDList) NEOEncode(data []byte) { @@ -2321,8 +2246,7 @@ overflow: // 51. TIDListFrom func (p *TIDListFrom) NEOEncodedLen() int { - var size int - return size + 24 + return 24 } func (p *TIDListFrom) NEOEncode(data []byte) { @@ -2360,9 +2284,7 @@ overflow: // 52. AnswerTIDListFrom func (p *AnswerTIDListFrom) NEOEncodedLen() int { - var size int - size += 4 + len(p.TidList)*8 - return size + 0 + return 4 + len(p.TidList)*8 } func (p *AnswerTIDListFrom) NEOEncode(data []byte) { @@ -2408,8 +2330,7 @@ overflow: // 53. TransactionInformation func (p *TransactionInformation) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *TransactionInformation) NEOEncode(data []byte) { @@ -2432,12 +2353,7 @@ overflow: // 54. AnswerTransactionInformation func (p *AnswerTransactionInformation) NEOEncodedLen() int { - var size int - size += 12 + len(p.User) - size += 4 + len(p.Description) - size += 4 + len(p.Extension) - size += 4 + len(p.OidList)*8 - return size + 1 + return 25 + len(p.User) + len(p.Description) + len(p.Extension) + len(p.OidList)*8 } func (p *AnswerTransactionInformation) NEOEncode(data []byte) { @@ -2553,8 +2469,7 @@ overflow: // 55. ObjectHistory func (p *ObjectHistory) NEOEncodedLen() int { - var size int - return size + 24 + return 24 } func (p *ObjectHistory) NEOEncode(data []byte) { @@ -2587,9 +2502,7 @@ overflow: // 56. AnswerObjectHistory func (p *AnswerObjectHistory) NEOEncodedLen() int { - var size int - size += 4 + len(p.HistoryList)*12 - return size + 8 + return 12 + len(p.HistoryList)*12 } func (p *AnswerObjectHistory) NEOEncode(data []byte) { @@ -2648,8 +2561,7 @@ overflow: // 57. PartitionList func (p *PartitionList) NEOEncodedLen() int { - var size int - return size + 12 + return 12 } func (p *PartitionList) NEOEncode(data []byte) { @@ -2682,14 +2594,12 @@ overflow: // 58. AnswerPartitionList func (p *AnswerPartitionList) NEOEncodedLen() int { - var size int - size += 8 + 4 + size += 12 for i := 0; i < len(p.RowList); i++ { a := &p.RowList[i] - size += 4 + len((*a).CellList)*8 - size += 4 + size += 8 } - return size + 0 + return 0 + len((*a).CellList)*8 + size } func (p *AnswerPartitionList) NEOEncode(data []byte) { @@ -2773,8 +2683,7 @@ overflow: // 59. X_NodeList func (p *X_NodeList) NEOEncodedLen() int { - var size int - return size + 4 + return 4 } func (p *X_NodeList) NEOEncode(data []byte) { @@ -2797,14 +2706,12 @@ overflow: // 60. AnswerNodeList func (p *AnswerNodeList) NEOEncodedLen() int { - var size int - size += 0 + 4 + size += 4 for i := 0; i < len(p.NodeList); i++ { a := &p.NodeList[i] - size += 8 + len((*a).Address.Host) - size += 18 + size += 26 } - return size + 0 + return 0 + len((*a).Address.Host) + size } func (p *AnswerNodeList) NEOEncode(data []byte) { @@ -2890,8 +2797,7 @@ overflow: // 61. SetNodeState func (p *SetNodeState) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *SetNodeState) NEOEncode(data []byte) { @@ -2919,9 +2825,7 @@ overflow: // 62. AddPendingNodes func (p *AddPendingNodes) NEOEncodedLen() int { - var size int - size += 4 + len(p.UUIDList)*4 - return size + 0 + return 4 + len(p.UUIDList)*4 } func (p *AddPendingNodes) NEOEncode(data []byte) { @@ -2967,9 +2871,7 @@ overflow: // 63. TweakPartitionTable func (p *TweakPartitionTable) NEOEncodedLen() int { - var size int - size += 4 + len(p.UUIDList)*4 - return size + 0 + return 4 + len(p.UUIDList)*4 } func (p *TweakPartitionTable) NEOEncode(data []byte) { @@ -3015,14 +2917,12 @@ overflow: // 64. NotifyNodeInformation func (p *NotifyNodeInformation) NEOEncodedLen() int { - var size int - size += 0 + 4 + size += 4 for i := 0; i < len(p.NodeList); i++ { a := &p.NodeList[i] - size += 8 + len((*a).Address.Host) - size += 18 + size += 26 } - return size + 0 + return 0 + len((*a).Address.Host) + size } func (p *NotifyNodeInformation) NEOEncode(data []byte) { @@ -3108,8 +3008,7 @@ overflow: // 65. NodeInformation func (p *NodeInformation) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *NodeInformation) NEOEncode(data []byte) { @@ -3127,8 +3026,7 @@ overflow: // 66. SetClusterState func (p *SetClusterState) NEOEncodedLen() int { - var size int - return size + 4 + return 4 } func (p *SetClusterState) NEOEncode(data []byte) { @@ -3151,8 +3049,7 @@ overflow: // 67. ClusterInformation func (p *ClusterInformation) NEOEncodedLen() int { - var size int - return size + 4 + return 4 } func (p *ClusterInformation) NEOEncode(data []byte) { @@ -3175,8 +3072,7 @@ overflow: // 68. X_ClusterState func (p *X_ClusterState) NEOEncodedLen() int { - var size int - return size + 4 + return 4 } func (p *X_ClusterState) NEOEncode(data []byte) { @@ -3199,9 +3095,7 @@ overflow: // 69. ObjectUndoSerial func (p *ObjectUndoSerial) NEOEncodedLen() int { - var size int - size += 4 + len(p.OidList)*8 - return size + 24 + return 28 + len(p.OidList)*8 } func (p *ObjectUndoSerial) NEOEncode(data []byte) { @@ -3262,9 +3156,8 @@ overflow: // 70. AnswerObjectUndoSerial func (p *AnswerObjectUndoSerial) NEOEncodedLen() int { - var size int size += 4 + len(p.ObjectTIDDict)*25 - return size + 0 + return 0 } func (p *AnswerObjectUndoSerial) NEOEncode(data []byte) { @@ -3339,8 +3232,7 @@ overflow: // 71. HasLock func (p *HasLock) NEOEncodedLen() int { - var size int - return size + 16 + return 16 } func (p *HasLock) NEOEncode(data []byte) { @@ -3368,8 +3260,7 @@ overflow: // 72. AnswerHasLock func (p *AnswerHasLock) NEOEncodedLen() int { - var size int - return size + 12 + return 12 } func (p *AnswerHasLock) NEOEncode(data []byte) { @@ -3397,8 +3288,7 @@ overflow: // 73. CheckCurrentSerial func (p *CheckCurrentSerial) NEOEncodedLen() int { - var size int - return size + 24 + return 24 } func (p *CheckCurrentSerial) NEOEncode(data []byte) { @@ -3431,8 +3321,7 @@ overflow: // 74. AnswerCheckCurrentSerial func (p *AnswerCheckCurrentSerial) NEOEncodedLen() int { - var size int - return size + 17 + return 17 } func (p *AnswerCheckCurrentSerial) NEOEncode(data []byte) { @@ -3465,8 +3354,7 @@ overflow: // 75. Pack func (p *Pack) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *Pack) NEOEncode(data []byte) { @@ -3489,8 +3377,7 @@ overflow: // 76. AnswerPack func (p *AnswerPack) NEOEncodedLen() int { - var size int - return size + 1 + return 1 } func (p *AnswerPack) NEOEncode(data []byte) { @@ -3513,9 +3400,8 @@ overflow: // 77. CheckReplicas func (p *CheckReplicas) NEOEncodedLen() int { - var size int size += 4 + len(p.PartitionDict)*8 - return size + 16 + return 16 } func (p *CheckReplicas) NEOEncode(data []byte) { @@ -3580,10 +3466,7 @@ overflow: // 78. CheckPartition func (p *CheckPartition) NEOEncodedLen() int { - var size int - size += 8 + len(p.Source.UpstreamName) - size += 4 + len(p.Source.Address.Host) - return size + 18 + return 30 + len(p.Source.UpstreamName) + len(p.Source.Address.Host) } func (p *CheckPartition) NEOEncode(data []byte) { @@ -3661,8 +3544,7 @@ overflow: // 79. CheckTIDRange func (p *CheckTIDRange) NEOEncodedLen() int { - var size int - return size + 24 + return 24 } func (p *CheckTIDRange) NEOEncode(data []byte) { @@ -3700,8 +3582,7 @@ overflow: // 80. AnswerCheckTIDRange func (p *AnswerCheckTIDRange) NEOEncodedLen() int { - var size int - return size + 32 + return 32 } func (p *AnswerCheckTIDRange) NEOEncode(data []byte) { @@ -3829,8 +3710,7 @@ overflow: // 81. CheckSerialRange func (p *CheckSerialRange) NEOEncodedLen() int { - var size int - return size + 32 + return 32 } func (p *CheckSerialRange) NEOEncode(data []byte) { @@ -3873,8 +3753,7 @@ overflow: // 82. AnswerCheckSerialRange func (p *AnswerCheckSerialRange) NEOEncodedLen() int { - var size int - return size + 60 + return 60 } func (p *AnswerCheckSerialRange) NEOEncode(data []byte) { @@ -4107,9 +3986,7 @@ overflow: // 83. PartitionCorrupted func (p *PartitionCorrupted) NEOEncodedLen() int { - var size int - size += 4 + len(p.CellList)*4 - return size + 4 + return 8 + len(p.CellList)*4 } func (p *PartitionCorrupted) NEOEncode(data []byte) { @@ -4160,8 +4037,7 @@ overflow: // 84. LastTransaction func (p *LastTransaction) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *LastTransaction) NEOEncode(data []byte) { @@ -4179,8 +4055,7 @@ overflow: // 85. AnswerLastTransaction func (p *AnswerLastTransaction) NEOEncodedLen() int { - var size int - return size + 8 + return 8 } func (p *AnswerLastTransaction) NEOEncode(data []byte) { @@ -4203,8 +4078,7 @@ overflow: // 86. NotifyReady func (p *NotifyReady) NEOEncodedLen() int { - var size int - return size + 0 + return 0 } func (p *NotifyReady) NEOEncode(data []byte) { diff --git a/t/neo/protogen.go b/t/neo/protogen.go index c80ceb9ce5477f6aa61a457a890d8f9d17ea191b..28abdb7db4a2ff8811c8fb85b40d8cfb9c502e72 100644 --- a/t/neo/protogen.go +++ b/t/neo/protogen.go @@ -31,13 +31,13 @@ import ( "go/types" "log" "os" + "strings" ) // parsed & typechecked input var fset = token.NewFileSet() var info = &types.Info{ Types: make(map[ast.Expr]types.TypeAndValue), - //Uses: make(map[*ast.Ident]types.Object), XXX seems not needed Defs: make(map[*ast.Ident]types.Object), } @@ -226,12 +226,12 @@ type CodecCodeGen interface { generatedCode() string } -// encode/decode codegen +// sizer/encode/decode codegen type sizer struct { Buffer // XXX n int - symLenv []string // symbolic lengths TODO - sizeVarUsed bool // whether size var was used + symLenv []string // symbolic lengths to add to size + varSizeUsed bool // whether var size was used } type encoder struct { @@ -262,7 +262,7 @@ func (d *decoder) generatedCode() string { func (s *sizer) genPrologue(recvName, typeName string) { s.emit("func (%s *%s) NEOEncodedLen() int {", recvName, typeName) - if s.sizeVarUsed { + if s.varSizeUsed { s.emit("var size int") } } @@ -279,10 +279,10 @@ func (d *decoder) genPrologue(recvName, typeName string) { func (s *sizer) genEpilogue() { size := fmt.Sprintf("%v", s.n) if len(s.symLenv) > 0 { - size += " + " + strings.Join(s.synLenv, " + ") + size += " + " + strings.Join(s.symLenv, " + ") } - if s.sizeVarUsed { - size += " + size") + if s.varSizeUsed { + size += " + size" } s.emit("return %v", size) s.emit("}\n") @@ -376,15 +376,19 @@ func (s *sizer) genSlice(path string, typ *types.Slice, obj types.Object) { // if size(item)==const - size update in one go elemSize, ok := typeSizeFixed(typ.Elem()) if ok { - s.emit("size += 4 + len(%v) * %v", path, elemSize) + s.n += 4 + s.symLenv = append(s.symLenv, fmt.Sprintf("len(%v) * %v", path, elemSize)) return } - s.emit("size += %v + 4", s.n) + s.varSizeUsed = true + s.n += 4 + s.emit("size += %v", s.n) s.n = 0 s.emit("for i := 0; i < len(%v); i++ {", path) s.emit("a := &%s[i]", path) - codegenType("(*a)", typ.Elem(), obj, s) + //codegenType("(*a)", typ.Elem(), obj, s) + codegenType("(*a)", typ.Elem(), obj, &sizer{}) s.emit("size += %v", s.n) s.emit("}") s.n = 0