public override string GenerateForTypicalWrapper( ObjectGeneration objGen, TypeGeneration typeGen, Accessor dataAccessor, Accessor packageAccessor) { BoolType b = typeGen as BoolType; if (b.BoolAsMarker == null) { return($"{dataAccessor}[0] == 1"); } else { return("true"); } }
public override async Task GenerateCopyIn( FileGeneration fg, ObjectGeneration objGen, TypeGeneration typeGen, Accessor frameAccessor, Accessor itemAccessor, Accessor errorMaskAccessor, Accessor translationMaskAccessor) { BoolType b = typeGen as BoolType; if (b.BoolAsMarker == null) { await base.GenerateCopyIn(fg, objGen, typeGen, frameAccessor, itemAccessor, errorMaskAccessor, translationMaskAccessor); } else { fg.AppendLine($"{itemAccessor} = true;"); } }
public override void GenerateWrite( FileGeneration fg, ObjectGeneration objGen, TypeGeneration typeGen, Accessor writerAccessor, Accessor itemAccessor, Accessor errorMaskAccessor, Accessor translationMaskAccessor, Accessor converterAccessor) { BoolType b = typeGen as BoolType; if (b.BoolAsMarker == null) { base.GenerateWrite( fg, objGen, typeGen, writerAccessor, itemAccessor, errorMaskAccessor, translationMaskAccessor, converterAccessor); } else { var data = typeGen.GetFieldData(); using (var args = new ArgsWrapper(fg, $"{this.Namespace}BooleanBinaryTranslation.Instance.WriteAsMarker")) { args.Add($"writer: {writerAccessor}"); args.Add($"item: {ItemWriteAccess(typeGen, itemAccessor)}"); if (data.RecordType.HasValue && data.HandleTrigger) { args.Add($"header: recordTypeConverter.ConvertToCustom({objGen.RecordTypeHeaderName(data.RecordType.Value)})"); } } } }
public BooleanBinaryTranslationGeneration() : base(expectedLen: 1) { this.AdditionalCopyInParams.Add((o, t) => { BoolType b = t as BoolType; if (b.ByteLength != 1) { return(TryGet <string> .Succeed($"byteLength: {b.ByteLength}")); } return(TryGet <string> .Failure); }); this.AdditionalWriteParams.Add((o, t) => { BoolType b = t as BoolType; if (b.ByteLength != 1) { return(TryGet <string> .Succeed($"byteLength: {b.ByteLength}")); } return(TryGet <string> .Failure); }); }