Exemplo n.º 1
0
    public override void GenerateForField(StructuredStringBuilder sb, TypeGeneration field, string typeStr)
    {
        LoquiType loqui = field as LoquiType;

        sb.AppendLine($"public MaskItem<{typeStr}, {loqui.GenerateMaskString(typeStr)}?>? {field.Name} {{ get; set; }}");
    }
Exemplo n.º 2
0
    public override void GenerateForCtor(StructuredStringBuilder sb, TypeGeneration field, string typeStr, string valueStr)
    {
        LoquiType loqui = field as LoquiType;

        sb.AppendLine($"this.{field.Name} = new MaskItem<{typeStr}, {loqui.GenerateMaskString(typeStr)}?>({valueStr}, {(loqui.TargetObjectGeneration == null ? "null" : $"new {loqui.TargetObjectGeneration.GetMaskString(typeStr)}({valueStr})")});");
    }
Exemplo n.º 3
0
    public override string GetMaskTypeStr(TypeGeneration field, string typeStr)
    {
        LoquiType loqui = field as LoquiType;

        return($"MaskItem<{typeStr}, {loqui.GenerateMaskString(typeStr)}?>?");
    }
Exemplo n.º 4
0
    public override void GenerateForTranslate(StructuredStringBuilder sb, TypeGeneration field, string retAccessor, string rhsAccessor, bool indexed)
    {
        LoquiType loqui = field as LoquiType;

        if (IsUnknownGeneric(loqui))
        {
            sb.AppendLine($"{retAccessor};");
            sb.AppendLine($"throw new {nameof(NotImplementedException)}();");
        }
        else
        {
            sb.AppendLine($"{retAccessor} = {rhsAccessor} == null ? null : new MaskItem{(indexed ? "Indexed" : null)}<R, {loqui.GenerateMaskString("R")}?>({(indexed ? $"{rhsAccessor}.Index, " : null)}eval({rhsAccessor}.Overall), {rhsAccessor}.Specific?.Translate(eval));");
        }
    }