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); }
public TypeDenoter VisitMultipleFieldTypeDenoter(MultipleFieldTypeDenoter ast, Void arg) { ast.Type = ast.Type.Visit(this); ast.FieldType.Visit(this); return(ast); }