Skip to content

Commit

Permalink
removed Bool, loadBool, storeBool
Browse files Browse the repository at this point in the history
  • Loading branch information
PolyProgrammist committed Dec 14, 2023
1 parent fb4c0de commit 92e441e
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 97 deletions.
48 changes: 0 additions & 48 deletions generated_block.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,6 @@ export interface True {
readonly kind: 'True';
}

export type Bool = Bool_bool_false | Bool_bool_true;

export interface Bool_bool_false {
readonly kind: 'Bool_bool_false';
}

export interface Bool_bool_true {
readonly kind: 'Bool_bool_true';
}

export interface BoolFalse {
readonly kind: 'BoolFalse';
}
Expand Down Expand Up @@ -2592,44 +2582,6 @@ export function storeTrue(true0: True): (builder: Builder) => void {

}

// bool_false$0 = Bool;

// bool_true$1 = Bool;

export function loadBool(slice: Slice): Bool {
if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) {
slice.loadUint(1);
return {
kind: 'Bool_bool_false',
}

}
if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) {
slice.loadUint(1);
return {
kind: 'Bool_bool_true',
}

}
throw new Error('Expected one of "Bool_bool_false", "Bool_bool_true" in loading "Bool", but data does not satisfy any constructor');
}

export function storeBool(bool: Bool): (builder: Builder) => void {
if ((bool.kind == 'Bool_bool_false')) {
return ((builder: Builder) => {
builder.storeUint(0b0, 1);
})

}
if ((bool.kind == 'Bool_bool_true')) {
return ((builder: Builder) => {
builder.storeUint(0b1, 1);
})

}
throw new Error('Expected one of "Bool_bool_false", "Bool_bool_true" in loading "Bool", but data does not satisfy any constructor');
}

// bool_false$0 = BoolFalse;

export function loadBoolFalse(slice: Slice): BoolFalse {
Expand Down
48 changes: 0 additions & 48 deletions generated_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -478,16 +478,6 @@ export interface RefCombinatorInRef {
readonly msg: RefCombinatorInRefHelper<Slice>;
}

export type Bool = Bool_bool_false | Bool_bool_true;

export interface Bool_bool_false {
readonly kind: 'Bool_bool_false';
}

export interface Bool_bool_true {
readonly kind: 'Bool_bool_true';
}

export interface BoolUser {
readonly kind: 'BoolUser';
readonly a: boolean;
Expand Down Expand Up @@ -2488,44 +2478,6 @@ export function storeRefCombinatorInRef(refCombinatorInRef: RefCombinatorInRef):

}

// bool_false$0 = Bool;

// bool_true$1 = Bool;

export function loadBool(slice: Slice): Bool {
if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b0))) {
slice.loadUint(1);
return {
kind: 'Bool_bool_false',
}

}
if (((slice.remainingBits >= 1) && (slice.preloadUint(1) == 0b1))) {
slice.loadUint(1);
return {
kind: 'Bool_bool_true',
}

}
throw new Error('Expected one of "Bool_bool_false", "Bool_bool_true" in loading "Bool", but data does not satisfy any constructor');
}

export function storeBool(bool: Bool): (builder: Builder) => void {
if ((bool.kind == 'Bool_bool_false')) {
return ((builder: Builder) => {
builder.storeUint(0b0, 1);
})

}
if ((bool.kind == 'Bool_bool_true')) {
return ((builder: Builder) => {
builder.storeUint(0b1, 1);
})

}
throw new Error('Expected one of "Bool_bool_false", "Bool_bool_true" in loading "Bool", but data does not satisfy any constructor');
}

// _ a:Bool = BoolUser;

export function loadBoolUser(slice: Slice): BoolUser {
Expand Down
13 changes: 13 additions & 0 deletions src/codegen/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,18 @@ export function getStringDeclaration(declaration: Declaration, input: string[]):
return result;
}

export function checkAndRemovePrimitives(tlbCode: TLBCode) {
let toDelete: string[] = []
tlbCode.types.forEach((tlbType: TLBType, name: string) => {
if (name == 'Bool') {
toDelete.push('Bool')
}
})
toDelete.forEach((name: string) => {
tlbCode.types.delete(name)
})
}

