Ejemplo n.º 1
0
        public int VisitMultipleFieldTypeDenoter(MultipleFieldTypeDenoter ast, Frame frame)
        {
            var offset = frame.Size;
            int fieldSize;

            if (ast.Entity == null)
            {
                fieldSize  = ast.Type.Visit(this, null);
                ast.Entity = new Field(fieldSize, offset);
                Encoder.WriteTableDetails(ast);
            }
            else
            {
                fieldSize = ast.Entity.Size;
            }

            int offset1 = offset + fieldSize;
            int recSize = ast.FieldType.Visit(this, Frame.Initial.Push(offset1));

            return(fieldSize + recSize);
        }
Ejemplo n.º 2
0
 public TypeDenoter VisitMultipleFieldTypeDenoter(MultipleFieldTypeDenoter ast, Void arg)
 {
     ast.Type = ast.Type.Visit(this);
     ast.FieldType.Visit(this);
     return(ast);
 }