diff --git a/internal/tlcodegen/qt_struct.qtpl b/internal/tlcodegen/qt_struct.qtpl index 03f22e6d..f71cf055 100644 --- a/internal/tlcodegen/qt_struct.qtpl +++ b/internal/tlcodegen/qt_struct.qtpl @@ -842,7 +842,7 @@ func (item *{%s= goName %}) ReadResultJSONWriteResult(r []byte, w []byte) ([]byt } -%} // Set field{%s= maybeS %} {%s= mergedFieldsForComment %} in "{%s= affectedType.wr.tlName.String() %}" by changing fieldMask "{%s= field.originalName %}" -func (item *{%s= goName %}) SetInReturn{%s= mergedFields %}For{%s= affectedType.wr.goGlobalName %}(value bool) { +func (item *{%s= goName %}) Set{%s= affectedType.wr.goGlobalName %}{%s= mergedFields %}(value bool) { if value { item.{%s= field.goName %} |= 1 << {%d= int(bit) %} } else { @@ -914,6 +914,8 @@ if mask{%s= field.goName %} & (1<<{%v= index %}) != 0 { {%- elseif (fieldProps & FieldUsedAsSize) != 0 -%} {%s= field.t.TypeRandomCode(bytesVersion, directImports, struct_.wr.ins, "item."+field.goName, formatNatArgs(struct_.Fields, field.natArgs), field.recursive) %} item.{%s= field.goName %} = rg.LimitValue(item.{%s= field.goName %}) + {%- elseif fieldProps == FieldIsNat -%} +{%s= field.t.TypeRandomCode(bytesVersion, directImports, struct_.wr.ins, "item."+field.goName, formatNatArgs(struct_.Fields, field.natArgs), field.recursive) %} {%- endif -%} {%- else -%} {%s= field.t.TypeRandomCode(bytesVersion, directImports, struct_.wr.ins, "item."+field.goName, formatNatArgs(struct_.Fields, field.natArgs), field.recursive) %} diff --git a/internal/tlcodegen/qt_struct.qtpl.go b/internal/tlcodegen/qt_struct.qtpl.go index fa42a50e..bc79add8 100644 --- a/internal/tlcodegen/qt_struct.qtpl.go +++ b/internal/tlcodegen/qt_struct.qtpl.go @@ -1724,10 +1724,9 @@ func (item *`) qw422016.N().S(`" func (item *`) qw422016.N().S(goName) - qw422016.N().S(`) SetInReturn`) - qw422016.N().S(mergedFields) - qw422016.N().S(`For`) + qw422016.N().S(`) Set`) qw422016.N().S(affectedType.wr.goGlobalName) + qw422016.N().S(mergedFields) qw422016.N().S(`(value bool) { if value { item.`) @@ -1897,6 +1896,10 @@ item.`) qw422016.N().S(` = rg.LimitValue(item.`) qw422016.N().S(field.goName) qw422016.N().S(`) +`) + } else if fieldProps == FieldIsNat { + qw422016.N().S(field.t.TypeRandomCode(bytesVersion, directImports, struct_.wr.ins, "item."+field.goName, formatNatArgs(struct_.Fields, field.natArgs), field.recursive)) + qw422016.N().S(` `) } } else { diff --git a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestAllPossibleFieldConfigsContainer/cases.testAllPossibleFieldConfigsContainer.go b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestAllPossibleFieldConfigsContainer/cases.testAllPossibleFieldConfigsContainer.go index 6de638bd..8f228529 100644 --- a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestAllPossibleFieldConfigsContainer/cases.testAllPossibleFieldConfigsContainer.go +++ b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestAllPossibleFieldConfigsContainer/cases.testAllPossibleFieldConfigsContainer.go @@ -34,6 +34,7 @@ func (item *CasesTestAllPossibleFieldConfigsContainer) Reset() { func (item *CasesTestAllPossibleFieldConfigsContainer) FillRandom(rg *basictl.RandGenerator) { var maskOuter uint32 maskOuter = basictl.RandomUint(rg) + maskOuter = rg.LimitValue(maskOuter) item.Outer = 0 if maskOuter&(1<<0) != 0 { item.Outer |= (1 << 0) diff --git a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestInplaceStructArgs/cases.testInplaceStructArgs.go b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestInplaceStructArgs/cases.testInplaceStructArgs.go index 5d4c7454..07b1e49d 100644 --- a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestInplaceStructArgs/cases.testInplaceStructArgs.go +++ b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestInplaceStructArgs/cases.testInplaceStructArgs.go @@ -34,6 +34,11 @@ func (item *CasesTestInplaceStructArgs) Reset() { } func (item *CasesTestInplaceStructArgs) FillRandom(rg *basictl.RandGenerator) { + item.A1 = basictl.RandomUint(rg) + item.A1 = rg.LimitValue(item.A1) + item.A2 = basictl.RandomUint(rg) + item.A2 = rg.LimitValue(item.A2) + item.A3 = basictl.RandomUint(rg) item.Arg.FillRandom(rg, item.A1, item.A2, item.A3) } diff --git a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestInplaceStructArgs2/cases.testInplaceStructArgs2.go b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestInplaceStructArgs2/cases.testInplaceStructArgs2.go index e66ec04d..be075583 100644 --- a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestInplaceStructArgs2/cases.testInplaceStructArgs2.go +++ b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestInplaceStructArgs2/cases.testInplaceStructArgs2.go @@ -34,6 +34,12 @@ func (item *CasesTestInplaceStructArgs2) Reset() { } func (item *CasesTestInplaceStructArgs2) FillRandom(rg *basictl.RandGenerator) { + item.A1 = basictl.RandomUint(rg) + item.A1 = rg.LimitValue(item.A1) + item.A2 = basictl.RandomUint(rg) + item.A2 = rg.LimitValue(item.A2) + item.A3 = basictl.RandomUint(rg) + item.A3 = rg.LimitValue(item.A3) item.Arg.FillRandom(rg, item.A1, item.A2, item.A3, item.A3, item.A2) } diff --git a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestOutFieldMask/cases.testOutFieldMask.go b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestOutFieldMask/cases.testOutFieldMask.go index 20f67603..b0c9f8cc 100644 --- a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestOutFieldMask/cases.testOutFieldMask.go +++ b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestOutFieldMask/cases.testOutFieldMask.go @@ -57,6 +57,7 @@ func (item *CasesTestOutFieldMask) Reset() { func (item *CasesTestOutFieldMask) FillRandom(rg *basictl.RandGenerator, nat_f uint32) { if nat_f&(1<<0) != 0 { + item.F1 = basictl.RandomUint(rg) } else { item.F1 = 0 } diff --git a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestOutFieldMaskContainer/cases.testOutFieldMaskContainer.go b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestOutFieldMaskContainer/cases.testOutFieldMaskContainer.go index f6f272ba..59da07c9 100644 --- a/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestOutFieldMaskContainer/cases.testOutFieldMaskContainer.go +++ b/internal/tlcodegen/test/gen/cases/internal/tlcases/tlCasesTestOutFieldMaskContainer/cases.testOutFieldMaskContainer.go @@ -32,6 +32,7 @@ func (item *CasesTestOutFieldMaskContainer) Reset() { func (item *CasesTestOutFieldMaskContainer) FillRandom(rg *basictl.RandGenerator) { var maskF uint32 maskF = basictl.RandomUint(rg) + maskF = rg.LimitValue(maskF) item.F = 0 if maskF&(1<<0) != 0 { item.F |= (1 << 0) diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/cycle_e10cb78db8a2766007111b86ce9e11d9/cyc2.myCycle.go b/internal/tlcodegen/test/gen/goldmaster/internal/cycle_e10cb78db8a2766007111b86ce9e11d9/cyc2.myCycle.go index 9e6ed3cb..2197bba6 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/cycle_e10cb78db8a2766007111b86ce9e11d9/cyc2.myCycle.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/cycle_e10cb78db8a2766007111b86ce9e11d9/cyc2.myCycle.go @@ -32,6 +32,7 @@ func (item *Cyc2MyCycle) Reset() { } func (item *Cyc2MyCycle) FillRandom(rg *basictl.RandGenerator) { + item.FieldsMask = basictl.RandomUint(rg) item.A.FillRandom(rg) item.B.FillRandom(rg) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/cycle_e10cb78db8a2766007111b86ce9e11d9/cyc3.myCycle.go b/internal/tlcodegen/test/gen/goldmaster/internal/cycle_e10cb78db8a2766007111b86ce9e11d9/cyc3.myCycle.go index f848d7d8..cc00093d 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/cycle_e10cb78db8a2766007111b86ce9e11d9/cyc3.myCycle.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/cycle_e10cb78db8a2766007111b86ce9e11d9/cyc3.myCycle.go @@ -29,6 +29,7 @@ func (item *Cyc3MyCycle) Reset() { } func (item *Cyc3MyCycle) FillRandom(rg *basictl.RandGenerator) { + item.FieldsMask = basictl.RandomUint(rg) BuiltinVectorCyc1MyCycleFillRandom(rg, &item.A) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlMaybeTest1/maybeTest1.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlMaybeTest1/maybeTest1.go index c0cb79e0..62c6b7dd 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlMaybeTest1/maybeTest1.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlMaybeTest1/maybeTest1.go @@ -57,6 +57,8 @@ func (item *MaybeTest1) Reset() { } func (item *MaybeTest1) FillRandom(rg *basictl.RandGenerator) { + item.N = basictl.RandomUint(rg) + item.N = rg.LimitValue(item.N) item.A.FillRandom(rg) item.B.FillRandom(rg) item.C.FillRandom(rg) diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace11Long/replace11.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace11Long/replace11.go index 94f85c23..215ad88a 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace11Long/replace11.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace11Long/replace11.go @@ -31,13 +31,8 @@ func (item *Replace11Long) Reset() { } func (item *Replace11Long) FillRandom(rg *basictl.RandGenerator, nat_n uint32) { - var maskK uint32 - maskK = basictl.RandomUint(rg) - maskK = rg.LimitValue(maskK) - item.K = 0 - if maskK&(1<<0) != 0 { - item.K |= (1 << 0) - } + item.K = basictl.RandomUint(rg) + item.K = rg.LimitValue(item.K) tlBuiltinTupleReplace11ElemLong.BuiltinTupleReplace11ElemLongFillRandom(rg, &item.A, item.K, nat_n, item.K) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace12/replace12.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace12/replace12.go index afbbbb52..414226a1 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace12/replace12.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace12/replace12.go @@ -31,8 +31,13 @@ func (item *Replace12) Reset() { } func (item *Replace12) FillRandom(rg *basictl.RandGenerator) { - item.N = basictl.RandomUint(rg) - item.N = rg.LimitValue(item.N) + var maskN uint32 + maskN = basictl.RandomUint(rg) + maskN = rg.LimitValue(maskN) + item.N = 0 + if maskN&(1<<0) != 0 { + item.N |= (1 << 0) + } tlBuiltinTupleTuple3Replace12Elem.BuiltinTupleTuple3Replace12ElemFillRandom(rg, &item.A, item.N, item.N) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace14Long/replace14.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace14Long/replace14.go index a41889ff..827a7329 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace14Long/replace14.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlReplace14Long/replace14.go @@ -31,13 +31,8 @@ func (item *Replace14Long) Reset() { } func (item *Replace14Long) FillRandom(rg *basictl.RandGenerator, nat_n uint32) { - var maskK uint32 - maskK = basictl.RandomUint(rg) - maskK = rg.LimitValue(maskK) - item.K = 0 - if maskK&(1<<0) != 0 { - item.K |= (1 << 0) - } + item.K = basictl.RandomUint(rg) + item.K = rg.LimitValue(item.K) tlBuiltinTupleReplace14ElemLong.BuiltinTupleReplace14ElemLongFillRandom(rg, &item.A, item.K, nat_n, item.K) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlTestMaybe2/testMaybe2.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlTestMaybe2/testMaybe2.go index d1fa5331..30150312 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlTestMaybe2/testMaybe2.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlTestMaybe2/testMaybe2.go @@ -33,6 +33,7 @@ func (item *TestMaybe2) Reset() { } func (item *TestMaybe2) FillRandom(rg *basictl.RandGenerator) { + item.N = basictl.RandomUint(rg) item.A.FillRandom(rg) item.G.FillRandom(rg) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUnionArgsUse/unionArgsUse.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUnionArgsUse/unionArgsUse.go index f9035759..3c31c9e0 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUnionArgsUse/unionArgsUse.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUnionArgsUse/unionArgsUse.go @@ -35,6 +35,10 @@ func (item *UnionArgsUse) Reset() { } func (item *UnionArgsUse) FillRandom(rg *basictl.RandGenerator) { + item.K = basictl.RandomUint(rg) + item.K = rg.LimitValue(item.K) + item.N = basictl.RandomUint(rg) + item.N = rg.LimitValue(item.N) item.A.FillRandom(rg, item.K) item.B.FillRandom(rg, item.N) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUseDictUgly/useDictUgly.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUseDictUgly/useDictUgly.go index ee67b345..4ff5fc3b 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUseDictUgly/useDictUgly.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUseDictUgly/useDictUgly.go @@ -64,8 +64,16 @@ func (item *UseDictUgly) Reset() { } func (item *UseDictUgly) FillRandom(rg *basictl.RandGenerator) { - item.N = basictl.RandomUint(rg) - item.N = rg.LimitValue(item.N) + var maskN uint32 + maskN = basictl.RandomUint(rg) + maskN = rg.LimitValue(maskN) + item.N = 0 + if maskN&(1<<0) != 0 { + item.N |= (1 << 0) + } + if maskN&(1<<1) != 0 { + item.N |= (1 << 1) + } tlBuiltinVectorDictionaryElemUglyIntString.BuiltinVectorDictionaryElemUglyIntStringFillRandom(rg, &item.A, item.N) tlBuiltinVectorDictionaryElemStrangeString.BuiltinVectorDictionaryElemStrangeStringFillRandom(rg, &item.B) tlBuiltinVectorDictionaryElemPairIntIntInt.BuiltinVectorDictionaryElemPairIntIntIntFillRandom(rg, &item.C) diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlATop2/a.top2.go b/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlATop2/a.top2.go index 8e4e8b71..18b3507b 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlATop2/a.top2.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlATop2/a.top2.go @@ -32,6 +32,10 @@ func (item *ATop2) Reset() { } func (item *ATop2) FillRandom(rg *basictl.RandGenerator) { + item.N = basictl.RandomUint(rg) + item.N = rg.LimitValue(item.N) + item.M = basictl.RandomUint(rg) + item.M = rg.LimitValue(item.M) item.C.FillRandom(rg, item.M, item.N, item.N) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbTestMaybe/ab.testMaybe.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbTestMaybe/ab.testMaybe.go index e907d0d6..96920dc2 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbTestMaybe/ab.testMaybe.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbTestMaybe/ab.testMaybe.go @@ -39,6 +39,7 @@ func (item *AbTestMaybe) Reset() { } func (item *AbTestMaybe) FillRandom(rg *basictl.RandGenerator) { + item.N = basictl.RandomUint(rg) item.A.FillRandom(rg) item.B.FillRandom(rg) item.C.FillRandom(rg) diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbUseDictString/ab.useDictString.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbUseDictString/ab.useDictString.go index d2cc3fc7..298fa09c 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbUseDictString/ab.useDictString.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbUseDictString/ab.useDictString.go @@ -31,6 +31,7 @@ func (item *AbUseDictString) Reset() { } func (item *AbUseDictString) FillRandom(rg *basictl.RandGenerator) { + item.FieldsMask = basictl.RandomUint(rg) tlBuiltinVectorDictionaryFieldString.BuiltinVectorDictionaryFieldStringFillRandom(rg, &item.Tags) } @@ -173,6 +174,7 @@ func (item *AbUseDictStringBytes) Reset() { } func (item *AbUseDictStringBytes) FillRandom(rg *basictl.RandGenerator) { + item.FieldsMask = basictl.RandomUint(rg) tlBuiltinVectorDictionaryFieldString.BuiltinVectorDictionaryFieldStringBytesFillRandom(rg, &item.Tags) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/a.top2.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/a.top2.go index f9a50104..eb3314b7 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/a.top2.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/a.top2.go @@ -29,6 +29,10 @@ func (item *ATop2) Reset() { } func (item *ATop2) FillRandom(rg *basictl.RandGenerator) { + item.N = basictl.RandomUint(rg) + item.N = rg.LimitValue(item.N) + item.M = basictl.RandomUint(rg) + item.M = rg.LimitValue(item.M) item.C.FillRandom(rg, item.M, item.N, item.N) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.testMaybe.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.testMaybe.go index 2ffda737..860965b5 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.testMaybe.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.testMaybe.go @@ -33,6 +33,7 @@ func (item *AbTestMaybe) Reset() { } func (item *AbTestMaybe) FillRandom(rg *basictl.RandGenerator) { + item.N = basictl.RandomUint(rg) item.A.FillRandom(rg) item.B.FillRandom(rg) item.C.FillRandom(rg) diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.useDictString.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.useDictString.go index baf683c2..4da3b915 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.useDictString.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.useDictString.go @@ -27,6 +27,7 @@ func (item *AbUseDictString) Reset() { } func (item *AbUseDictString) FillRandom(rg *basictl.RandGenerator) { + item.FieldsMask = basictl.RandomUint(rg) BuiltinVectorDictionaryFieldStringFillRandom(rg, &item.Tags) } @@ -169,6 +170,7 @@ func (item *AbUseDictStringBytes) Reset() { } func (item *AbUseDictStringBytes) FillRandom(rg *basictl.RandGenerator) { + item.FieldsMask = basictl.RandomUint(rg) BuiltinVectorDictionaryFieldStringBytesFillRandom(rg, &item.Tags) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/cyc2.myCycle.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/cyc2.myCycle.go index 8737a292..d90632d3 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/cyc2.myCycle.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/cyc2.myCycle.go @@ -29,6 +29,7 @@ func (item *Cyc2MyCycle) Reset() { } func (item *Cyc2MyCycle) FillRandom(rg *basictl.RandGenerator) { + item.FieldsMask = basictl.RandomUint(rg) item.A.FillRandom(rg) item.B.FillRandom(rg) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/cyc3.myCycle.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/cyc3.myCycle.go index ca8b4bf1..e2257345 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/cyc3.myCycle.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/cyc3.myCycle.go @@ -27,6 +27,7 @@ func (item *Cyc3MyCycle) Reset() { } func (item *Cyc3MyCycle) FillRandom(rg *basictl.RandGenerator) { + item.FieldsMask = basictl.RandomUint(rg) BuiltinVectorCyc1MyCycleFillRandom(rg, &item.A) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/maybeTest1.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/maybeTest1.go index cddc9552..88148b5a 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/maybeTest1.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/maybeTest1.go @@ -45,6 +45,8 @@ func (item *MaybeTest1) Reset() { } func (item *MaybeTest1) FillRandom(rg *basictl.RandGenerator) { + item.N = basictl.RandomUint(rg) + item.N = rg.LimitValue(item.N) item.A.FillRandom(rg) item.B.FillRandom(rg) item.C.FillRandom(rg) diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace11.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace11.go index 79302dec..0c777352 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace11.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace11.go @@ -27,13 +27,8 @@ func (item *Replace11Long) Reset() { } func (item *Replace11Long) FillRandom(rg *basictl.RandGenerator, nat_n uint32) { - var maskK uint32 - maskK = basictl.RandomUint(rg) - maskK = rg.LimitValue(maskK) - item.K = 0 - if maskK&(1<<0) != 0 { - item.K |= (1 << 0) - } + item.K = basictl.RandomUint(rg) + item.K = rg.LimitValue(item.K) BuiltinTupleReplace11ElemLongFillRandom(rg, &item.A, item.K, nat_n, item.K) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace12.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace12.go index e87ddaa3..366e058c 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace12.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace12.go @@ -27,8 +27,13 @@ func (item *Replace12) Reset() { } func (item *Replace12) FillRandom(rg *basictl.RandGenerator) { - item.N = basictl.RandomUint(rg) - item.N = rg.LimitValue(item.N) + var maskN uint32 + maskN = basictl.RandomUint(rg) + maskN = rg.LimitValue(maskN) + item.N = 0 + if maskN&(1<<0) != 0 { + item.N |= (1 << 0) + } BuiltinTupleTuple3Replace12ElemFillRandom(rg, &item.A, item.N, item.N) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace14.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace14.go index 5a742a70..66a8a802 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace14.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/replace14.go @@ -27,13 +27,8 @@ func (item *Replace14Long) Reset() { } func (item *Replace14Long) FillRandom(rg *basictl.RandGenerator, nat_n uint32) { - var maskK uint32 - maskK = basictl.RandomUint(rg) - maskK = rg.LimitValue(maskK) - item.K = 0 - if maskK&(1<<0) != 0 { - item.K |= (1 << 0) - } + item.K = basictl.RandomUint(rg) + item.K = rg.LimitValue(item.K) BuiltinTupleReplace14ElemLongFillRandom(rg, &item.A, item.K, nat_n, item.K) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/testMaybe2.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/testMaybe2.go index 657aa456..3d9d397f 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/testMaybe2.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/testMaybe2.go @@ -29,6 +29,7 @@ func (item *TestMaybe2) Reset() { } func (item *TestMaybe2) FillRandom(rg *basictl.RandGenerator) { + item.N = basictl.RandomUint(rg) item.A.FillRandom(rg) item.G.FillRandom(rg) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/unionArgsUse.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/unionArgsUse.go index c5a91c35..e850b8d2 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/unionArgsUse.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/unionArgsUse.go @@ -31,6 +31,10 @@ func (item *UnionArgsUse) Reset() { } func (item *UnionArgsUse) FillRandom(rg *basictl.RandGenerator) { + item.K = basictl.RandomUint(rg) + item.K = rg.LimitValue(item.K) + item.N = basictl.RandomUint(rg) + item.N = rg.LimitValue(item.N) item.A.FillRandom(rg, item.K) item.B.FillRandom(rg, item.N) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/useDictUgly.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/useDictUgly.go index 6fd108b0..f537fc6e 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/useDictUgly.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/useDictUgly.go @@ -45,8 +45,16 @@ func (item *UseDictUgly) Reset() { } func (item *UseDictUgly) FillRandom(rg *basictl.RandGenerator) { - item.N = basictl.RandomUint(rg) - item.N = rg.LimitValue(item.N) + var maskN uint32 + maskN = basictl.RandomUint(rg) + maskN = rg.LimitValue(maskN) + item.N = 0 + if maskN&(1<<0) != 0 { + item.N |= (1 << 0) + } + if maskN&(1<<1) != 0 { + item.N |= (1 << 1) + } BuiltinVectorDictionaryElemUglyIntStringFillRandom(rg, &item.A, item.N) BuiltinVectorDictionaryElemStrangeStringFillRandom(rg, &item.B) BuiltinVectorDictionaryElemPairIntIntIntFillRandom(rg, &item.C) diff --git a/internal/tlcodegen/type_rw_struct.go b/internal/tlcodegen/type_rw_struct.go index 5eb9cfd6..032f4771 100644 --- a/internal/tlcodegen/type_rw_struct.go +++ b/internal/tlcodegen/type_rw_struct.go @@ -393,8 +393,8 @@ func visit( (*visitResults)[key] = VisitSuccess } natIndexes := make([]int, 0) - for i, natParam := range f.t.NatParams { - if natParam == natParamName { + for i, natParam := range f.natArgs { + if natParam.name == natParamName { natIndexes = append(natIndexes, i) } } @@ -430,8 +430,8 @@ func visit( } else { elementType := i.element.t natIndexes := make([]int, 0) - for i, natParam := range elementType.NatParams { - if natParam == natParamName { + for i, natParam := range i.element.natArgs { + if !natParam.isArith && natParam.name == natParamName { natIndexes = append(natIndexes, i) } }