export function fillConstructors(declarations: Declaration[], tlbCode: TLBCode, input: string[]) {
declarations.forEach(declaration => {
let tlbType: TLBType | undefined = tlbCode.types.get(declaration.combinator.name);
Expand Down Expand Up @@ -502,4 +514,5 @@ export function fillConstructors(declarations: Declaration[], tlbCode: TLBCode,
fixNaming(tlbType);
tlbType.constructors.sort(compareConstructors)
});
checkAndRemovePrimitives(tlbCode);
}
2 changes: 1 addition & 1 deletion tests/tlbgen.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { BitString, Slice, Builder, Cell } from 'ton'

import { TwoConstructors, Simple, loadTwoConstructors, loadSimple, storeTwoConstructors, storeSimple, TypedParam, loadTypedParam, storeTypedParam, TypedField, loadTypedField, storeTypedField, ExprArg, BitLenArg, loadBitLenArg, storeBitLenArg, BitLenArgUser, loadBitLenArgUser, storeBitLenArgUser, ExprArgUser, loadExprArgUser, storeExprArgUser, ComplexTypedField, loadComplexTypedField, storeComplexTypedField, CellTypedField, storeCellTypedField, loadCellTypedField, CellsSimple, loadCellsSimple, storeCellsSimple, IntBitsOutside, loadIntBitsOutside, storeIntBitsOutside, IntBitsParametrizedOutside, loadIntBitsParametrizedOutside, storeIntBitsParametrizedOutside, LessThan, loadLessThan, storeLessThan, Unary, loadUnary, storeUnary, ParamConst, loadParamConst, storeParamConst, ParamDifNames, loadParamDifNames, storeParamDifNames, NegationFromImplicit, loadNegationFromImplicit, storeNegationFromImplicit, loadManyComb, storeManyComb, ManyComb, ParamDifNamesUser, loadParamDifNamesUser, storeParamDifNamesUser, UnaryUserCheckOrder, loadUnaryUserCheckOrder, storeUnaryUserCheckOrder, CombArgCellRef, loadCombArgCellRef, storeCombArgCellRef, CombArgCellRefUser, loadCombArgCellRefUser, storeCombArgCellRefUser, MathExprAsCombArg, loadMathExprAsCombArg, storeMathExprAsCombArg, SharpConstructor, loadSharpConstructor, storeSharpConstructor, EmptyTag, loadEmptyTag, storeEmptyTag, SharpTag, loadSharpTag, storeSharpTag, DollarTag, loadDollarTag, storeDollarTag, TupleCheck, loadTupleCheck, storeTupleCheck, HashmapE, loadHashmapE, storeHashmapE, HashmapEUser, loadHashmapEUser, storeHashmapEUser, ConditionalField, loadConditionalField, storeConditionalField, BitSelection, loadBitSelection, storeBitSelection, ImplicitCondition, loadImplicitCondition, storeImplicitCondition, MultipleEmptyConstructor, loadMultipleEmptyConstructor, storeMultipleEmptyConstructor, True, loadTrue, storeTrue, ParamNamedArgInSecondConstr, loadParamNamedArgInSecondConstr, storeParamNamedArgInSecondConstr, RefCombinatorAny, loadRefCombinatorAny, storeRefCombinatorAny, EqualityExpression, loadEqualityExpression, storeEqualityExpression, ConditionalRef, loadConditionalRef, storeConditionalRef, LoadFromNegationOutsideExpr, loadLoadFromNegationOutsideExpr, storeLoadFromNegationOutsideExpr, AnonymousData, loadAnonymousData, storeAnonymousData, FalseAnonField, loadFalseAnonField, storeFalseAnonField, ConstructorOrder, loadConstructorOrder, storeConstructorOrder, CheckCrc32, loadCheckCrc32, storeCheckCrc32, CheckKeyword, loadCheckKeyword, storeCheckKeyword, RefCombinatorInRef, loadRefCombinatorInRef, storeRefCombinatorInRef, BoolUser, loadBoolUser, storeBoolUser} from '../generated_test'
import { beginCell } from 'ton'
import { loadBit, loadBlock, storeBlock, storeBool } from '../generated_block'
import { loadBit, loadBlock, storeBlock} from '../generated_block'

const fixturesDir = path.resolve(__dirname, 'fixtures')

Expand Down

0 comments on commit 92e441e

Please sign in to comment.